こんにちは、猫子です。(プロフィールはこちら)
こちらの記事にて質問をいただきました。
猫子は褒めるとやる気が出るよ!
スコアを表示させたいのですね!では解説いってみましょ~!
※他にも質問いただいてますが、こちらの方が簡単だったので先に答えます、すみません~m(_ _)m
すでに数字でラベルを3つ作っていたので、自動的に "label4" という名前で生成されます。
生成されたラベルを好きな場所に移動します。
今回はバランス的に右下に配置してみました。
ラベル選択した状態で、プロパティからフォントや色を好きに変えます。
私は書式 Impact, サイズ 36ptにしました。
その昔、Windows標準でオサレなフォントといえばImpact一択だったんだ!その名残でずっと選んでしまうのだ!
ラベルの名前が違う(label4でない)場合はそちらの名前にあわせてくださいね。
変数scoreはint型なのでラベルに表示するためにString型に変換してます。
このコードを次の2カ所に追加します。
①初期化のときにスコアを表示する
②スロットが揃ったときに10点追加して更新する
こんな感じで表示されます。当たると10点ずつふえるよ。静止画でごめんよ。
どうでしょう?やりたいこと合ってますかね?(・ω・)
100点達成でクリア!とか
コンボすると点数が高くなる!とか
条件を追加するともっとゲーム性が高まって楽しいと思うので、余裕があればチャレンジしてみてね~
にほんブログ村に参加中。いいね!と思ったらクリックしてね
最後までお読みいただきありがとうございました!
質問、リクエストなどお気軽にどうぞ~(^^)
▼今回使用した部品が全部入っている便利なスターターキットはこちら▼
▼Arduino UNOボード単体はこちら▼
▼この本が楽しい&わかりやすくてオススメです!▼
こちらの記事にて質問をいただきました。
お疲れ様です。いつもこのブログを参考拝見させていただてます。分かりやすいコードありがとうございます。ブログをお褒めにあずかり嬉しいです(*^ω^*)うふ
質問なのですが、このスロットゲームに、スコアを表示させたいのですがどうすれば良いですか?
具体的な例として、左上にスコアを表示させ、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つ追加します。すでに数字でラベルを3つ作っていたので、自動的に "label4" という名前で生成されます。
生成されたラベルを好きな場所に移動します。
今回はバランス的に右下に配置してみました。
ラベル選択した状態で、プロパティからフォントや色を好きに変えます。
私は書式 Impact, サイズ 36ptにしました。
その昔、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点ずつふえるよ。静止画でごめんよ。
どうでしょう?やりたいこと合ってますかね?(・ω・)
100点達成でクリア!とか
コンボすると点数が高くなる!とか
条件を追加するともっとゲーム性が高まって楽しいと思うので、余裕があればチャレンジしてみてね~
にほんブログ村に参加中。いいね!と思ったらクリックしてね
最後までお読みいただきありがとうございました!
質問、リクエストなどお気軽にどうぞ~(^^)
▼今回使用した部品が全部入っている便利なスターターキットはこちら▼
▼Arduino UNOボード単体はこちら▼
▼この本が楽しい&わかりやすくてオススメです!▼
コメント