2016 ソフトウェア設計及び演習用の班Wiki

16::gr12::片岡深雪

弾のプロトタイプ

#pragma once
#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixbuf.h> 
// #include "enemy.h"

#define BULLET_MAX 100 //弾の最大数

//弾
typedef struct {
   //弾が発射されたかどうかのフラグ 0:オフ 1:オン
  int flag;  
  //x座標
  double x; 
  //y座標
  double y; 
  //発射された弾が自機のものか敵のものか判別するためのフラグ 0:敵 1:自機
  int player_or_enemy; 
  //x方向ベクトル
  int dx; 
  //y方向ベクトル
  int dy; 
  //弾が進む回数
  int reach;
  //弾の当たり判定
  double collision;
  //弾の配列の長さ --> Bullet[0].len のみを操作
  int len;
  //弾の消滅までの時間
  clock_t extinct_time;
  //弾の画像
  GdkPixbuf *image;

  int homing_flag; // ホーミング弾(仮)を判別するためのフラグ 1 or 0

} bullet;

//主人公の弾の生成 bullet.cで宣言される弾配列を操作
void bullet_new_player(void); 
//敵の弾の生成 メイン関数で宣言される弾配列を操作,敵番号と弾の方向を受け取る
void bullet_new_enemy(int num, int direction,
		      double enemy_x, double enemy_y); 
//弾の消滅   消す弾の配列番号
void bullet_extinct(int num); 
//弾の移動
void bullet_move(void); 
//弾の描画
void bullet_draw(cairo_t *cr);

void bullet_hit(double x,double y,double width,double height);


//bulletの値を返す関数
double bullet_x(int num);
double bullet_y(int num);
int bullet_len();
int bullet_e_or_p(int num);
double bullet_width(int num);
double bullet_height(int num);
int bullet_flag(int num);


最終更新日:2016/07/29 13:53:18