マルチメディア基礎
( 第 11 回 )
情報学科
西 宏之
授業計画 ( シラバスより )
① オリエンテーションにより,メディアの種類と概念を学ぶ→【復習】プログラミング環境 (Visual Studio Comunity) を各自イ ンストール
② 色情報がコンピュータ上でどのように表現されているかを学び,色情報を加工するための基礎知識を身に付ける.光の三原 色,えのぐの三原色の関係を理解する.
③ 上記の理解度小テスト1を実施する. Visual Studio Community のインストール方と使い方を学ぶ.→【復習】講義中に作成 開始した簡単な画像表示プログラムを完成
④ 理解度小テストの復習・振り返りを行うとともに,写真表示プログラムの練習問題を完成させる. →【復習】講義中に作 成開始した簡単な画像切り替え表示プログラムを完成
⑤ Visual Basic の基本的文法を学ぶ.繰り返し処理,判断分岐,ピクセル情報の読み込み,書き出し方法を学ぶ. その知識を 基に,カラー画像をモノクロ化する手法を学ぶ.→【復習】講義中に作成開始したモノクロ化プログラムを完成させること
⑥ モノクロ化プログラムを作成する.→【復習】講義中に作成開始したモノクロ化プログラムを完成
⑦ ネガポジ反転処理およびしきい値処理による,二値化画像作成処理を学ぶ.ネガポジ,二値化プログラムを作成する.→
【復習】二値化プログラムの完成.
⑧ 色画像情報を加工して,色合いや画像の雰囲気を変更・加工するアイデアを考案する.それに基づく,プログラムを企画す る.→【復習】これまでに学んだ知識を組合せ,さらにアイデアを盛り込んだ画像処理プログラムを考案し,プログラム作 成を開始する.
⑨ これまでに学んだ,画像処理および独自のアイデアを盛り込んだ画像処理プログラムを完成させる.→画像処理プログラム
「レポート1」提出
⑩ ゲームプログラミングの構成と考え方を学ぶ.→【復習】各自,自分が知っているゲームがどのような計算機能を行ってい るかを分析しておくこと.
⑪ゲーム処理に必要な乱数発生とそのプログラミング作法を学ぶ.→【復習】乱数発生技法を応用して,「ビンゴ」プログラ ムを作成
⑫ゲーム処理に必要なタイマー管理とそのプログラミング作法を学ぶ.→【復習】タイマー管理技法を応用して,「ストップ ウオッチ」プログラムを作成
⑬ゲーム処理に必要なサウンド再生機能とそのプログラミング作法を学ぶ.→【復習】サウンド再生機能を応用して,音楽プ レーヤーアプリを作成
⑭これまでに学んだ,技法を応用したモグラたたきゲームプログラムを作成する.→これまでの理解度小テスト2を行う
⑮モグラたたきゲームに,ハイスコア表示など独自の機能を付け加える企画を行い,そのプログラム作成を開始する.→【復 習】独自機能を追加したモグラたたきゲームを作成する.
⑯企画した独自機能付きモグラたたきゲームプログラムを完成する.→【復習】継続して独自機能を追加したモグラたたき ゲームを作成し, 「レポート2」提出
これからの学習内容
• 乱数の発生
– 乱数はゲームプログラミングに必須の機能
– 「 a=rnd() 」 とすると,実数の変数 a に 0 以上 1 未
満の有効数字 7 桁の乱数が代入される.
– 乱数の初期化
• rnd を単独で使用すると,いつも同じ乱数系列が出力される
• 「 Randomize() 」関数を使って乱数系列を変えて使うと良い
.→ Form の Load イベントで使うとよろしい.
• タイマー
– タイマーはコントロールが用意されている
– Enable プロパティと Interval プロパティが肝 ( キモ )
• サウンド再生機能
システムが与える乱数は0~1
欲しい数字によって整数倍する
• 0 ~ 9 の数字なら
– Label1.Text = Int(Rnd() * 10)
• 1 ~ 10 の数字なら
– Label1.Text = Int(Rnd() * 10) + 1
• 1 ~ 99 なら
– Label1.Text = Int(Rnd() * 99) + 1
• 1 ~ 100 なら
– Label1.Text = Int(Rnd() * 100) + 1
• a ~ b なら
– Label1.Text = Int(Rnd() * (b-a+1)) +
a
コマンドボタンが押されると 1 以下の
小数の乱数を表示するプログラム
乱数関数 (Rnd) は 0 ~ 1 の小数を発生してく
れる
乱数を使う前に乱数の初期化が必要
プログラムが立ち上がった時に 1 回だけ実行
したい処理は、フォームをダブルクリックし
て記述すること
Form1_Load( フォームをダブルクリック )
開いた窓に Randomize() と記述
Button1_Click( 「乱数発生」ボタン )
Dim a As Single
a = Rnd()
Label1.Text = a
コマンドボタンが押されると,双六ゲーム用にサ
イコロと同じ, 1 から6までの数が表示されるプ
ログラム
サイコロの例
• Form1_Load( フォームをダブルクリック )
– Randomize()
• Button1_Click( サイコロボタン )
– Dim a As Integer
– a = Rnd()
– Label1.Text = Int(Rnd() * 6) + 1
• Button2_Click( 終了ボタン )
– Me.Close()
練習問題:作ってみよう
コマンドボタンが押されると,ビンゴゲーム用に2桁の数字が表示されるプログラム