• 検索結果がありません。

マルチメディア基礎 Professor Nishi's Lectures

N/A
N/A
Protected

Academic year: 2018

シェア "マルチメディア基礎 Professor Nishi's Lectures"

Copied!
16
0
0

読み込み中.... (全文を見る)

全文

(1)

マルチメディア基礎

( 第 11 回 )

情報学科

西 宏之

(2)

授業計画 ( シラバスより )

① オリエンテーションにより,メディアの種類と概念を学ぶ→【復習】プログラミング環境 (Visual Studio Comunity) を各自イ ンストール

② 色情報がコンピュータ上でどのように表現されているかを学び,色情報を加工するための基礎知識を身に付ける.光の三原 色,えのぐの三原色の関係を理解する.

③ 上記の理解度小テスト1を実施する. Visual Studio Community のインストール方と使い方を学ぶ.→【復習】講義中に作成 開始した簡単な画像表示プログラムを完成

④ 理解度小テストの復習・振り返りを行うとともに,写真表示プログラムの練習問題を完成させる. →【復習】講義中に作 成開始した簡単な画像切り替え表示プログラムを完成

⑤ Visual Basic の基本的文法を学ぶ.繰り返し処理,判断分岐,ピクセル情報の読み込み,書き出し方法を学ぶ. その知識を 基に,カラー画像をモノクロ化する手法を学ぶ.→【復習】講義中に作成開始したモノクロ化プログラムを完成させること

⑥ モノクロ化プログラムを作成する.→【復習】講義中に作成開始したモノクロ化プログラムを完成

⑦ ネガポジ反転処理およびしきい値処理による,二値化画像作成処理を学ぶ.ネガポジ,二値化プログラムを作成する.→

【復習】二値化プログラムの完成.

⑧ 色画像情報を加工して,色合いや画像の雰囲気を変更・加工するアイデアを考案する.それに基づく,プログラムを企画す る.→【復習】これまでに学んだ知識を組合せ,さらにアイデアを盛り込んだ画像処理プログラムを考案し,プログラム作 成を開始する.

⑨ これまでに学んだ,画像処理および独自のアイデアを盛り込んだ画像処理プログラムを完成させる.→画像処理プログラム

「レポート1」提出

⑩ ゲームプログラミングの構成と考え方を学ぶ.→【復習】各自,自分が知っているゲームがどのような計算機能を行ってい るかを分析しておくこと.

⑪ゲーム処理に必要な乱数発生とそのプログラミング作法を学ぶ.→【復習】乱数発生技法を応用して,「ビンゴ」プログラ ムを作成

⑫ゲーム処理に必要なタイマー管理とそのプログラミング作法を学ぶ.→【復習】タイマー管理技法を応用して,「ストップ ウオッチ」プログラムを作成

⑬ゲーム処理に必要なサウンド再生機能とそのプログラミング作法を学ぶ.→【復習】サウンド再生機能を応用して,音楽プ レーヤーアプリを作成

⑭これまでに学んだ,技法を応用したモグラたたきゲームプログラムを作成する.→これまでの理解度小テスト2を行う

⑮モグラたたきゲームに,ハイスコア表示など独自の機能を付け加える企画を行い,そのプログラム作成を開始する.→【復 習】独自機能を追加したモグラたたきゲームを作成する.

⑯企画した独自機能付きモグラたたきゲームプログラムを完成する.→【復習】継続して独自機能を追加したモグラたたき ゲームを作成し, 「レポート2」提出

(3)

これからの学習内容

乱数の発生

– 乱数はゲームプログラミングに必須の機能

– 「 a=rnd() 」 とすると,実数の変数 a に 0 以上 1 未

満の有効数字 7 桁の乱数が代入される.

乱数の初期化

• rnd を単独で使用すると,いつも同じ乱数系列が出力される

• 「 Randomize() 」関数を使って乱数系列を変えて使うと良い

.→ Form の Load イベントで使うとよろしい.

タイマー

– タイマーはコントロールが用意されている

– Enable プロパティと Interval プロパティが肝 ( キモ )

