VisualBasic演習。



課題が解けたら、指導者に確認してもらってください!


!基本的なエラー処理は各自で挿入してください!


※解答例が間違っているのを見つけたら、報告お願いします(汗

--------------------

★ 課題D−@ 解答例(EXE)(Made by Ao
数独」を解くプログラムを作成してください。
サンプルの問題は以下のとおりです。
問題1
問題2
問題3
xx12345xx
x3xxxxx1x
5xxx9xxx7
8xx6x3xx5
7x3xxx9x6
1xx9x7xx3
2xxx8xxx4
x9xxxxx8x
xx67253xx
x186xxx5x
5xxx2xxx6
xxx195xx8
xx59x71x3
x23xxx78x
8x72x16xx
4xx362xxx
3xxx1xxx4
x8xxx423x
xxx4xxxxx
x5x2xx36x
x7xx18xxx
xx5x8xx36
xx95x78xx
84xx3x9xx
xxx14xx2x
x81xx3x9x
xxxxx2xxx

上記をコピペして、解答例のプログラムで解いて、
動作を検証しながら作成してください。

★ 課題C−B 解答例(EXE)
課題C−Aを改良して、以下の機能を追加してください。
・数字の表示を「7segLED」のようにデジタルっぽく表示させる
※[Line]を使います。


★ 課題C−A 解答例(EXE)
課題C−@を改良して、以下の機能を追加してください。
・[HScrollBar]で、数字を表示させるスピードを調整できるようにする
→速さは「1」から「1000」です。


★ 課題C−@ 解答例(EXE)
「スロットマシーン」を作ってください。
仕様は以下のとおりです。
[Label]を横に3つ並べ、それぞれのラベルには1〜9までの整数値が入ります。
「Start」ボタンを押すと、ラベル内の数値がランダムで入り、
「Stop」ボタンをひとつずつ押して、「スロット」を揃えます。
見事同じ数字が3つ並んだら「おめでとう!」と表示させます。
数字をランダムに表示させるスピードは0.1秒ごとです。
※ランダム数字は以下の構文で発生させることができます。
-----
Randomize '乱数ジェネレータ初期化
Dim i as integer 'iを整数型で定義
i=Int(Rnd(1)*9) '0以上9以下の整数の乱数を代入
-----





★ 課題B−E 解答
課題B−Dを改良して、「○○秒経過しました」と表示される時間を
自分で設定できるようにしてください。
[ListBox]を、時・分・秒毎に使いましょう。
メッセージボックスが表示するようにしてください。
※[ListBox]内にアイテムを作るには、
[ListItem]プロパティを設定しましょう。


★ 課題B−D 解答
課題B−Cを改良して、10秒経過したら「10秒経過しました」という
メッセージボックスが表示するようにしてください。

★ 課題B−C 解答
[Label]にカウントアップの時計を表示させるようにしてください。
※つまり、「ストップウォッチ」です。 表記方法は「hh:mm:ss」です。

★ 課題B−B 解答
課題B−Aを改良し、カウントダウンの残り時間を
自分で設定できるようにしてください。
[Text]を、時・分・秒毎に使いましょう。
その際、[Text]には数字のみの入力を受け付けるようにしてください。
※文字列入力のときにエラーを出すのではなく、
数字自体しか入力できないプログラムでお願いします。
表記方法は「hh:mm:ss」です。
※数字のみの入力を受け付けるためには、[KeyAscii]を設定します。
-----
KeyAscii = Asc(0) '「0」キーが押されたとき
-----
Asc()でアスキー値を求めます。
数字だけの入力を受け付けるだけではなく、
少なくとも「BackSpace」の入力は許可しましょう。
※BackSpaceのAscii値は8です。


★ 課題B−A 解答
[Label]にカウントダウンの時計を表示させるようにしてください。
※つまり、「タイマー」です。 表記方法は「hh:mm:ss」です。
※残り10秒からカウントダウンしてください。

★ 課題B−@ 解答
[Label]に現在時刻を表示させるようにしてください。
表記方法は「hh:mm:ss」です。
※1秒ごとに時刻は更新されます。
※文字列の連結には「&」を用います。
-----
hyouji.Caption = hour & ":" & minute & ":" & second
-----
という感じです。
※この「&」は文字列連結演算子と呼ばれ、文字列と数値の連結も可能です。
※文字列同士だけであれば「+」も文字列連結演算子として機能します。



★ 課題A−C 解答
課題A−Aの「Hello World」の文字を横スクロールするよう
改良してください。

★ 課題A−B 解答
課題A−Aの「Hello World」の文字にを2秒おきに点滅するように
改良してください。
ヒント:[Timer]を使いましょう。
参考ページ:こちら

★ 課題A−A 解答
課題A−@の[Form]と[CommandButton]に色を付けてください。
何色でもOKです。
ついでに「Hello World」のFontも変えてみましょう。

★ 課題A−@ 解答
[CommandButton]を押すと[Label]に
「Hello World」と表示させるようにしてください。