超初心者のゲーム作成講座
学生時代に友人と作成したゲームを作成して以来、再び友人とソフトウェア開発をおこなっちゃいます。
=第35話=(おまけ)更なる改良を加えてみました。
ようやくソフト開発も完成まで来ました。
如何でしたでしょうか。
簡単でしたか?難しかったですか?
途中で飽きちゃいましたか?
さて、今回完成としたゲームを更に改良を加えると
この動画ようなことができます。
ほかにもアイデア次第で無限に楽しくすることができますので、
是非そのアイデアをゲームに取り入れてみてください。
ここまでを記事を見ながら作成するのも大変な労力だと思いますので、
そんな方のためにソースを公開させていただきます。
下記「ダウンロード」をクリックするとダウンロードが開始されます。
興味のある方はどうぞ!
ダウンロード
※この改良を加えたソースにはコメントなどはあまり
入っておりませんのであしからず・・・。
如何でしたでしょうか。
簡単でしたか?難しかったですか?
途中で飽きちゃいましたか?
さて、今回完成としたゲームを更に改良を加えると
この動画ようなことができます。
ほかにもアイデア次第で無限に楽しくすることができますので、
是非そのアイデアをゲームに取り入れてみてください。
ここまでを記事を見ながら作成するのも大変な労力だと思いますので、
そんな方のためにソースを公開させていただきます。
下記「ダウンロード」をクリックするとダウンロードが開始されます。
興味のある方はどうぞ!
ダウンロード
※この改良を加えたソースにはコメントなどはあまり
入っておりませんのであしからず・・・。
スポンサーサイト
=第33話=(最終話)正解表示画面を作りましょう
ようやくこの記事まで到達しました。
我々も次のステップへ進むことができそうです。
今回は、入力した答えが正解あるいは不正解を表示する処理を実装します。
Form1の「フォームデザイナ」ウィンドウの
「MainTab」部分を右クリックし
「タブの追加」をクリックして
「TabPage9」を追加しましょう。
「TabPage9」に正解あるいは不正解の文字と正解と
入力した答えの数、そしてリトライボタンを配置しましょう。
「Label」コントロール
(Name):Label10
Font-Size:48
ForeColor:DarkOrange
Text:おめでとう!
「Label」コントロール
(Name):Label11
Font-Size:28
ForeColor:Green
Text:正解
「Label」コントロール
(Name):Label12
Font-Size:28
ForeColor:Green
Text:00
「Label」コントロール
(Name):Label13
Font-Size:28
ForeColor:Green
Text:個
「Label」コントロール
(Name):Label14
Font-Size:28
ForeColor:Green
Text:あなたの答え
「Label」コントロール
(Name):Label15
Font-Size:28
ForeColor:Green
Text:00
「Label」コントロール
(Name):Label16
Font-Size:28
ForeColor:Green
Text:個
「Button」コントロール
(Name):btnRetry
BackColor:White
Font-Size:28
Text:リトライ
「SceneChange」プロシージャの「Select」文に
[正解]シーン変更処理のコードを追加します。
リトライボタンである「btnRetry」をダブルクリックして、
「btnRetry_Click」イベントプロシージャにコードを追加します。
--------------------------------------------------
--------------------------------------------------

※デバッグ開始を実行してみましょう。
文字○×表示画面の表示後に正解表示画面が表示されました。
正解とあなたの答えの個数が正しく表示されることを確認してください。
正解の場合は「おめでとう!」不正解の場合は「ざんねん!」と表示されましたか?
リトライボタンをクリックするとタイトル画面に切り替わることも確認してください。


我々も次のステップへ進むことができそうです。
今回は、入力した答えが正解あるいは不正解を表示する処理を実装します。
Form1の「フォームデザイナ」ウィンドウの
「MainTab」部分を右クリックし
「タブの追加」をクリックして
「TabPage9」を追加しましょう。
「TabPage9」に正解あるいは不正解の文字と正解と
入力した答えの数、そしてリトライボタンを配置しましょう。
「Label」コントロール
(Name):Label10
Font-Size:48
ForeColor:DarkOrange
Text:おめでとう!
「Label」コントロール
(Name):Label11
Font-Size:28
ForeColor:Green
Text:正解
「Label」コントロール
(Name):Label12
Font-Size:28
ForeColor:Green
Text:00
「Label」コントロール
(Name):Label13
Font-Size:28
ForeColor:Green
Text:個
「Label」コントロール
(Name):Label14
Font-Size:28
ForeColor:Green
Text:あなたの答え
「Label」コントロール
(Name):Label15
Font-Size:28
ForeColor:Green
Text:00
「Label」コントロール
(Name):Label16
Font-Size:28
ForeColor:Green
Text:個
「Button」コントロール
(Name):btnRetry
BackColor:White
Font-Size:28
Text:リトライ
「SceneChange」プロシージャの「Select」文に
[正解]シーン変更処理のコードを追加します。
Case 9 '[正解]シーン変更処理 '答えと正解を表示 Me.Label12.Text = intOmote Me.Label15.Text = intKotae '正解の場合は"おめでとう!"、不正解の場合は"ざんねん!"と表示 If intOmote = intKotae Then Me.Label10.Text = "おめでとう!" Else Me.Label10.Text = "ざんねん!" End If 'タブのページを切り替える Me.MainTab.SelectedIndex = intScene - 1 |
リトライボタンである「btnRetry」をダブルクリックして、
「btnRetry_Click」イベントプロシージャにコードを追加します。
--------------------------------------------------
'[タイトル]シーンへ Call SceneChange(1) |
--------------------------------------------------

