全国プログラミングコンテスト

課題研究報告書
-全国プログラミングコンテスト班-
研究者
足立駿平 加藤雅人
川本勝成
塚本宏文 前山幸
真中諒太
村田裕紀 吉野我士磨
担当教員
清野先生
酒井先生
はじめに
1
私たちプログラミング班は、全国プログラミングコンテストの競技部門「CHaser2010」
に参加するために、コンテスト用のプログラム開発に取り組んだ。
CHaser2010 を終えた後、プログラミング能力の向上を図るために、それぞれがオリジナ
ル作品の制作に取り組んだ。
2 研究概要
① 全国プログラミングコンテスト
CHaser 2010
②個人作品
(塚本・前山)
「VB de マインスイーパー」
(真中・村田・吉野)
「通信ジャバリス」
(足立)
「簡易掲示板」
(加藤)
「弾幕系シューティング」
(川本)
「シューティング+」
3
開発環境
PC
…FM-VE62R111
OS
…Windows XP Professional
CPU …Pentium4 3.6GHz
メモリ…0.98G RAM
4 研究内容
①CHaser2010
Java 言語の学習を4月~7月まで行い、学習終了後 CHaser2010 用のプログラミングを
開始した。夏休みの期間中には各個人が作成したプログラム同士を総当たり形式で対戦さ
せ、その結果をもとにプログラムの改良を随時行った。10月には予選提出用のプログラ
ムを選出するために、総当たり戦の成績から上位4つのプログラムを対戦させ、以下の3
つを予選に提出した。
KKK1
足立
塚本
前山 村田
KKK2
川本
塚本
前山 真中
KKK3
足立
加藤
村田 吉野
※ K
(久喜
1
K
工業
K
高校)
大会結果は以下の通りとなった。
埼玉県大会予選
KKK1・・・23 位
KKK2・・・ 4 位 (優良賞)
KKK3・・・ 6 位 (優良賞)
全国大会予選
KKK1・・・14 位
KKK2・・・40 位
KKK3・・・ 5 位 (決勝進出)
図 1 賞状
全国大会決勝
KKK3・・・3 位
②個人作品
・
「VB de マインスイーパー」
塚本宏文
前山幸
私たちは、3年の授業で学んだ VB の理解をより深めるために「マインスイーパー」とい
うパズルゲームの制作に取り組んだ。分担は、
〔塚本:プログラム〕〔前山:デザイン〕と
分け、作業を進めていった。
プログラム面では、プレイするユーザを意識したつくりを目指した。例えば、ユーザの
レベルに合わせて難易度の自由な選択や、カスタム機能の追加、より自由度が増した盤面
でのプレイなどを出来るようにした。又、ランキング機能により、ユーザが残した今まで
の記録を残せるようにした。その他に、処理速度の向上・扱いやすさ等も考慮して、プロ
グラム設計を行った。
デザイン面では、
「やさしい・やわらかい」などをコンセプトとし、フリー素材や自分で
加工した画像を用いてデザインの構成を行った。画像編集自体あまり経験がなく苦労を強
いる部分があったが、マスの背景・画像の配置など自分の満足のいくような形に仕上げる
ことが出来た。
まだ私たちの作品は完成に至ってないところがあるので、私たちの満足のいくような作
品に仕上げられるようにしていきたい。
図 2 スタート画面
図 3 ランキング画面
2
図 4 プレイ画面
・
「通信ジャバリス」 真中諒太
村田裕紀
吉野我士磨
プログラミングコンテストのために学んだ Java 言語を利用
して、通信対戦ができるテトリスを制作した。ゲーム本体の制作
は真中、ネットワークプログラムの制作は吉野がメインで行った。
ゲーム本体としては様々なサイトのコードを参考にし、通常の
テトリスを制作した。今後の課題として、要素を追加しもっと楽
しめるものにするようにしていきたい。
ネットワークプログラムは様々な方法があるが、その中のソケ
ット通信(※1)を使用して制作をしている。
図 5 ゲーム画面
・
「簡易掲示板」
足立駿平
今回作成した掲示板は、PHP(※2)を用いて
記述した。自分が PHP を選んだのは将来役に立つ
と思ったのに加え、文法が簡単なので覚えやすい
ためである。現在は、テキスト形式で文章を保存
するのに加えて表示するだけという機能しかない
が、将来的にはデータベースを使って検索機能な
ども追加する方針である。
図 6 実行画面
・
「弾幕系シューティング」 加藤雅人
私は HSP(※3)言語を使い、シューティングゲームを制作した。HSP 言語を利用した
理由はアプリケーションの作成が容易で、インタプリタ言語のためエラー発見しやすい特
徴があるためである。
コンセプトとしてはインベーダーゲーム風になる予定だったが、制作を重ねるうちに今の
弾幕風のシューティングとなった。
基本の形は参考書をもとに制作した。原形ができた後は Web ページや動画などで公開さ
れている敵弾の軌道や動きなどのつくり方を参考にし、プログラミングを行った。
自作のドット絵を搭載できたりしたが、やられてしまった時にあるコンティニューボタ
ンやタイトル画面が味気ないなど未実装な所があるので実装させたい。
図 7 スタート画面
図 8 プレイ画面
3
図 9 クリア画面
・
「シューティング+」
川本勝成
私はゲームプログラムが作りやすい HSP 言語でシューティングゲームの制作に取り組ん
だ。
制作の際、プログラムは参考書や Web ページなどを参考にしてプログラミングし、ゲー
ム内に使用するドット絵は自分で制作をした。
まだ、自分の理想とする作品にまでは至っていないので、追加していない多数のステー
ジや複雑な相手の動きの機能を加えていきたい。
図 10 プレイ画面
図 11 ゲームオーバー画面
※1:ソケット通信
2つ以上の異なるプログラム間でデータをやり取りすること。
※2:PHP
Web サーバー上で動作するスクリプト言語である。C 言語で記述されており比較的ほか
の CGI に比べると文法などが簡単であるため様々なところで使われている。
※3:HSP (Hot Soup Processor)
フリーで入手することができ、Windows 上で手軽に使えるスクリプト言語である。
テキストによるスクリプトを書くだけで、誰でも簡単に Windows 上で動作するアプリケ
ーションを制作することができる言語である。
5
終わりに
私たちの目的である全国プログラミングコンテストでは、
「決勝3位」と優勝までには至
らなかったが、先輩たちの記録「決勝4位」の記録を塗り替えることが出来た。
個人作品では、まだ完成に至ってない部分もあるが、残りの期間を活用し、自分たちの
理想の作品に仕上げられるようにしていきたい。
4