14.event-handling

Similar documents
Microsoft Word - VB.doc

簡単ラベル作成 印刷マニュアル

C#の基本

スライド 1

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

PowerPoint プレゼンテーション

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとア

マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System 操作説明ビデオなどは 高校 情

1 Word2007 を立ち上げて 表を作って内容を入力し 体裁を整える 1 時間の関係で あらかじめ下記のような簡単な文書を作成して デスクトップにファイル 旅行案内操作前 1 を置いてありますからこのファイルをダブルクリックして開いて下さい (* 時間のある方は末尾に表の挿入方法などを参考に書い

BizBrowser SmartDevice Android開発用スタートアップガイド

やさしくPDFへ文字入力 v.2.0

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

ご注意 1. 本ソフトウェアの著作権は 株式会社サトーにあります 2. 本ソフトウェアおよびマニュアルの一部または全部を無断で使用 複製することはできません 3. 本ソフトウェアは コンピュータ 1 台につき 1 セット購入が原則となっております 4. 本ソフトウェアおよびマニュアルは 本製品のソフ

スライド 1

アクション講座 第1回目

Microsoft Word - ラベルマイティStep1.doc

ブックタック印刷シート

大阪ガス株式会社 情報通信部 御中

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

PowerPoint プレゼンテーション

ブロック パニック

Word2007 Windows7 1 パンジーを描こう 暮らしのパソコンいろは 早稲田公民館 ICT サポートボランティア

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

初めてのプログラミング

2.Picasa3 の実行 デスクトップの をダブルククリック 一番最初の起動の時だけ下記画 面が立ち上がります マイドキュメント マイピクチャ デスクトップのみスキャン にチェックを入れ続行 これはパソコン内部の全画像を検索して Picasa で使用する基本データを作成するものですが 完全スキャン

1. パソコンに接続しているプロテクトキー (HASP) を外します 2.Microsoft Edge などのブラウザから のアドレスのホームページを起動します 3. 最新のプロテク

環境確認方法 (Windows の場合 ) OS 動作環境日本語版 Windows 7, 8, 8.1, 10 であること 確認方法 Windows キーを押しながら R キーを押します または [ スタート ] メニューから [ ファイル名を指定して実行 ] ( または [ プログラムとファイルの

ブロック崩し風テニス

第2章 Macintoshの基本操作

ふれんずらくらく流通図面マニュアル

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

X 2, 部分詳細図CADWe ll Tfas 3 [ ビューポートシートの参照元領域を指定して下さい ] というメッセージが表示されます 部分詳細図を切り出したい範囲を対角で指示します SD -- WD クリック 1, 40A, 65A, 100A, 10

1.Picasa3 のダウンロードとインストールの方法 (1) アドレス を入力 (2) Picasa3 のダウンロードをクリックする (3) セキュリティ保護のため をクリックする 2

PowerPoint プレゼンテーション

Microsoft Word - macマニュアル【 】.doc

ことばを覚える

UMLプロファイル 機能ガイド

PowerPoint2007基礎編

Word編2 宛先の氏名を入力する職人編宛名を入力するための画面が表示されます 姓と名の間にスペースを入れて氏名を入力します ボタンをクリックして敬称を選びます [ 連名 情報 ] タブをクリックします 必要に応じて [ 名前 ] 欄をクリックして連名を入力します 3 宛先の住所を入力する [ 自宅

PowerPoint2003基礎編

PowerPoint プレゼンテーション

JavaScript 演習 2 1

テキストファイルの入出力1

文字入力PRO.doc

Microsoft Word A02

目次 1. プロフィール画像工房の概要 3 2. プロフィール画像の作成 8 3. プロフィール画像の登録 まとめ 27 レッスン内容 プロフィール画像工房 インターネット上に提供されているさまざまなサービス ( これ以降 サービス と記述します ) を利用するときには 利用するユーザー

CommonMP Ver1.5 インストール手順書 目 次 1. 概要 目的 必要動作環境 ハードウェア構成 ソフトウェア構成 CommonMP のインストール手順 利用フロー

関数の定義域を制限する 関数のコマンドを入力バーに打つことにより 関数の定義域を制限することが出来ます Function[ < 関数 >, <x の開始値 >, <x の終了値 > ] 例えば f(x) = x 2 2x + 1 ( 1 < x < 4) のグラフを描くには Function[ x^

目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

Microsoft Word - Grspes…~…j…}…j…–…A…‰6.0.doc

基礎からの MySQL 改訂版 は Windows10 や Windows8.1 にも対応しています Windows10 および Windows8.1 をお使いの読者が 基礎からの MySQL 改訂版 を読み進めると きの補足説明 1. 基礎からの MySQL 改訂版 の Windows10 および

目次 1. デジタル押し花の作り方 3 2. デジタル押し花をきれいに仕上げる方法 まとめ 課題にチャレンジ 19 レッスン内容 デジタル押し花 マイクロソフト社のワープロソフト Word 2010( これ以降 Word と記述します ) の図ツールに搭載されている [ 背景

試作ツールは MIT ライセンスによって提供いたします その他 内包された オープンソース ソフトウェアについてはそれぞれのライセンスに従ってご利用ください

Microsoft Word - 補足説明_Win7_Server2008R2__R1.doc

SnNCutCnvs ステッカーウィザードを使ってデザインを作成する ここでは スターターキットに付属している A4 サイズ (210 mm 297 mm) のプリントステッカーを使用する場合の例を説明します [ ステップ 1] エリアサイズを変更します パソコンの場合 : 編集画面 >[ プロジェ

目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

1. はじめに 本書は スプリット演算器 MFS2 用コンフィギュレータソフトウェア の取扱方法 操作手順 注意事項などを説明したものです Windows の操作や用語を理解している方を前提にしています Windows の操作や用語については それぞれのマニュアルを参照してください 1.1. MFS

Microsoft Edge の場合 (1) Mizdori 無料体験版ダウンロード画面の [ 体験版ダウンロード ] ボタンをクリックします (2) Edge の下部に mizdori_taiken_setup.zip について行う操作を選んでください と表示され ますので [ 開く ] をクリッ

一太郎2014 徹 ダウンロード版 インストールガイド

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

EP-708A

Multi LABELIST V5 練習マニュアル - 様々な発行方法編 第 1 版 2013 年 3 月 18 日 株式会社サトー

Windows用タブレットドライバー簡易ガイド

産能大式フローチャート作成アドインマニュアル

RS-MS1A ~オフライン地図について~

はじめに SDP Generator は オーバーレイに対応した JVC カメラに画像をインポートするデータファイル (SDP ファイル ) を生成するためのアプリケーションです 本アプリケーションを使用することで スコアボードのチーム名に チームロゴや画像化された多言語の文字をカメラ映像に表示する

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

EPSON GT-S620/GT-F720 活用+サポートガイド

Transcription:

14. Event-Handling イベント処理 (Event Handling) 今回は Windows の Form アプリケーションで 様々なイベント を表示する時のプログラムです 題材として 以下のプログラムを使います 何のプログラムか? 見ての通りです 全く同じプログラムで 先頭 の数行を変更するだけでサイズや通路の広さを変えることができます 試してみてください なお 縦 と 横 のサイズは一致させています 今回のプログラムでは プログラムの主要なパーツは ファイルで提供します 関数群は提供されたファイルからコピーし Form1_parts.h のファイル名で manaba にアップしますので 必要に応じてダウンロードしてください 但し Event 処理などのプログラムの骨格となる部分は 各自が生成してください 1

13.Sorting-Algorithm まず 教材の先頭部分です 定義を行います #define MAZE_SIZE 31 #define BLOCK_SIZE 10 #define SPACE 0 #define WALL 1 #define ENTRANCE 2 #define EXIT 3 #define I_AM_HERE 4 MAZE_SIZE は 迷路のサイズで 必ず奇数で設定してください 理由は 壁 通路 壁 通路と組み合わせていって 最後は壁になるため 迷路を表す行列 のサイズが必ず奇数になるためです ブロックサイズは 通路の幅 で ピクセル数で指定します 従って この迷路を実現する には 迷路のゾーンは 31 10 = 310 で 310 ピ クセル以上の大きさに設 定します 各自 適当な数値 に変えて試してみてください 次に Form に部品を配置してください 今回は 全部で部品数は 5 つです Button makemaze 迷路の作成 ボタン Label elapsed 経過時間表示用 Label label1 メッセージ表示 PictureBox zone 描画領域 Timer timer1 時間カウント用 2

14. Event-Handling また 変数は以下のものを使います array<int,2> ^maze; Bitmap^ bmppicbox; int current_x, current_y; int span_sec, span_min; SolidBrush ^brushblue; SolidBrush ^brushyellow; SolidBrush ^brushgreen; SolidBrush ^brushwhite; SolidBrush は ペンキ塗りのハケ です 予め 青 黄色 緑 白 を用意しておいて描画に使用します span_sec, span_min には 経過秒 経過分を記録します current_x, current_y は 今現在の X 座標と Y 座標を保存します bmppicbox は Bitmap で zone のグラフィクス領域を予め取得しておきます これらの実体定義を #pragma endregion の後に置きます これらの変数の コンストラクタ デストラクタも忘れず実行してください 3

13.Sorting-Algorithm ここで まず Form1 の属性 KeyPreview を true に設定します これは 迷路を抜ける操作のためにキーボ ードから読み込んだ char データ をプログラムで読み込めるようにします makemaze ボタンは このボタンが押されると 迷路の作成処理 を実行します make_maze(); という関数を用意してあるので ボタンが押されたら make_maze() をコールするようにプログラムして下さい ボタンが押された時の処理は 画面上のボタンをダブルクリックすることで 関数 の入れ物が自動的に生成されます 4

14. Event-Handling ここから 今日の新しい内容です 画面に配置した様々な部品には Event が定義されています Form1 に対してイベント属性の定義を表示させてください Click は クリックされた 時に呼び出される関数を定義します DoubleClick は ダブルクリックされた 時の関数 他にも マウスが範囲内に入った時の処理関数など 様々な イベン ト を定義することができます Form のデザイン画面上でダブルクリックした時に自動生成される イベントは 1 種類ですが 実際には様々なイベントがあります ここでは KeyPress イベントに対するイベントハンドラを登録し て キー入力を表示させずに制御用に取り込んでみます Form1 のイベントの KeyPress の関数入力部でダブルクリックします そうすると Form1.h には Form1_KeyPress というイベン トハンドラ関数が自動生成されます これはちょうど makemaze ボタンをクリックした時に makemaze ボタンのクリック用イベントハンドラが自動生成され たのとおなじことです この自動生成されたイベントハンドラから key_proc( ); という関数 をコールしてみましょう 但し ここではキーコードを処理するので e -> KeyChar というパラメータを手渡します key_proc( (int)e->keychar ); 5

13.Sorting-Algorithm さらに 今回は新しく Timer のイベントを定義しました ここでは 時計 を動かすだけのためにタイマーを使っていますが 実際のゲームでは 0.2 秒ごと (1 秒間に 5 コマ ) などの早さで キャラクターの絵を変化させるのに使ったりします ここで タイマー のデザインアイコンをクリックして プロパティを表示させてみてください Interval という値があります ミリ秒単位でタイマーを起動することができます Enabled のプロパティ値が True になると このタイマーは起動します ここでは 1000 ミリ秒に設定しましょう タイマーの値が設定値になった時 (1000 になった時 ) に 呼び出される関数を イベント定義のペインで設定します Tick の部分をダブルクリックすると Tick のイベントハンドラが自 動的に生成されます タイマーが時間になった時の処理 は 付属のファイルに含まれていますので それを使ってください 今回は 自動生成された Tick のイ ベントハンドラでは timer_tick( ); という関数をコールするだけで実装ができます 6

14. Event-Handling ここまでの イベントハンドラと パラメータの宣言部の画面を見ると 次のようになっています 報告課題(1) 上記の説明に従い manaba からダウンロードした関数も活用して 迷路プログラムを完成させてください 実行時のスクリーンショットを添付してください ここまでで C 評価 (6 点相当 ) とします 報告課題(2) 迷路のサイズを変えて 動作させ 変更点について説明し サイズを変えた迷路のスクリーンショットを添えて報告してください ( ここまでで評価を1 段階上げ 漏れがなければ B 評価とします ) 報告課題(3) 迷路作成から 30 秒が経過すると Time Out で Game Over となるようにプログラムしてください ここまでの報告で A 評価とします (10 点満点中 8 点 ) 報告課題 (4) 迷路作成アルゴリズムの問題です 現在のアルゴリズムは 何も接続されてい ない柱 を 必ず 壁 に接続するようにプログラムされています 7

13.Sorting-Algorithm 壁 mark 配列には 2 が格納されています これによって 出方が1 通りの迷路 ができるようになります 柱を柱に接続し 外側の壁につながっていない 壁 も生成可能とするには まだ壁に接続されていない柱(mark が 1) を まだ壁に接続されていない柱 と接続させても構わない というアルゴリズムに修正すると 出方 が複数とおりある迷路となります 接続先の mark 配列が 1 であっても 壁を作る ようにアルゴリズムを修正して 出来上がった迷路を比較してください ここまでの報告で S 評価とします (10 点満点中 9 点 ) 報告課題(5) 出方が複数ある迷路で 乱数 によって 障害物 を生成させると どんな画面になるか プログラムに挑戦してみて下さい 障害物は 赤い とします この課題に成績の上限は設けません 8