※デバッグ開始を実行してみましょう。
文字○×表示画面の表示後に正解表示画面が表示されました。
正解とあなたの答えの個数が正しく表示されることを確認してください。
正解の場合は「おめでとう!」不正解の場合は「ざんねん!」と表示されましたか?
リトライボタンをクリックするとタイトル画面に切り替わることも確認してください。


=第32話=文字○×表示画面を作りましょう
あっという間にクリスマスを迎えてしまいました。
まだ景気が回復しないのでゲームでも作成して過ごします。
今回は、正解を確認するために文字の上に
○または×を表示する処理を実装します。
1.Form1の「フォームデザイナ」ウィンドウの
「MainTab」部分を右クリックし「タブの追加」をクリックして
「TabPage8」を追加しましょう。
2.Form1の「SceneChange」プロシージャの
「Select」文に[文字○×表示]シーン変更処理の
コードを追加します。
Form1の「SceneProc」プロシージャの「Select」文に
[文字○×表示]シーン表示処理のコードを追加します。
「TabPage8」に文字の上に○または×を描画するための処理を行なう
「DrawTabPage8」プロシージャをコードに追加します
「Form1」の「コードエディタ」ウインドウを表示し、
クラス名「TabPage8」をクリック、
メソッド名「Paint」クリックすることで
「TabPage8_Paint」イベントプロシージャが追加されます
「TabPage8_Paint」イベントプロシージャにコードを追加します
Mojiクラスの「DrawMoji」プロシージャの
「正解○または不正解×を描画」コメント部分に
以下のコードを追加します
※デバッグ開始を実行してみましょう
文字○×表示画面に文字が表示されました
タイマーで順に文字の上に
○または×を表示されることを確認してください

クリスマスプレゼントには間に合いませんでしたが、
正月プレゼントには間に合わせます!
「正月プレゼントって?」という質問はお控えください。
まだ景気が回復しないのでゲームでも作成して過ごします。
今回は、正解を確認するために文字の上に
○または×を表示する処理を実装します。
1.Form1の「フォームデザイナ」ウィンドウの
「MainTab」部分を右クリックし「タブの追加」をクリックして
「TabPage8」を追加しましょう。
2.Form1の「SceneChange」プロシージャの
「Select」文に[文字○×表示]シーン変更処理の
コードを追加します。
Case 8 '[文字○×表示]シーン変更処理 '1文字毎表示用の変数を初期化 intFrame = 0 '1文字毎に○×を表示するためにタイマーをセット(0.5秒毎) Me.Timer1.Interval = 500 Me.Timer1.Enabled = True 'タブのページを切り替える Me.MainTab.SelectedIndex = intScene - 1 |
Form1の「SceneProc」プロシージャの「Select」文に
[文字○×表示]シーン表示処理のコードを追加します。
Case 8 '[文字○×表示]シーン表示処理 '文字○×表示の描画処理を行なう If intFrame < Moji.Length Then intFrame = intFrame + 1 Call DrawTabPage8() Else '次のシーンへ Call SceneChange(intScene + 1) End If |
「TabPage8」に文字の上に○または×を描画するための処理を行なう
「DrawTabPage8」プロシージャをコードに追加します
'TabPage8の描画処理 Private Sub DrawTabPage8() If Not Moji Is Nothing Then Dim g As Graphics = Me.TabPage8.CreateGraphics '正しい角度の文字の上に○または×を表示 For i As Integer = 0 To Moji.Length - 1 If i < intFrame Then Moji(i).DrawMoji(g, MojiDrawType.DrowAnswer) Else Moji(i).DrawMoji(g, MojiDrawType.DrowNotTurn) End If Next End If End Sub |
「Form1」の「コードエディタ」ウインドウを表示し、
クラス名「TabPage8」をクリック、
メソッド名「Paint」クリックすることで
「TabPage8_Paint」イベントプロシージャが追加されます
「TabPage8_Paint」イベントプロシージャにコードを追加します
'TabPage8の描画処理 Call DrawTabPage8() |
Mojiクラスの「DrawMoji」プロシージャの
「正解○または不正解×を描画」コメント部分に
以下のコードを追加します
'正解○または不正解×を描画 If mdt = MojiDrawType.DrowAnswer Then fnt = New Font("MS 明朝", 60) sf = New StringFormat sf.Alignment = StringAlignment.Center sf.LineAlignment = StringAlignment.Center If Not _blnUramuki Then ig.DrawString("○", fnt, Brushes.Red, ig.VisibleClipBounds, sf) Else ig.DrawString("×", fnt, Brushes.Red, ig.VisibleClipBounds, sf) End If End If |
※デバッグ開始を実行してみましょう
文字○×表示画面に文字が表示されました
タイマーで順に文字の上に
○または×を表示されることを確認してください

