【C#入門】第4回 ここまでのおさらいと値の設定について【じゃんけんゲームを作ろう その4】

2023年2月7日

こんにちは。ノムノムです。

前回はイベントをやりました。イベント単位で処理を書くことができるのでソースコードが理解しやすくていいですね。

【C#入門】第3回 イベントについて【じゃんけんゲームを作ろう その3】
【C#入門】第3回 イベントについて【じゃんけんゲームを作ろう その3】
こんにちは、ノムノムです。 前回は、コントロールについてご説明しました。以下の記事に記載しています。 今回は、…
http://nomux2.net/event/

今回は、代入です。
プログラミングする上で代入は切っても切り離せないものです。難しくないので頑張りましょう。

代入

左辺に右辺の値(文字や数値など)を入れます。「=」で書きます。簡単にいうと右辺の値に置き換えるということですね。

まずは前回のおさらい

今回は、実際にゲームとして動作するところまで持っていきたいと思います。
ここで前回のおさらいです。

イベントの追加

それぞれのボタンにイベントを追加して以下のように追加してみてください。

わからない場合は、前回の記事「イベントについて」をもう一回読んでみてください。

【C#入門】第3回 イベントについて【じゃんけんゲームを作ろう その3】
【C#入門】第3回 イベントについて【じゃんけんゲームを作ろう その3】
こんにちは、ノムノムです。 前回は、コントロールについてご説明しました。以下の記事に記載しています。 今回は、…
http://nomux2.net/event/
private void Form1_Load(object sender, EventArgs e)
{

}

private void btnEnd_Click(object sender, EventArgs e)
{
    this.Close();
}

private void btnGoo_Click(object sender, EventArgs e)
{

}

private void btnChoki_Click(object sender, EventArgs e)
{

}

private void btnPar_Click(object sender, EventArgs e)
{

}

Form_Loadイベントはフォーム上のコントロールを置いてない場所をどこでもいいのでダブルクリックすると追加できます。

コントロールの追加

コントロールの追加についてはこの記事になります。

【C#入門】第2回 コントロール 【じゃんけんゲームを作ろう その2】
【C#入門】第2回 コントロール 【じゃんけんゲームを作ろう その2】
こんにちは、ノムノムです。 前回の続きです。 プログラムって始めはチンプンカンプンですよね。僕も最初そうでした…
http://nomux2.net/control/

まず新しくラベル (Label) を追加してみましょう。

場所はどこでもいいです。追加したラベル(Label)の(Name)は「lblResult」としてください。

次に「imageList」を追加してください。
imageListは、「ツールボックス」ー「すべてのWindowsフォーム」ー「imageList」もしくは 「ツールボックス」ー「コンポーネント」ー「imageList」 にあります。

「imageList」の プロパティは

(Name):imgJankenList
ImageSize:180, 180
Images:グー、チョキ、パーの画像を設定

グー、チョキ、パーは以下の画像をパソコンに保存して使ってください。

このようになればOKです。

ここまでよろしいでしょうか?

いよいよプログラミング!

それでは次は追加したイベントにプログラムを追加していきましょう。
以下のように記載してください。

private void Form1_Load(object sender, EventArgs e)
{
    //初期化処理
    this.picCPU.Image = null;
    this.picYou.Image = null;
    this.lblResult.Text = "";
}

解説です。
Form_Loadイベントはフォームが呼び出されたときに発生します。

このじゃんけんゲームでは「Form1」が呼び出されるのでアプリ起動時に「Form1_Load」イベントに入ってきます。

なのでまずForm_Loadイベントに初期化処理を書きます。

//初期化処理
this.picCPU.Image = null;

まず「this」はForm1のことを指します。なので「this.picCPU」というのはForm1上にあるpicCPUというコントロールを指します。ImageはpicCPUのプロパティになります。

「null」は何もデータがないということです。「=」は代入を表します。

つまりこれは、Form1上のpicCPUコントロールのイメージ(画像)をなし(null)にするという命令文になります。

// はコメントになります。その行を折り返すまでプログラムに影響を与えない自由な文章を書けます。

this.lblResult.Text = "";

これも同様で、 Form1上のlblResultコントロールのテキストを空にする("")にするという命令文になります。

「""」は空文字です。

まとめ

代入は、左辺と右辺で同じものを入れなくてはいけません。

数値しか入れてはいけないものに、文字列を入れるとエラーになります。

逆も同じで文字列のものに数値をいれるとエラーになります。

プログラミング言語によっては自動で数値を文字列に変換してしまいエラーとなってしまうものもあります。

あとで出てきますが比較をするときに問題がでてきます。

数値で比較する場合、500 と 2000 では2000の方が大きくなりますが
文字列で比較する場合、"500″ と “2000" では"500″の方が大きくなります。

注意したいところです。

次回は変数です。

【C#入門】第5回 変数について【じゃんけんゲームを作ろう その5】
【C#入門】第5回 変数について【じゃんけんゲームを作ろう その5】
こんにちは、ノムノムです。 前回は、代入を勉強しました。 今回は変数です。 変数は値を使いまわしたり、パラメー…
http://nomux2.net/variable/