ゲームプログラミング体験演習 2009.7.7 13:30-14:15 九州産業大学 情報科学部 米元.

Slides:



Advertisements
Similar presentations
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
Advertisements

JMP version5(以上) 日本語版のScripting Languageによる プログラミング
Flash作品制作 ~ActionScript 3.0~
難しいことは置いといて、 取り合えず 「BlazeDS」 を使って、 Flash、AIRアプリから Javaオブジェクトのメソッドを呼び出すための 手順書(Windows版) 2008年2月 Lecce.
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
プログラミング演習3 李 亜民クラス 第2回 ラスタライズ.
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
デジタルポートフォリオ作成支援ツール PictFolio 使用マニュアル
プレゼンテーション用ソフトウェア Impress
HSPでのミニゲーム作成 早稲田実業学校PC班 Y氏.
ゲームプログラミング講習 第1章 DXライブラリ入門
「サイボウズ Office on cybozu.com」 すぐできるBOOK -ワークフロー 編 -
Java言語による シューティングゲーム作成
C#によるWindowsFormApplication入門
CG作品展示サイト”Fragments” ~ 『閲覧しやすさ』と『デザイン性』を両立させた Webデザイン~
Iアプリプログラミング その1  鳥居秀徳.
Javaでゲーム  山本拓弥.
プロセッシング入門3 初歩のプログラミング.
第4回:ボールを画面内で弾ませよう! (オブジェクトの移動、二次元)
プレゼンテーション用ソフトウェア Impress
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
クロスワードゲームの 作り方を学ぼう/やってみよう ‐ボードゲームの動作機構‐
情報コミュニケーション入門 2016年度版 情報コミュニケーション入門m 総合実習(1).
ゲームプログラミング体験演習
情報学部 プログラミング体験教室 (中級編)
情報学部 プログラミング体験教室 (初級編)
プログラミング演習3 第2回 GUIの復習.
組織サイト用バナー テンプレート(大) 組織サイト名 組織サイト名 サブタイトル 半透明部分
第四回 ゲーム                 05A1054         前田嵩公.
スマホでクリッカー(1) clickest を使ってみよう.
○○小学校 情報モラル校内研修会.
迷宮師 コードレビュー チームカテキン.
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
C言語を用いたシューティング ゲームの作成
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
C言語講習 第0章 Hello, world!.
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
プログラミング演習3 第2回 GUIの復習.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
データ構造とアルゴリズム論 終章 専門科目におけるプログラミング
第6回:ラケットを動かそう! (キーボードによる物体の操作)
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
Cプログラミング演習 第10回 二分探索木.
JavaScript プログラミング演習 - じゃんけんゲーム - 「ホームページを動的に制御したい…」
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ 松尾 敏生
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
ゲームをつくろう ver PCN ( ) & IchigoJam ( )
IchigoJam(イチゴジャム)入門 上田市マルチメディア情報センター.
pf-6. スタック (Python プログラミング基礎を演習で学ぶシリーズ)
Googleマップを活用した 生物調査データベースの構築
モグラたたき.
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
C言語を用いたゲームの作成 種田研究室 05A2055 松井和幸.
pf-2. 条件分岐 (Python プログラミング基礎を演習で学ぶシリーズ)
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
Javaを用いたシューティングゲーム作成
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
C言語を用いたゲームの作成 4回目 松井 和幸.
プログラミング教室 鹿児島大学プログラミング研究会 with Scratch.
●IchigoJamを動かしてみよう 最初の画面が出る 電源スイッチを 左へ キーボードで 文字を打ってみよう.
PowerPoint の基本操作 情報機器の操作 (e).
Presentation transcript:

ゲームプログラミング体験演習 2009.7.7 13:30-14:15 九州産業大学 情報科学部 米元

体験演習の内容 「アクションゲーム」を題材にゲームプログラミングを体験します。 「ソフトウェア演習Ⅱ(3年前期)」 という講義で実際に利用しているものです。 「高大連携授業」も同様にゲームを題材としたプログラミングの講義です(締切間近!)。 「Java」というプログラミング言語を用います。 プログラムの専門知識は不要です!!

設計するゲームの概要 横スクロールアクションゲーム。 矢印キー(左右)で移動。 スペースキーでジャンプ。 アイテムをすべて集めるとクリア。複数ステージ。 5回敵キャラにあたると終了。 制限時間有。 敵 自 進行方向 プログラムでどのように 実現するか?

プログラムの構成(設計図) 「クラス」という形で役割分担 今回は 「描画クラス」 のみを編集し 最後の仕上げ を行う キャラクタ クラス Character 横スクロール背景 クラス SideScrollBG アイテム クラス Item 描画 Anim2D ゲームパラメタ P 床 Floor 敵キャラ クラス Enemy

