こんにちは、猫子です。(プロフィールはこちら)

こちらの記事にて質問をいただきました。


お疲れ様です。いつもこのブログを参考拝見させていただてます。分かりやすいコードありがとうございます。
質問なのですが、このスロットゲームに、スコアを表示させたいのですがどうすれば良いですか?

具体的な例として、左上にスコアを表示させ、3つ揃ったら10ポイント加算されていくようなスコアを表示させたいです!
ブログをお褒めにあずかり嬉しいです(*^ω^*)うふ
猫子は褒めるとやる気が出るよ!

スコアを表示させたいのですね!では解説いってみましょ~!

※他にも質問いただいてますが、こちらの方が簡単だったので先に答えます、すみません~m(_ _)m




スコア用の変数を追加

まずはスコア用の変数 score を宣言します。最初は0で初期化しておきます。
public int score = 0;               //スコア表示用
変数宣言の場所は固めておくとわかりやすくてよいですね。このあたりに追加します。

   public partial class Form1 : Form
    {
        public string str;                  //シリアル受信用
        public int mode = 0;                //モード管理用(0:STOP 1:全回転 2:残り2つ 3:残り1つ 4:当たり判定)
        public int score = 0;               //スコア表示用

・・・・・・・


スコアを表示するラベルを追加

ツールボックス → Label を1つ追加します。

no title

すでに数字でラベルを3つ作っていたので、自動的に "label4" という名前で生成されます。
生成されたラベルを好きな場所に移動します。
今回はバランス的に右下に配置してみました。
ラベル選択した状態で、プロパティからフォントや色を好きに変えます。
私は書式 Impact, サイズ 36ptにしました。

1

その昔、Windows標準でオサレなフォントといえばImpact一択だったんだ!その名残でずっと選んでしまうのだ!


スコアを表示させるコードを追加

スコアをラベルに表示させるコードは
label4.Text = "Score:" + Convert.ToString(score);
のようになります。
ラベルの名前が違う(label4でない)場合はそちらの名前にあわせてくださいね。
変数scoreはint型なのでラベルに表示するためにString型に変換してます。

このコードを次の2カ所に追加します。

①初期化のときにスコアを表示する
        private void Form1_Load(object sender, EventArgs e)
        {
            serialPort1.Open();
            label4.Text = "Score:" + Convert.ToString(score);

        }

②スロットが揃ったときに10点追加して更新する
        private void timer1_Tick(object sender, EventArgs e)
        {
            switch (mode)
            {

~~~~~~~~~(略)~~~~~~~~~~~~

case 4: // 当たり判定 if (slot[0] == slot[1] && slot[1] == slot[2]) { serialPort1.WriteLine("WIN"); // Arduinoに当たり通知 score = score + 10; //スコアに点数追加 label4.Text = "Score:" + Convert.ToString(score); } mode = 0; //最初のモードへ戻る break;


動作の感じ


こんな感じで表示されます。当たると10点ずつふえるよ。静止画でごめんよ。
3

どうでしょう?やりたいこと合ってますかね?(・ω・)


100点達成でクリア!とか
コンボすると点数が高くなる!とか
条件を追加するともっとゲーム性が高まって楽しいと思うので、余裕があればチャレンジしてみてね~


にほんブログ村に参加中。いいね!と思ったらクリックしてね
にほんブログ村 IT技術ブログへ

最後までお読みいただきありがとうございました!
質問、リクエストなどお気軽にどうぞ~(^^)


▼今回使用した部品が全部入っている便利なスターターキットはこちら▼


▼Arduino UNOボード単体はこちら▼


▼この本が楽しい&わかりやすくてオススメです!▼