第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でゲームを起動して、
エンターキーを押していくと、
前の奇妙な現象は解消されて、
0010
008
0011
0013
が順繰りに現れます。


これでゲームの基本が完成しました。
エクスプローラで001基本フォルダのところで右クリックをして、
コピーをした後、再び右クリック貼り付けを選び、
コピペして下さい。
002
すると基本のコピーができます。
右クリックして名前を開発するゲーム名に変更してから、
ゲーム開発をしましょう。
最初に開発するゲームはテトリスですので、
テトリスに変更して下さい。
003
ゲームを開発するときは、いつでも基本をコピペして、
右クリックで名前を変更して、ゲーム開発を始めて下さい。
コピペと名前変更で、第2講や本話のような作業は一切不要になります。

では、いよいよ第7講でお待ちかねのテトリスの開発に取りかかります。


第8話へ  第7講第1話へ

002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