■作成手順 「Anim2Dfrクラス」 のみ追加・編集 ①②~の順で追加 「Anim2Dfrクラス」 を右クリックで実行 段階的に作っていきましょう 「Anim2Dfrクラス」 のみ追加・編集 ①②~の順で追加 「Anim2Dfrクラス」 を右クリックで実行 ■全体の流れ ①横スクロール背景表示 ⑨床表示 ⑤アイテム表示 ⑦敵キャラの移動・表示 キャラクタの移動・表示 ③④移動+ジャンプ ⑥⑧アイテムゲット?+あたり判定 ②表示 ゲーム情報の表示とゲーム管理

1.[背景] スクロール背景を描く bg.draw(g, this); // 1. 横スクロール背景描画 を追加。 1.[背景]  スクロール背景を描く // 1. 横スクロール背景描画 bg.draw(g, this); を追加。 スクロール = 見える範囲を移動

2.[キャラクタ] 表示 を追加。 // 2. 表示 chara.draw(g, this, bg);

3.[キャラクタ] 移動 を追加。 // 3. 移動のみ chara.move(false, bg, floor);

4.[キャラクタ] ジャンプ chara.move(button, bg, floor); 4.[キャラクタ] ジャンプ // 4. 移動+ジャンプ(falseをbuttonに変更) chara.move(button, bg, floor); と変更。

5.[アイテム] 表示 // 5. アイテム描画 for (int i=0; i < item.length; i++) { 5.[アイテム] 表示 を追加。 // 5. アイテム描画 for (int i=0; i < item.length; i++) { if (item[i].view(bg)) { item[i].move(); item[i].draw(g, this, bg); }

6.[キャラクタ] アイテムをとる を追加。 // 6. アイテムゲット? chara.checkItem(item);

7.[敵] 表示 // 7. 敵キャラの移動・表示 を追加。 7.[敵]  表示 を追加。 // 7. 敵キャラの移動・表示 for (int i=0; i < enemy.length; i++) { enemy[i].move(bg); // 移動 if ( enemy[i].view(bg) ) enemy[i].draw(g, this, bg); // 表示 }  4種類の敵キャラを複数配置

8.[キャラクタ] あたり判定 if ( chara.collision(enemy) ) 8.[キャラクタ] あたり判定 // 8. あたり判定 if ( chara.collision(enemy) ) { chara.resetTime(); mode = 4; } を追加。

9.[動く床] 表示・移動 // 9. 床描画 for (int i=0; i < floor.length; i++) { 9.[動く床]  表示・移動 // 9. 床描画 for (int i=0; i < floor.length; i++) { if (floor[i].view(bg)) { floor[i].move(); // 移動 floor[i].draw(g, this, bg); // 表示 } を追加。

10.[まとめ] ゲームの構成変更① enemy = new Enemy[4]; // 敵キャラ生成 enemy[0] = new Enemy(0, 400, P.groundY, 0, Enemy.E0); enemy[1] = new Enemy(1, 800, P.groundY, 1, Enemy.E1); enemy[2] = new Enemy(2, 1000, P.groundY, 2, Enemy.E2); enemy[3] = new Enemy(3, 1000, P.groundY, 2, Enemy.E3); 編集例(3番目をスピード4、種類E2に変更) enemy[3] = Enemy(3, 1000, P.groundY, 4, Enemy.E2);

10.[まとめ] ゲームの構成変更② 編集例(2番目を少し高い位置、横長の床に変更) floor[2] = new Floor(2, 600, P.groundY -P.CH*2 ,P.CW*8, P.LEFT); floor = new Floor[3]; // 床生成 floor[0] = new Floor(0, 0, P.groundY, P.CW*4, P.STOP); floor[1] = new Floor(1, 400, P.groundY, P.CW*4, P.UP); floor[2] = new Floor(2, 600, P.groundY, P.CW*4, P.LEFT); // 待ち時間[ms]の変更(ゲームのスピード) wait = 20; // [1-60]

完成版の実行方法 // demo(); おまけ ボスキャラが最後のステージ4で出現します。 // 12. 完成版にするならコメント「//」を前につける // demo(); おまけ ボスキャラが最後のステージ4で出現します。 残り時間で遊んでみてください。

ゲームプログラミング体験演習 情報科学部に入って プログラミングを勉強しませんか? Webアンケートお願いします 九州産業大学 情報科学部 ゲームプログラミング体験演習 今回の完成版ゲーム(PC版) http://www.is.kyusan-u.ac.jp/~yonemoto/ においています。帰ってから遊んでください。あるいは http://www.is.kyusan-u.ac.jp/~yonemoto/i/actiongame/Download.html を携帯で打ち込みクリック( iアプリ版) 情報科学部に入って プログラミングを勉強しませんか? Webアンケートお願いします