近コンブログ

  1. トップページ
  2. 近コンブログ

初めてのゲーム開発に挑戦!!

はいこんにちは!!
クリエイタ学科の木村です。

 

今回は1年生の授業紹介です。
授業が始まって約3か月、新しいクラスにも慣れ、
休み時間には笑い声が多く聞こえます。

 

モチロン授業もどんどん進んでいます。
実習授業では主に「C言語」の学習を進めています。
基本的な「入力」「出力」「演算」「分岐」「繰り返し」などの
コンピュータに命令を与えるための記述を学習しています。

 

そんな中「分岐」までを勉強する事で、作れるようになるゲームがあります・・・。
それは・・・

dsc_1325_compressed

そう!拳の格闘技!ジャンケンですね。
誰もが知っているこのゲーム、色んな場面で活用されていますよね。
このジャンケンというゲーム、みなさんご存じのとおり、
「グー」「チョキ」「パー」の3種類の手の組み合わせで勝敗が決まります。

 

「グー」は「チョキ」に強く「パー」に弱い。
「チョキ」は「パー」に強く「グー」に弱い。
「パー」は「グー」に強く「チョキ」に弱い。

 

このようにそれぞれの手が、その他二つに対して

「強い」「弱い」といった強弱が設定されています。

 

これを三すくみの関係と呼びますね。

 

三すくみの関係と聞いてピンとこなくても、

ゲームの弱点属性なんかを想像してもらえれば、

わかりやすいのではないでしょうか。

 

さて、実際にこのジャンケンをプログラムで表現しようとすると、

実は色々な事を考えなければなりません。

 

—————————————————————————————

例えば・・・ ・

グー、チョキ、パーをどのようにプログラムで表現するのか?

・「勝敗」や「あいこ」はどのように判断すれば良いのか?

・3回勝負な!となった場合はどうしようか?

—————————————————————————————

友人同士でジャンケンをする場合、これらの事を考えませんよね。

手の出し方は分かっているし、勝敗なんてお互いの手を見ればわかります。

 

ですが!コンピュータは「ジャンケンのルール」なんてものは知らないのです!

プログラマーがプログラムを通じて「教えてあげる」必要があるんですね。

コレがプログラマーとして一番おもしろい所だと木村は思っています。

 

先ほどあげた例であれば

—————————————————————————————

・グー、チョキ、パーをそれぞれ「1,2,3」などの数字に置き換える。

・数字の組み合わせで「勝敗」や「あいこ」の判定を行う。

・「繰り返し」処理を活用してみる。

—————————————————————————————

このように、現実の遊びをプログラム的に変換していきます。

お互いの手が数字で管理できるようになると、次のようなプログラムが記述できます。

dsc_1323_compressed

if(my_hand == 1 && npc_hand == 1)

{

   画面に「あいこです。」と表示する処理

}

 

これは「分岐」処理の一つである「if文」というものになります。

 

どのような内容を書いているのかというと、

my_handにはプレイヤーが「自分で選択した手の番号」が設定されています。

npc_handには「ランダムで選択された手の番号」が設定されています。

 

その2つの情報、お互いに「1番が設定されているか?」をチェックします。

お互いが1番であった場合、

同じ手を出した→ジャンケンのルールでは「あいこ」である。

という判断ができます。

 

そこで、パソコンの画面上に「あいこです。」といったメッセージを表示し、

アプリを起動させたユーザーに結果を伝える、という事になります。

 

自分の考えた通りにプログラムが動作すると、ついこんなポーズが出ます。

dsc_1324_compressed

やったぜ。

 

今回は「あいこ」の場合のプログラムを例として書いてみました。

当然、他にも「勝った」「負けた」といった要素も存在しますので、

それらもプログラムで構築していく必要があります。

 

実際の授業では、これらの内容を1コマ(90分)の間にほとんど終わらせます。

最初は、グーチョキパーとかどうすんねん!!という声も聞こえていましたが、

徐々にヒントを出す事で、自ら考え、解決に至っていました。

 

普段の何気ない遊びをプログラムで表現する、という事は簡単に見えて実は難しいんです。

 

そういった点から、プログラムの練習にはもってこい!というわけですね。

長文になりましたが、読んでいただきありがとうございます!

次回のブログも楽しみにしていただけたら嬉しいです。

クリエイタ学科の木村でした!