2016 ソフトウェア設計及び演習用の班Wiki
gr07::ヘッダーファイル
main.h
#ifndef MAIN_H
#define MAIN_H
#include"DxLib.h"
#include<iostream>
#include<string>
#include<sstream>
#include<cmath>
#include"Class.h"
static int stateKey[256];
static int KeyCheck(){
char GetHitKeyState_all[256];
GetHitKeyStateAll(GetHitKeyState_all);
for(int i=0;i<256;i++){
if(GetHitKeyState_all[i]==1)stateKey[i]++;
else
stateKey[i]=0;
}
return 0;
}
static int Key(unsigned char Handle){
return stateKey[Handle];
}
#endif
Class.h
#ifndef CLASS_H
#define CLASS_H
#define G 9.806/200
#define BS 50 //ブロックサイズ
#define GS 50 //ガンちゃんサイズ
#define ES 50 // 敵サイズ
#define Bulletsize 10 //弾幕サイズ
#define MS 4 //最大速度
#define Acce 0.3 //加速度
#define Field_block 10 //フィールド作成の最小単位
#define bullet_speed 3 //敵の攻撃速度
#define enemy_number_e 13
#define enemy_number_h 91
class Field{
public:
int fx, fy; // フィールドのx,y座標
char f_data_e[48][358]; // フィールドのデータ easy
char f_data_h[48][358]; // フィールドのデータ hard
bool change; // フィールド切り替えフラグ
};
class Sound{
public:
void bgm_s(int soundhandle);
void se_s(int soundhandle);
int bgm[5]; // 0:title 1:main 2:success 3: fault
int se[10];
void Soundload(bool jadge); // true:bgm false:se
void Soundload();
//
};
class Chara{
public:
double cx, cy; // がんちゃんの座標
double dx, dy; // がんちゃんの速度
double fieldx; // ガンちゃんのフィールド座標
double screenx; // ガンちゃんのスクリーン座標
int tanix[10], taniy[10]; // 単位のあたり判定 メインからコピー
//init()で初期化する変数
//*******************************************************************
int block_cnt; // ブロックの表示数
int block_timer[3]; // ブロックの表示時間 180>timeで消滅
bool endtimeflag[3]; // ブロックの消滅フラグ
int block_x[3], block_y[3];
short pass; // がんちゃんの方向 0:right 1:left
int calc_t; // 落下時間
double dx_t; // x方向速度の絶対値
double dy_t;
int M_cnt; // 機械攻撃の攻撃回数
int M_time[3]; // 機械攻撃の移動用時間変数
bool matkflag[3]; // 機械攻撃の攻撃フラグ
int Mx[3]; // 機械攻撃の座標x
//int My[3]; // 機械攻撃の座標y
int M_inix[3]; // 機械攻撃の初期座標x
int M_iniy[3]; // 機械攻撃の初期座標y
short local_pass[3]; //
int E_time; // 電撃攻撃の攻撃用時間変数
int E_cool_time; // 電撃攻撃のクールタイム
bool eatkflag; // 電撃攻撃の攻撃フラグ
//*******************************************************************
int state; // がんちゃんの形態
int time; // 経過した時間
int blocknum; // ブロックの配置数
int block(); // ブロック制御関数
int calc(char field[48][358]); // 移動制御
int e_h_mode; // easy hard の敵の数
void Eatk(); // 電気攻撃処理の計算
void Matk(); // 機械攻撃処理の計算
void init(); // 初期化関数
Chara(); // コンストラクタ
~Chara(){}; // デストラクタ
};
class Graph_Handle{ //画像表示用ハンドル用
public:
int sample;
int map_e; // easy mode map
int map_h; // hard mode map
int csv_e; // easy mode csv
int csv_h; // hard mode csv
int g_graph[20]; // ganchan graphic
int e_graph[4]; // enemy graphic
int u_graph[8]; // unit graphic
int thunder; // thunder effect
int gear; // gear graphic
int block; // block graphic
Graph_Handle();
~Graph_Handle();
};
class Enemy{
public:
int ex, ey; // 敵の座標
double screenx, screeny; // 敵のスクリーン座標
double bulletx[3], bullety[3]; // 敵の攻撃の座標
int state; // 敵の状態 0:未出現 1:出現 2:倒された
int score; // 敵の持つスコア
bool atkflag; // 敵の攻撃フラグ 初期化用
bool atkcalcflag[3]; // 敵の攻撃フラグ 計算用
int life; // 敵のライフ
int g_timer; //画像切り替え用タイマー
int place; // 敵の位置 0:空中 1:地上
double atkx[3], atky[3]; // 敵の攻撃時の座標
int time; // 攻撃制御用タイマー
void atk(Graph_Handle*g_load,Chara *chara); // 敵状態の攻撃
void hit(Chara *chara); // 敵の当たり判定
int chara_hit(Chara *chara); // あたり判定
void clear(); // クリア関数
Enemy();
};
class Gmain : public Field{ public:
int loop(); // loop関数
virtual void ini(); // 初期化関数
virtual void title(); // タイトル関数
virtual void main(Graph_Handle *g_load, Chara *chara, Enemy *enemy); // メイン関数
virtual void result(); // 結果表示関数
int state; // 現在の関数情報を格納
int tani; // 取得単位数
int score; // 現ゲームのスコア
int clearflag; // クリアflag 0:default 1:false 2:clear
int timer; // ゲーム時間
int tanix_e[10];
int taniy_e[10]; // 単位の座標 イージーモード
int tanix_h[10];
int taniy_h[10]; // 単位の座標 ハードモード
int taniflag[10]; // 単位のフラグ
int loadcnt; // loadの読み込み回数
int e_h_mode; // easy hard modeの切り替え
double fieldx, fieldy; // フィールド上でのがんちゃんの絶対座標
Sound music;
int menu_state; //メニューの状態
int score_easy; //easyモードのスコア
int score_hard; //hardモードのスコア
int highscore_easy; //easyモードのハイスコア
int highscore_hard; //hardモードのハイスコア
int game_level;
bool mode; // windowモード切替
int record; //進級or留年の判別
int new_record; //result画面にハイスコアの表示
bool startflag; bool endflag;
void graph(Graph_Handle *g_load); // 画像表示関数
void load(Graph_Handle *g_load,Enemy *enemy_e,Enemy *enemy_h); // 画像読み込み関数
Gmain(); // コンストラクタ ~Gmain(){}; // デストラクタ };
class Connect{ void server() {}; void cliant() {};
Connect() {}; ~Connect() {}; };
#endif
最終更新日:2016/07/29 14:01:35