Advertisement
Guest User

Untitled

a guest
Jan 17th, 2020
626
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.69 KB | None | 0 0
  1. #include "DxLib.h"
  2.  
  3. #ifndef DEF_PLAYERHENNSUU_H //二重include防止
  4.  
  5. #define DEF_PLAYERHENNSUU_H
  6.  
  7. int gpUpdatePad()
  8. {
  9.     int padStat = GetJoypadInputState(DX_INPUT_KEY_PAD1);    //入力状態を padStat に格納
  10.     for (int i = 0; i < 28; i++) {                            //ボタン28個分ループ
  11.         if (padStat & (1 << i)) {                            //ボタンiの入力フラグが立っていたら
  12.             Pad[i]++;                                        //加算
  13.         }
  14.         else {                                            //入力がなければ
  15.             Pad[i] = 0;                                        //0 にする
  16.         }
  17.     }
  18.  
  19.     return 0;
  20. }
  21.  
  22. int PrevPadState = 0;  //適切な初期値は0かなきっと
  23. int CurrPadState = 0;  //適切な初期値は0かなきっと
  24. void UpdatePadState()
  25. {
  26.     //「前回」情報を更新
  27.     PrevPadState = CurrPadState;
  28.     //「今回」情報を更新
  29.     CurrPadState = GetJoypadInputState(DX_INPUT_KEY_PAD1);  //引数はこれで良いのかな?
  30. }
  31.  
  32. int stage[4][7][2];  // 盤上のマスの格子点の座標
  33. int pos[3][6][2];    // キャラ描画座標
  34. int i = 0;
  35. int j = 0;
  36. void init_stage()  // stage と pos を初期化する
  37. {
  38.     for (j = 0; j < 7; j++) {
  39.         int w = (j - 3) * 260, h = 680;//ステージの位置を変える、高さは大きさを変える
  40.         for (i = 4; --i >= 0; ) {
  41.             stage[i][j][0] = w + 880, stage[i][j][1] = h - 160;//ステージの大きさを変える、高さは位置を変える
  42.             w = w * 9 / 10, h = h * 9 / 10;
  43.         }
  44.     }
  45.     //ステージ上の中心の座標を表している。
  46.     for (int i = 0; i < 3; i++)
  47.         for (int j = 0; j < 6; j++) {
  48.             pos[i][j][0] = (stage[i][j][0] + stage[i + 1][j + 1][0]) / 2 - 25;
  49.             pos[i][j][1] = (stage[i][j][1] + stage[i + 1][j + 1][1]) / 2 - 65;
  50.         }
  51. }
  52.  
  53. int White;
  54. int function_status;//戦闘画面中は1とするための変数function_statusの定義
  55.  
  56. int lockmark = 0;
  57. int imagemove = 0;
  58.  
  59. int keyrock = 0;
  60. int talkrock = 0;
  61. int startmark = 0;
  62.  
  63. int moveA = 0;
  64. int playerImageA = 0;
  65. int imagecount = 0;
  66.  
  67. int ScreenMode = 0;
  68. //int talk = 0;
  69. int add = 0;
  70. int NowTime = 0;
  71. int ChangeTime = 0;
  72.  
  73. //init_stage(); // stage, pos の初期化
  74. int enemyX = 4, enemyY = 1;   // 敵の位置
  75. int playerX = 1, playerY = 1;  // 俺の位置
  76.  
  77. int enemyMove = 0;   // 敵の移動状態
  78.   // 俺の移動状態//1~21で右に振り向きのプログラム①が終わり、22になったら足踏みする②を実行するようにする。
  79. int playerMove = 1;
  80.  
  81. int lockonMove = 0;
  82. int lockonHandle[3];
  83.  
  84. //function_status = 1;//最初は1にして戦闘画面状態にする。
  85.  
  86.  
  87. int lock = 0;  // ロック状態
  88.  
  89. int enemyGHandle[12];   // 敵のグラフィックハンドル格納用配列
  90. int playerGHandle[3];  // 俺のグラフィックハンドル格納用配列
  91. int kikennhanndle[12];
  92. // 0-2:後ろ向き、3-5:右向き、6-8:前向き、9-11:左向き
  93.  
  94. int MovieGraphHandle;
  95. //バトルのために読み込む画像
  96. void battle_Initialize() {
  97.     LoadDivGraph("charall.png", 12, 3, 4, 49, 66, enemyGHandle);
  98.     LoadDivGraph("playersyuzinnkou.bmp", 3, 3, 1, 20, 33, playerGHandle);
  99.     SetTransColor(255, 255, 255); // 読み込む画像の前にこいつを置くことで透明化できる。ループ内にも書いて正しく動くが毎回読み込むようになってしまうため処理が遅くなる。
  100.     LoadDivGraph("lockon.bmp", 3, 3, 1, 23, 23, lockonHandle);//なので、一度読み込むだけ画像は使えるし、処理を遅くしないためにループに入る前かつWinMainの中に書いた。
  101.     LoadDivGraph("kikenn.png", 12, 4, 3, 67, 66, kikennhanndle);
  102.     // ムービーファイルをロードします。
  103.     MovieGraphHandle = LoadGraph("original.gif");
  104.     // ムービーを再生状態にします
  105.     PlayMovieToGraph(MovieGraphHandle);
  106. }
  107. int enemyImage = enemyGHandle[11];    // 敵 左向き
  108. int playerImage = playerGHandle[0];   // 俺 右向き
  109. int lockImge = lockonHandle[2];
  110. int preplayerX = 0;
  111. int after = 0;
  112. unsigned int count = 50;
  113. int count2 = 50;
  114. unsigned int count3 = 50;
  115.  
  116. int Kcount = 50;//キック攻撃のゲージ
  117. int Kcount2 = 50;
  118. int Gcount = 15;//15発で数分で再びストックされる
  119. int Gcount2 = 15;
  120.  
  121. int Gtime = 0;
  122. int Wcount = 100;
  123. int Wcount2 = 100;
  124.  
  125. int attackdamage = 0;//殴る際の攻撃判定として作った。
  126. int addattacktime = 501;//追加攻撃をするための変数
  127. int addattackimage = 20;//描画するための追加アタックのためのゲージ
  128. int addplayerX = 0;
  129. int addplayerY = 0;
  130. //int addattacktimeEND = 0;//addattacktimeが終わった後の処理のためのモノ
  131.  
  132. int zannzou = 0;// 攻撃してマスを移動するときのみ20にすればいいので、初期値は0とした。
  133. int  frames = 0; // フレーム数
  134. int frames2 = 0;
  135. int stopenemytime = 0;
  136. int GcountZeroCounter = 0;
  137. int GcountA = 0;
  138.  
  139. int preenemyX = 0, preenemyY = 0;
  140. int rundumsave = 0;
  141. int rundumsavetime = 0;
  142. int enemyattacktime = 0;
  143.  
  144. int nomove = 0;
  145. int posX = 0;
  146.  
  147. const int MOVE_INTERVAL = 1000; // 何ミリ秒ごとに移動処理をするか
  148. int nextMoveTime = GetNowCount() + MOVE_INTERVAL; // 次回移動処理をする時刻
  149. int stopCount = 0; // 動かないのがあと何回か
  150.  
  151. int playerHP = 1000;
  152. int enemyHP = 300;
  153. //int enemyHP2 = 1;
  154.  
  155. int inotigoicount = 0;
  156.  
  157. int enemyattack = 0;
  158. int enemyattackB = 0;
  159.  
  160. int kaont = 0;
  161. int preenemyXX = 0;
  162. int preenemyYY = 0;
  163. int enemycount = 0;
  164. int enemycountframe = 0;
  165. int Lcount = 0;
  166. int Lframe = 0;
  167.  
  168. int last = 0;
  169.  
  170. int GtimeA = 0;
  171. int Xkey = 0;
  172. int Gkey = 1;
  173. int Gfunction_status = 0;
  174. int MGcount = 200;
  175. int MGcount2 = 200;
  176. int MGframe = 0;
  177. int MGcountA = 0;
  178. int MGcountZeroCounter = 0;
  179. int Grock = 0;
  180. int reload = 0;
  181. int MGtime = 0;
  182. int MGcountW = 0;
  183.  
  184. int protect = 0;
  185. int protectcount = 0;
  186. int preframe = 0;
  187. int preframeA = 0;
  188. int preframeB = 0;
  189. int preframeC = 0;
  190.  
  191. int stayhere = 0;
  192. int MGimg = 0;
  193. int countinue = 0;
  194. int countinuekeylock = 0;
  195. int playerHPframe = 0;//移動するときのマスの間を一瞬の残像を残すために作った変数。
  196.  
  197. int  gameovercolor = 0;
  198. int gameovercolorlock = 0;
  199.  
  200. int gameovercolor1 = 0;
  201. int playerHPlock = 0;
  202.  
  203. int mark = 0;
  204. int mark2 = 0;
  205.  
  206. int tabaco = 0;
  207. int tabacocount = 0;
  208.  
  209. int enemyattack3 = 0;
  210. int enemyattack4 = 1;
  211. int enemyattack5 = 1;
  212. int a;
  213. int b;
  214. int d;//cは他の部分で定義されているので使えない
  215. int aframe = 0;
  216. int enemycountframeB = 0;
  217. int enemycountB = 0;
  218. int fortime = 0;
  219. int fortimeframe = 0;
  220. int enemyimagecount = 0;
  221. int addattacktimelock = 0;
  222. int super = 0;
  223. int playermovelock = 0;
  224.  
  225. int playerzannzou = 0;
  226.  
  227. int enemymovelock = 0;
  228. int imagecount2 = 0;
  229. int imagecount3 = 0;
  230. int enemyimagecount2 = 0;
  231. int enemyimagecount3 = 0;
  232.  
  233. int randamumasuX = 0, randamumasuY = 0;
  234. int kasokudo = 0, kasokudo2 = 0, kasokudo3 = 0, kasokudo4 = 0, kasokudo5 = 0, kasokudo6 = 0;
  235. int preenemyX3 = 0, preenemyY3 = 0, preenemyX3A = 0, preenemyY3A = 0, preenemyX3B = 0, preenemyY3B = 0, preenemyX3C = 0, preenemyY3C = 0, preenemyX3D = 0, preenemyY3D = 0;
  236. int randamuzahyoulock = 0, randamuzahyou = 0, randamuzahyoulockA = 0;
  237. int randamumasuXcount = 0, randamumasuYcount = 0;
  238. //int randamumasuXA = 0, randamumasuXB = 0;
  239. int randamuzahyoukeisann = 0, randamuzahyoukeisannhiki = 0;
  240. int randamumasuXA = 0, randamumasuYA = 0, randamumasuXB = 0, randamumasuYB = 0;
  241. int randamulock = 0, randamulock2 = 0;
  242. int bb = 0; int aa = 0;
  243. int A = 0, B = 0;
  244. int randamuzahyoulockB = 0, randamuzahyoukeisannhikiB = 0, randamuzahyouB = 0, randamuzahyoukeisannB = 0;
  245. int randamuzahyoulockBA = 0, randammasucount = 0;
  246. int randammasucountB = 0;
  247. int randammasucountA = 0, randammasucountBA = 0, randamuzahyoulockBAA = 0;
  248. int test = 0;
  249. int stopenemy = 0;
  250. int Y = 0;
  251. int test2 = 0;
  252.  
  253.  
  254. int kakudo = 0, kakudo2 = 0, kakudo3 = 0, kakudo4 = 0;
  255. int kakudoA = 0, kakudoB = 0, kakudoC = 0, kakudoD = 0;
  256.  
  257. int enemyattacklock = 0, enemyattacklock2 = 0;
  258. int kaihimark = 0;
  259.  
  260. int enemysabunHP = 0, enemydamegeHP = 0, enemyHPhyouji = 1;
  261. int enemymove = 1;//敵が足踏みするようにするための変数
  262.  
  263. int C;
  264.  
  265. int keybord = 0;
  266. int jyoicon = 1;
  267. int senntaku = 0;
  268. int gamenidou = 0;
  269. int hyouzi = 0;
  270. int Glock = 0;
  271. int MovieGraphHandle2;
  272.  
  273.  
  274. const int PAD_DOWN = 0;
  275. const int PAD_LEFT = 1;
  276. const int PAD_RIGHT = 2;
  277. const int PAD_UP = 3;
  278. const int PAD_1 = 4;//□角ボタン
  279. const int PAD_5 = 8;//L1ボタン
  280. const int PAD_6 = 9;//R1ボタン
  281. const int PAD_3 = 6;//〇ボタン
  282. const int PAD_4 = 7;//△ボタン
  283. int zannzouA = 0, zannzouB = 0, zannzouC = 0;
  284. int zannzouAlock = 0, zannzoulock = 0;
  285.  
  286. int preenemyX2 = 0, preenemyY2 = 0, nageX = 0, nageY = 0;
  287. int preenemyY2A = 0, preenemyX2A = 0;
  288. int nageXA = 0, nageYA = 0;
  289. int X = 0;
  290. int nageXAA = 0;
  291.  
  292.  
  293.  
  294. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement