こんにちは!
テトリス的なものを作っていきます。
いよいよ、連載も終わりに近づいています。
なお、プログラムの内容は難しいので、初心者には向きませ
ん。いきなり作るのは厳しいのでよろしくお願いします。
また、説明も大幅に省いていきます。
``
最後に注意事項
ご紹介するのはあくまで「テトリス的」です。そのものでは
ありませんし、非常にシンプルに遊べるだけのものです。
連載終了後に、より詳しい技術的な解説&追加機能を加えた
電子書籍を発行する予定ですので、よろしくお願いします。
今回は得点表示です
今回は、得点表示の準備を進めていきます。
3つの3DTextを作成します。
これはLevelTextのものですが、参考までに。
変数はこんな感じにしておきましょう。
//得点など
public int Score=0;
public int Lines=0;
public int Level=0;
//文字の収納
GameObject SC;
GameObject LN;
GameObject LV;
start()の中にこれを追加します。
//背景と文字を発見して
SC=GameObject.Find("ScoreText");
LN=GameObject.Find("LineText");
LV=GameObject.Find("LevelText");
次にchkLines()ですが、
void chkLines(){
int i,j,k;
while(true){
for(j=0;j<20;j++){
comp=1;
for(i=2;i<14;i++){
if(stage[i,j]==0){
comp=0;
}
}
if(comp==1){
break;
}
}
if(comp==0){
break;
}
この直後に
Lines++;
//得点の加算
switch(Lines){
case 1:
Score=Score+100;
break;
case 2:
Score=Score+200;
break;
case 3:
Score=Score+500;
break;
case 4:
Score=Score+2000;
break;
default:
break;
}
//列を消去する
これを追加していきます。
最後にUpdate内に
//時間経過後
if(delta>=span){
//レベルの表示
LV.GetComponent<TextMesh>().text = "Level: "+Level.ToString ();
//得点の表示
SC.GetComponent<TextMesh>().text = "Score: "+Score.ToString ();
//ラインの表示
LN.GetComponent<TextMesh>().text = "Line: "+Lines.ToString ();
次回は、得点に応じてレベル調整をします。
それではよきプログラミングライフを!
またね。