こんにちは!
テトリス的なものを作っていきます。長い連載になりますの
で、気長にお付き合いください。
なお、プログラムの内容は難しいので、初心者には向きませ
ん。いきなり作るのは厳しいのでよろしくお願いします。
また、説明も大幅に省いていきます。
最後に注意事項
ご紹介するのはあくまで「テトリス的」です。そのものでは
ありませんし、非常にシンプルに遊べるだけのものです。
連載終了後に、より詳しい技術的な解説&追加機能を加えた
電子書籍を発行する予定ですので、よろしくお願いします。
今回はゲームオーバーの判定です!
短いです。とりあえず、上まで積み上がったらゲームオーバーで
プログラムが終わるようにします(本当はリプレイ?とかあるんでしょうが)
まずは変数を追加します。
//gameOverの判定
int gameOverFlag=0;
ゲームオーバーかどうかは、makeBlk()の段階で判定します。
//フィールドにブロックを加える
for(i=0;i<4;i++){
for(j=0;j<4;j++){
field[i+5,j]=stage[i+5,j]+blk[i,j];
// //ゲームオーバーかどうかチェックする
if(field[i+x,j+y+4]>=1){
gameOverFlag=1;
}
}
}
}
update内でフラグが立っていれば終了ということにします。
void Update()
{
//GameOverの処理
if(gameOverFlag==1){
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#else
Application.Quit();
#endif
}
この終了のやり方は、割とどこでも使えるのでおすすめです。
次回は、得点の表示!残すところ数回です!
それではよきプログラミングライフを!
またね。