ゲーム制作

ゲーム制作に必要なC#をマスターしよう!【switch,for編】

ユウ
ユウ

こんばにちは、ユウです。

今回はC#のswitch文とfor文について紹介していきたいと思うよ!

これらは覚えると、簡単なゲームだったら作れるようになるのでぜひ覚えておくようにしてください!

本記事の内容

☑switch文を使用して条件を分岐できるようになる!

☑for文で繰り返し処理を簡単にできる用意なる

今回C#を紹介するにあたって、発行元:SB クリエイティブ株式会社 著者:粂井 康孝(くめい やすたか)さんの「猫でもわかるC#プログラミング」を参考に紹介しています。

 

switch文

switch文は、式の値に応じた選択肢が複数ある時に使用します。

式は整数型かstring型でなくてはなりません。

switch(式)

{

case 定数式1:

文1;

break;

case 定数式2:

文2;

文3;

break;

default:

文4;

break;

}

式が定数式1と一致した場合は文1が実行され、その後のbreakを通してswitch文を抜けます。

同様に式が定数式2と一致した場合は文2と文3が実行され、break文を通してswitchを抜け出します。

式が以上の定数式に当てはまらない場合はdefaultの部分である文4が実行され、break文で抜け出します。

また、この書き方以外にも次のような書き方が可能です。

switch(式){

case 定数式1:

case 定数式2:

文1;

break;

case 定数式3:

文2;

}

C#はこの場合、式が定数式1、定数式2のどちらかと一致した場合に文1が実行されます。

それでは、実際にプログラムを書いていきましょう。

このようにswitch文を使用することによってRPG風なステータス画面を再現することができます。

入力の部分をコントローラーからの入力によって、カーソル選択させ情報を受け取るようにすると、家庭用ゲーム機で遊べるようなゲームを作ることができます。

for文

for文は反復処理を行う時に使用でき、次のような形で使われます。

for(初期化子;条件式;反復子){

文1;

文2;

}

条件式が真である問、文1、文2…が繰り返し実行されます。

この分で大切なところは、この繰り返しをどこで終わらせるかです。

ループを終わらせるためには最低1つの変数が必要です。

初期化子では、この変数に最初の値を代入します。

ループがまわるにつれて反復子によって、変数の値が変化していきます。

条件式が偽の値をとると、for文を抜け出します。

それでは簡単な例を見てみましょう。

このfor文ではiが10よりも小さい間繰り返されます。

iが0から始まり、「*」が出力されi+1が実行されているように働いています。

forループからの脱出

for文では初期化子、条件式、反復子の一部または全部を省略することができます。

全部省略すると、無限ループができるようになるのですが、これだと際限なく繰り返してしまうのでプログラムとしてはどうにかしたいですよね。

このような場合は、ループから脱出する手段を自分で用意しておかなければなりません。

ループを脱出する方法として良く用いられるのが、break文を使用するものです。

それでは実際にプログラムを見てみましょう。

前回の記事で紹介したif文の条件分岐を用いて、break文に誘導します。

forループのネスト

forループの中にさらにforループを入れることも可能です。

これをforループのネストといいます。

ネストした場合は内側のループから回ります。

int i,j;

 

for(i = 0; i < 10; i++){

for(j = 0; j < 10; j++){

文;

}

}

この場合はiの初期値が0となりそのまま、jが0から9まで増加していきます。

この繰り返しが終わると、iがやっと1になります。

そしてjは0から9までを繰り返していきます。

それではネストの例を見てみましょう。

このforループのネストを使用すると、かなり効果的にプログラムを簡単に作ることができるのでしっかり使えるようになると良いです。

最後に

今回の制御文についても、これをマスターするだけでも簡単なゲームならば作れるのではないかと思えるような大切部分です。

ですからきっちりと理解できるようにしておいてください。

今回はこれで以上となります。

最後まで読んでいただきありがとうございました!

ABOUT ME
ユウ
プログラミング担当です。夜行性大学生やってます。 メンバーの中で一番プログラミングが得意で、将来はBMIという研究をしてALSの患者さんへの医療機器の開発を目標にしています。 無線LAN有線LANより便利。