ブロック崩し風テニス

Similar documents
ルーレットプログラム

ブロック パニック

インベーダープログラム

アプリケーション

グラフィックス

3D回転体プログラム

かべうちテニス

ドッグファイト

倉庫番

バスケットボール

VB.NET解説

データアダプタ概要

ドライブは安全運転で in 滋賀♪

神経衰弱ゲーム

プロシード

ファイル操作-インターネットキャッシュ

パラパラ漫画

占領双六ゲーム

ランボール

はるよちゃんっ!

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

Userコントロール

回文作成支援プログラム

相性占いプログラム

(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O)

正規表現応用

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

Microsoft Word 練習問題の解答.doc

VB実用⑦ エクセル操作Ⅰ

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

ウィンドウ操作 応用

NotifyIconコントロール

ICONファイルフォーマット

チア ダンス

ListViewコントロール

ファイル操作

Microsoft Word -

Microsoft Word - VB_10.doc

DAOの利用

チャットプログラム

画像閲覧プログラム

パラパラ漫画

プロセス間通信

回文作成支援プログラム

VFD256 サンプルプログラム

Prog2_12th

ファイル監視

Microsoft Word - VB.doc

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

回文作成支援プログラム

PowerPoint プレゼンテーション

Public Grid As ReverseGrid Public Position As Point ' 論理位置 Public Rectangle As Rectangle ' 物理位置 Status; 黒 白 なしの状態 Grid; オセロの盤面 Position; 盤面内の説明 Rectan

わにわにパニックプログラム

データを TreeView コントロールで表示 VisualStudio2017 の Web サイトプロジェクトで bootstrap, 及び script フォルダの js ファイルが使用できるマスターページを親とする TestTreeView.aspx ページを作成します 下記の html コー

データベース1

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

スロットプログラム

回文作成支援プログラム

sinfI2005_VBA.doc

ウォームアップ講座 17~30

万年暦プログラム

3D回転体プログラム

Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー

Microsoft Word - VBA基礎(3).docx

3D回転体プログラム

何時何処で誰が

Prog2_15th

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ

Secure iNetSuite for .NET 4.0Jの新仕様について

万年暦プログラム


スレッド操作 タイマー

CodeGear Developer Camp

神経衰弱ゲーム

With sqlda sqlda に SelectCommand を追加.SelectCommand = New MySqlCommand() With.SelectCommand.CommandType = CommandType.Text.CommandText = "select * from


VB実用⑩ エクセル操作Ⅳ

万年暦プログラム

画像閲覧プログラム

1. 入力画面

占領双六ゲーム

データベースⅠ

スライド 1

VB実用⑯ 印刷Ⅵ(Excel)

PowerPoint プレゼンテーション

VB実用⑬ 印刷Ⅲ(PrintFormメソッド)

モグラ叩きプログラム

D0050.PDF

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D

プラグイン

GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される

データベースⅡ

万年暦プログラム

VB実用③ アクセス操作Ⅰ

Ver.1.1

GUIプログラムⅣ

回文作成支援プログラム

Case 0 sqlcmdi.parameters("?tencode").value = Iidata(0) sqlcmdi.parameters("?tenname").value = Iidata(1) 内容を追加します sqlcmdi.executenonquery() Case Else

VB.NET解説

Transcription:

ぱっくんフィッシング VB 2005 13 プログラムの概要 パーティゲームとして良く知られた釣りゲームです マウスで釣り糸を操作して 開閉する魚の口に餌を垂らし 魚が餌を咥えると 釣り上げ 籠の中に入れます 直ぐに口を開けて 海に逃れる魚 中々餌を離さず 籠に入らない魚と 色々なバリエーションが楽しめます 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い 此処では ゲームプログラムを作成する事に依り 楽しみ乍ら プログラムの制作手順を習得する事を目的として居る 制作手順としては 実際の作業過程に従い 段階的に機能を追加する方法を採用して居る 此のプログラムを土台に 更に 各自で機能を追加して行く事が望まれる 今回の課題項目 アプリケーション画面のデザイン ( 標準コントロールの利用 ) プログラムの動作原理 ( イベント駆動型のプログラム ) プログラムの構成要素 ( オブジェクトとプロパティ ) 値の代入 ( 変数 オブジェクトのプロパティ ) グラフィックスの利用 (Graphics オブジェクト ) 条件に応じた処理 (If 文の利用 ) 自動的に行われる処理 ( タイマーの利用 ) -1-

オブジェクト プロパティ一覧 パネル ラベル 1 ピクチャボックス 1 ピクチャボックス 2 ピクチャボックス 4 ピクチャボックス 5 ピクチャボックス 3 ピクチャボックス 6 ラベル 2 ラベル 3 タイマー ボタン コントロールの種類 プロパティ プロパティの設定値 フォーム Name fishing Text パックンフィッシング パネル Name pnlscreen BackColor 192, 255, 255 Size 400, 399 ラベル1 Name lblhit BackColor Black( 黒 ) ForeColor Red( 赤 ) Text HIT!! ピクチャボックス1 Name picline line.gif Size 5, 100 ピクチャボックス2 Name picfish0 fish0a.gif Size 30, 30-2-

