絵の表示例題

○丁半さいころゲーム(さいころの絵の表示版)

丁半さいころゲーム(二つのさいころを転がし、丁か半か(偶数か奇数か)をあてるゲーム)を作った。
参照→導入編例題「丁半さいころゲーム(簡素版)」
また、勝ち負け(あたり・はずれ)を画像で表示するように改変した。

そこではさいころの目を文字(テキスト)で表示していたが、さいころの目を絵でも表示するように変えてみよう。

まず、PictureBoxを最低8個作っておきます。

このPictureBox8個の内2つは、転がした2個のサイコロの目を表示するためのもの。→P7,P8とします
残りのPictureBox6個には、各々さいころの1から6の目の絵を表示させておきます。→P1,P2,…,P6とします

サイコロの絵の表示(P1〜P6)は、プログラムで最初で表示させるようにします 。
(予めプロパティウィンドウによりImageプロパティで指定しておく方法もあります)
さいころの絵は「ペイント」ツールなどで簡単に書けるはずです。とりあえずはあまり綺麗な必要はありません。
なお、この絵(picturebox1〜P6;サイコロの目)は本当は実行時に表示しておく必要の無い絵です。
とりあえず、端っこのほうにこっそりと置いておいておくことにしましょう。
(プロパティVisibleをFalseにして非表示にするという手もあります)

サイコロの絵を表示させておくプログラム例(一部)は次のようなものになります。

PictureBox1.Image = Image.FromFile("dice1.png")
PictureBox2.Image = Image.FromFile("dice2.png")
・・・

もちろん"dice1.png"ファイルにはサイコロの 1の目の絵が描いてあるファイルです

残り二つのPictureBox(P7,P8)は表示用で、振った2個のさいころの目を表示させます。

If文しか勉強していない現状では、ちょっと複雑なIF文になってしまいますが、仕方がないでしょう。
(Select文やコントロール配列を使えるともっと簡単に書けます)。
If文は次のような感じ(一部)になります。。。

まずは

If d1 = 1 Then
    PictureBox7.Picture = PictureBox1.Picture
Else
    If d1 = 2 Then
        PictureBox7.Picture = PictureBox2.Picture
...

但し上記プログラム例では、変数d1はさいころ1の目(数字)が代入されているものとし、PictureBox7はさいころ1の表示用、PictureBox1には1の目の絵が、PictureBox2には2の目の絵が入っているものとした場合の例です。
私の個人的な好み、及び教育的見地から「ElseIf」はあまり好きではないので、単純なIf-Then-Elseを利用した例です。

時間があれば、色々な飾り付けなどを施して見栄えをよくしてみましょう。

また、複数の方法(プログラムの最初で全ての絵を一気に読み出して表示、予め全ての絵をプロパティウィンドウで指定、必要なファイルのみその都度読み出す)ともプログラムできるようにしておきましょう。


[WR班」プログラミング基礎のTopに戻る]