クリスマスプレゼントには間に合いませんでしたが、
正月プレゼントには間に合わせます!
「正月プレゼントって?」という質問はお控えください。
=第31話=正解を表示する画面を作りましょう
不景気です。本当に不景気です。
なので家でゲームでも作りましょう。
今回は、正解を確認するために正しい角度の文字を表示する処理を実装します。
Form1の「フォームデザイナ」ウィンドウの「MainTab」部分を右クリックし
「タブの追加」をクリックして「TabPage7」を追加しましょう。
Form1の「SceneChange」プロシージャの「Select」文に
[文字正表示]シーン変更処理のコードを追加します。
Form1の「SceneProc」プロシージャの「Select」文に
[文字正表示]シーン表示処理のコードを追加します。
「TabPage7」に正しい角度の文字を描画するための処理を行なう
「DrawTabPage7」プロシージャをコードに追加します。
「Form1」の「コードエディタ」ウインドウを表示し、
クラス名「TabPage7」をクリック、メソッド名「Paint」
をクリックすることで「TabPage7_Paint」
イベントプロシージャが追加されます。
「TabPage7_Paint」イベントプロシージャにコードを追加します。
それではデバッグ開始を実行してみましょう!

「正しい文字を探せ!」画面に文字が表示されましたね。
タイマーで順に文字が正しい角度で表示されることを確認してください。
なので家でゲームでも作りましょう。
今回は、正解を確認するために正しい角度の文字を表示する処理を実装します。
Form1の「フォームデザイナ」ウィンドウの「MainTab」部分を右クリックし
「タブの追加」をクリックして「TabPage7」を追加しましょう。
Form1の「SceneChange」プロシージャの「Select」文に
[文字正表示]シーン変更処理のコードを追加します。
Case 7 '[文字正表示]シーン変更処理 '1文字毎表示用の変数を初期化 intFrame = 0 '1文字毎に正しい角度で表示するためにタイマーをセット(0.5秒毎) Me.Timer1.Interval = 500 Me.Timer1.Enabled = True 'タブのページを切り替える Me.MainTab.SelectedIndex = intScene - 1 |
Form1の「SceneProc」プロシージャの「Select」文に
[文字正表示]シーン表示処理のコードを追加します。
'文字正表示の描画処理を行なう If intFrame < Moji.Length Then intFrame = intFrame + 1 Call DrawTabPage7() Else '次のシーンへ Call SceneChange(intScene + 1) End If |
「TabPage7」に正しい角度の文字を描画するための処理を行なう
「DrawTabPage7」プロシージャをコードに追加します。
'TabPage7の描画処理 Private Sub DrawTabPage7() If Not Moji Is Nothing Then Dim g As Graphics = Me.TabPage7.CreateGraphics '正しい角度の文字を表示 For i As Integer = 0 To Moji.Length - 1 If i < intFrame Then Moji(i).DrawMoji(g, MojiDrawType.DrowNotTurn) Else Moji(i).DrawMoji(g, MojiDrawType.DrawTurn) End If Next End If End Sub |
「Form1」の「コードエディタ」ウインドウを表示し、
クラス名「TabPage7」をクリック、メソッド名「Paint」
をクリックすることで「TabPage7_Paint」
イベントプロシージャが追加されます。
「TabPage7_Paint」イベントプロシージャにコードを追加します。
'TabPage7の描画処理 Call DrawTabPage7() |
それではデバッグ開始を実行してみましょう!

「正しい文字を探せ!」画面に文字が表示されましたね。
タイマーで順に文字が正しい角度で表示されることを確認してください。