第6講 ゲーム基礎その2
第9話 銃社員(jyu関数)コード例
第8話問題解答例
#include "DxLib.h"
void hajimennogamen(); //ゲームの最初の画面を担当する社員
void gamemain(); //ゲーム画面を担当する社員
void make(); //ゲームオーバー画面を担当する社員
void kachi(); //ゲームクリア画面を担当する社員
char m; //ゲームモードを決定する整数 0:ゲームの最初の画面 1:ゲーム画面 2:ゲームオーバー 3:ゲームクリア画面
int x=100,y=100; //整数型の箱xとyを用意
int h ; //画像に付けられた出席番号を収納する箱を用意
int siro = GetColor(255, 255, 255); //白色の出席番号収納する箱
int kiiro = GetColor(255, 255, 0); //黄色の出席番号収納する箱
int mizuiro = GetColor(0, 255, 255); //水色の出席番号を収納する箱
char taisyoutonarukey_mae[100]; //グローバル配列 直前の対象となるキーが押されていたかを収納する配列 0:押されていない 1:押されている
char jyu(int taisyoutonarukey);
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
ChangeWindowMode(true); //ウィンドウモードの切り替え
SetGraphMode(800, 600, 32); //ウインドウサイズの変更
if (DxLib_Init() == -1)return(-1); // DXライブラリ初期化処理
SetDrawScreen(DX_SCREEN_BACK); //裏画像を描画対象に加える(2017/06/28追加) 画面のちらつき対策
m=0;
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) {
if(m==0)hajimennogamen();
if(m==1)gamemain();
if(m==2)make();
if(m==3)kachi();
}
WaitKey(); // キー入力待ち
DxLib_End(); // DXライブラリ終了処理
return 0;
}
void hajimennogamen(){ //ゲームの最初の画面
SetFontSize(32); //フォントサイズを32に変更
DrawFormatString(200, 100,siro, "メニュー画面"); // 文字を描画する
DrawFormatString(0, 200,siro, "ゲームを始めるにはエンターキーを押して下さい。"); // 文字を描画する
if (jyu(KEY_INPUT_RETURN) != 0) m=1;
}
void gamemain(){ //ゲーム画面
h = LoadGraph("画像/00.png"); //画像に付けられた出席番号を箱hに収納
DrawGraph(x, y, h, true); //画像を描く
if (jyu(KEY_INPUT_RIGHT) != 0) x+=2;
if (jyu(KEY_INPUT_LEFT) != 0)x-=2;
if (jyu(KEY_INPUT_DOWN) != 0)y+=2;
if (jyu(KEY_INPUT_UP) != 0)y-=2;
if (jyu(KEY_INPUT_RETURN) != 0) m=2;
}
void make(){ //ゲームオーバー画面
SetFontSize(32); //フォントサイズを32に変更
DrawFormatString(200, 100,kiiro, "ゲームオーバー"); // 文字を描画する
if (jyu(KEY_INPUT_RETURN) != 0) m=3;
}
void kachi(){ //ゲームクリア画面
SetFontSize(32); //フォントサイズを32に変更
DrawFormatString(200, 100,mizuiro, "ゲームクリア"); // 文字を描画する
if (jyu(KEY_INPUT_RETURN) != 0) m=0;
}
char jyu(int taisyoutonarukey) { //taisyoutonarukey(たいしょうとなるキー)は、今対象としているキーの出席番号
if (CheckHitKey(taisyoutonarukey) != 0) {
if (taisyoutonarukey_mae[taisyoutonarukey] == 0) {
taisyoutonarukey_mae[taisyoutonarukey] = 1;
return 1;
}
}
else {
taisyoutonarukey_mae[taisyoutonarukey] = 0;
return 0;
}
return 0;
}
コピペ用添付ファイル
F5でゲームを起動して、
エンターキーを押していくと、
前の奇妙な現象は解消されて、
が順繰りに現れます。
これでゲームの基本が完成しました。
エクスプローラで基本フォルダのところで右クリックをして、
コピーをした後、再び右クリック貼り付けを選び、
コピペして下さい。
すると基本のコピーができます。
右クリックして名前を開発するゲーム名に変更してから、
ゲーム開発をしましょう。
最初に開発するゲームはテトリスですので、
テトリスに変更して下さい。
ゲームを開発するときは、いつでも基本をコピペして、
右クリックで名前を変更して、ゲーム開発を始めて下さい。
コピペと名前変更で、第2講や本話のような作業は一切不要になります。
では、いよいよ第7講でお待ちかねのテトリスの開発に取りかかります。
第8話へ 第7講第1話へ
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