コントロールの種類 プロパティ プロパティの設定値 ピクチャボックス3 Name picfish1 fish1a.gif Size 30, 30 ピクチャボックス4 Name picfish2 fish2a.gif Size 30, 30 ピクチャボックス5 Name picsea Imege sea.gif Location 0, 350 Size 350, 50 ピクチャボックス6 Name picbank Imege bank.gif Location 350, 316 Size 50, 83 ラベル2 Name lbltime AutoSize False BackColor Blue( 青 ) ForeColor Red( 赤 ) Text 180 TextAlign MiddleRight ラベル3 Name lblscr AutoSize False BackColor Blue( 青 ) ForeColor White( 白 ) Text 0 TextAlign MiddleRight ボタン Name btnstart Text START!! タイマー Name tmrgo Interval 1000-3-

プログラムリスト Public Class fishing Private B( 2, 1 ) As Bitmap Private P( 2 ) As PictureBox Private F( 2 ), S, T As Integer ' ゲームを初期化する自作メソッド Private Sub GameInit( ) P( I ).Top = 360 : F( I ) = 0 S = 0 : lblscr.text = "0" T = 180 : lbltime.text = T.ToString( ) 1 コード記述画面を表示して左記のコードを入力する 2 上記 1 と同様に コード記述画面を表示して 左記のコードを記述する ' フォームが読み込まれた時の処理 Private Sub fishing_load( ByVal sender As Object, ByVal e As System.EventArgs ) _ Handles Me.Load B( I, 0 ) = New Bitmap( "fish" & I.ToString( ) & "a.gif" ) B( I, 1 ) = New Bitmap( "fish" & I.ToString( ) & "b.gif" ) P( I ) = Me.pnlScreen.Controls( "picfish" & I.ToString( )) Call GameInit( ) ' パネル上でマウスカーソルが移動した時の処理 Private Sub pnlscreen_mousemove( ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs ) Handles pnlscreen.mousemove picline.top = e.y : picline.left = e.x If F( I ) < 0 Then P( I ).Top = picline.top + 95 P( I ).Left = picline.left - 12 lblhit.visible = False ' ボタン ( スタート ) がクリックされた時の処理 Private Sub btnstart_click( ByVal sender As System.Object, ByVal e As System.EventArgs ) _ Handles btnstart.click Call GameInit( ) : tmrgo.enabled = True -4-4 3 フォーム上のコントロールを配置して居ない処をダブルクリックして コード画面を表示し 左記のコードを入力する デザイン画面で イベント画面に切り替える 其の後 MouseMove の項目をダブルクリックして コード記述画面を表示し 下記のコードを入力する 5 デザイン画面で ボタンをダブルクリックして コード画面を表示し 左記のコードを入力する

' タイマーが一定間隔で行う処理 Private Sub tmrgo_tick( ByVal sender As Object, ByVal e As System.EventArgs ) _ Handles tmrgo.tick T -= 1 : lbltime.text = T.ToString( ) If T < 1 Then tmrgo.enabled = False MsgBox( "Game Over!", MsgBoxStyle.Information, " 終了 " ) Exit Sub If F( I ) = 0 Then If Int(Rnd( ) * 2 ) = 1 Then P( I ). = B( I, 0 ) P( I ).Left = Int( Rnd( ) * 70 ) + I * 100 P( I ).Top = 333 F( I ) = 1 ElseIf F(I) = -1 Then If Int( Rnd( ) * 5 ) < 1 Then F( I ) = 0 : P( I ). = B( I, 1 ) Do Until P( I ).Top > 350 P( I ).Top += 10 : Application.DoEvents( ) System.Threading.Thread.Sleep( 100 ) If P( I ).Top > 316 Then If P( I ).Left > 350 Then S += 1 : lblscr.text = S.ToString( ) Exit Sub Loop ElseIf F( I ) > 10 Then P( I ).Top = 360 : F( I ) = 0 ElseIf ( F( I ) - 1 ) Mod 2 = 1 Then P( I ). = B( I, 1 ) : F( I ) += 1 ElseIf ( F( I ) - 1 ) Mod 2 = 0 Then P( I ). = B( I, 0 ) : F( I ) += 1 If picline.top > 238 And picline.top < 242 Then If picline.left = P( I ).Left + 12 Then F( I ) = -1 : lblhit.visible = True End Class 6 デザイン画面で タイマーをダブルクリックして コード画面を表示し 左記のコードを入力する -5-

ワンポイントアドバイス 複数行に亘るステートメント 長いステートメントは 行継続文字で有るスペースとアンダースコアの組み合わせ ( _ ) を使用して 複数行に分割して入力する事が出来る 上記の例では イベントプロシージャの宣言文で 行継続文字を用いて Handles 句以下を次の行に記述して居る ( テキストでは 紙面の都合で 此の様な記述を仕て居る事が多い ) 但し 行継続文字に続けてコメントを入力する事は出来ない 例えば 下記のコードでは 構文エラーが発生する MsgBox(" エラー番号 :" & Err.Number & vbcrlf & _ Err.Description, _ MsgBoxStyle.Critical) ' エラー番号 ' エラー詳細 コンピュータは 構造上 縦スクロールに比べて 横スクロールはスムースではない 其の為横に長いコードは 見通しが悪く成る為 此の行継続文字を使用して 横スクロールしなくても良い長さに調整する事を推奨する 1 行に複数のステートメント 逆に ステートメントが短い場合等では ステートメントをコロン ( : ) で区切り 複数のステートメントを 1 行に記述する事が出来る Scr = 0: lblscr.text = Scr.ToString( ) Los = 0: lbllos.text = Los.ToString( ) 見通しの良いコードは 開発効率も向上するので 徒にスクロールしなくても良い様にコードを記述する事が望ましい 但し コードを読み易くする為に 適宜 空行を挿入する事も 必要な事で有る 要は 読み易いコードを記述する事を心掛けると謂う事で有る -6-