サウンド再生機能

(4)

システムが与える乱数は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

(5)

コマンドボタンが押されると 1 以下の

小数の乱数を表示するプログラム

(6)

乱数関数 (Rnd) は 0 ~ 1 の小数を発生してく

れる

 乱数を使う前に乱数の初期化が必要

 プログラムが立ち上がった時に 1 回だけ実行

したい処理は、フォームをダブルクリックし

て記述すること

 Form1_Load( フォームをダブルクリック )

 開いた窓に  Randomize()   と記述

 Button1_Click( 「乱数発生」ボタン )

 Dim a As Single

a = Rnd()

 Label1.Text = a

(7)

コマンドボタンが押されると,双六ゲーム用にサ

イコロと同じ, 1 から6までの数が表示されるプ

ログラム

(8)

サイコロの例

• Form1_Load( フォームをダブルクリック )

– Randomize()

• Button1_Click( サイコロボタン )

– Dim a As Integer

a = Rnd()

– Label1.Text = Int(Rnd() * 6) + 1

• Button2_Click( 終了ボタン )

Me.Close()

(9)

練習問題:作ってみよう

コマンドボタンが押されると,ビンゴゲーム用に2桁の数字が表示されるプログラム

(10)

タイマーの使い方

• Timer コントロールをフォーム上に貼り付け

• Enable プロパティを最初は false に, Interval

を例えば, 1000ms にする.

• 設定された値のタイマーイベントが発生した

とき ( つまり新しい 1000ms が経過した時 ) の

動作・処理をコーディングする.

– timer1 をダブルクリックしてコーディングする

– 例えば,「表示を1カウントアップする」場合,

– 秒を label2 ,分を label1 で表示するなら ... 次頁

(11)

秒と分のストップウオッチプログラムを作成する

If Val(Label2.Text) < 59 Then

Label2.Text = Val(Label2.Text)

+ 1

Else

Label2.Text = 0

Label1.Text = Val(Label1.Text)

+ 1

End If スタートボタンの処理は: Timer1.Enabled =

True

ストップボタンの処理は: Timer1.Enabled =

False

リセットボタンの処理は:

Timer1.Enabled = False

Label1.Text = 0

Label2.Text = 0

「 timer1 」をダブルクリックして

(12)

ストップウオッチ動作例

(13)

• 「乱数」と「タイマー」はゲームプ

ログラミングの必須機能です.

完全にマスターしよう

(14)

練習問題1

• フォームに「表示」ボタン,ピクチャー

ボックス,テキストボックスを配置

• ピクチャーボックスには何でもよいので

写真を張り付ける

• テキストボックスには任意の数字を入力

できる

• 「表示」ボタンをクリックすると,テキ

ストボックスの秒数だけ,写真が表示さ

れる.

(15)

練習問題2

• フォームに「表示」ボタン,ピクチャー

ボックスを4枚配置

• 4つのピクチャーボックスには何でもよ

いので別々の写真を張り付ける

• 「表示」ボタンをクリックすると,4枚

の中からランダムに選ばれた写真が表示

される.

(16)

練習問題3

• フォームに「表示」ボタン,ピクチャー

ボックスを4枚配置

• 4つのピクチャーボックスには何でもよ

いので別々の写真を張り付ける

• 「表示」ボタンをクリックすると,4枚

の中からランダムに選ばれた写真が「5

秒間」表示された後に消える. 

参照

関連したドキュメント

・今年 1 月より値上げが要請された印刷用紙について、8

5)

Eはサンカクホングウシダと交雑が示唆されるけれども,シンエダウチホングウシダの

C)付為替によって決済されることが約定されてその契約が成立する。信用

チューリング機械の原論文 [14]

回転に対応したアプリを表示中に本機の向きを変えると、 が表 示されます。 をタップすると、縦画面/横画面に切り替わりま

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

つの表が報告されているが︑その表題を示すと次のとおりである︒ 森秀雄 ︵北海道大学 ・当時︶によって発表されている ︒そこでは ︑五