ページの先頭です。 メニューを飛ばして本文へ
トップページ分類でさがすしごと・産業雇用・労働職業能力開発PHOTOギャラリー(修了課題発表会 プログラムエンジニア科第12期生)

PHOTOギャラリー(修了課題発表会 プログラムエンジニア科第12期生)

印刷用ページを表示する 掲載日:2014年3月5日更新

修了課題発表会(平成26年3月6日)

プログラムエンジニア科2年生の集大成 修了課題発表会が開催されました。

「 AndroidでTETRIS 」 K君

AndroidでTETRIS

入学当初からゲーム作成に興味があり、私が好きなゲームでもあるTETRISを作成することにしました。開発プラットフォームについては最近普及しているスマートフォンのアプリケーション開発について学びながら、Java言語の復習もできるものにしました。

初めてのAndroidアプリの開発ということで、さまざまな困難に当たることがありました。設計段階で、すでに構成していたロジックはあったのですが、実際に動かしてみるとなかなか上手く進まないということがよくありました。

なかでも描画処理に一番苦戦しました。デモ機での描画がうまくされず、ブロックの動作確認がなかなか出来ないということで時間を多く取られてしまいました。
修了課題を通して、開発、スケジュール管理の難しさを知りました。

開発環境

言語

Java.6.7

開発環境

eclipse Android SDK 4.4lデバック機 XPERIA Z

ステップ数

約1500行

クラス数

15クラス

「メイン画面」

テトリス1

テトリス2画面操作

ゲーム中の画面です。上の方法で操作します。

リザルト画面

テトリス3

ゲームオーバーまたはゲームクリアするとリザルト画面が表示されます。

リザルト画面ではスコア、消した総ライン数、到達レベルが表示されます

「クリックゲーム」 S君

クリックゲーム

私が今までに習ってきた言語の中でVBが一番自分にとってわかりやすく、VBの 復習もしたかったので、プログラム言語はVBにしました。 また、修了課題でゲームを作ってみたく、ゲームがどのようにできているのかを理解したいと思い、VBを使ったゲームを課を作ろうと思いました。

概要

画面に表示する動き回るキャラクターをクリックして得点を稼いで遊ぶゲームです。

プログラムの説明プログラムを起動するとメニュー画面が表示されます。難しさをクリックするとゲーム画面を表示します。また、ランキングボタンをクリックすると、ランキング画面が表示されます。

開発環境

  • Visual Basic 2010 Express edition
  • クラス数:4クラス
  • プログラム行数:655行

ゲーム画面

クリックゲーム
 クリックゲーム クリックゲーム

ランキング画面 パックマン for Java M君

パックマン

今までに習った言語の復習とゲームを作ってみたいという思いがありました。言語については就職先で使うjavaとし、ゲーム内容については、誰でも知っているパックマンを選びました。

ゲーム概要

パックマンとは、敵に当らないように逃げながら餌を食べ、全部食べられたらゲームクリアになるゲームです。敵に触れてしまった場合は自機数が減り、自機が無くなった時点でゲーム終了になります。

今回の修了課題をやってみて一番苦労したことは画面の描画です。最初は描画がうまくできても画面がちらついてまともにプレイできない状況でした。しかし、ネットなどを活用することで、ちらつきを無くすことができました。今までは、友達に分からなければ聞くという感じだったので、自分で解決する大変さと大切さを学びました。

開発環境

  • プログラム言語:Java7
  • 使用エディター:eclipse
  • クラス数:4クラス
  • 合計行数:約1170行

スタート画面

パックマン
 パックマン

ゲーム中の操作は、上のとおりです。

ゲームのメイン画面

パックマン

ミュージックプレーヤ for 山 Y君

ミュージックプレーヤー

普段音楽鑑賞をする際に、よく「Windows Media Player」や「mora」などを使っていたので、自分でも作成したいと思っていました。
また、2年生でVB(VisualBasic)を学んだので、その復習を兼ねてVBを使い修了課題を制作しようと思いました。 

概要

 音楽CDを再生できるミュージックプレイヤーです。シンプルでわかりやすいミュージックプレイヤーになっています。

修了課題の中でリピート機能を実装する所にかなり試行錯誤しました。一曲終了後に2曲進んだり、リストと再生曲が合っていないなど、プログラムコードをしっかり把握する前に、デバック作業を進めてしまった結果、修正規模が多くなってしまったことがあったので、コードに対する理解の必要性や作成期間全体の計画を見通す大切さも改めて感じました。 しかし、WindowsMediaPlayerコンポーネントやVBの様々なメソッドが少し理解できたことがとても良かったと思っています。

 音楽ファイルからプレイリストを作成し、それを再生したかったのですが、曲の管理がうまくいかず、実装できなかったことに心残りになりました。今後、機会があれば、それを実装した音楽プレイヤーを作ってみたいと思います。

開発環境

  • プログラム言語 VisualBasic 2010
  • プログラム行数:297行

ミュージックプレーヤー

基本操作方法について

画面下側にある水色背景部分が操作パネルです。再生と一時停止(同じボタン)、停止、前曲へ、次曲へ、CD-ROMの取り出しなどをボタンクリック操作で行えます。

なお、繰り返して同じ曲を聞きたい場合は、Repeatチェックしておくと、リピート再生することもできます。

ミュージックプレーヤー

音量を調整する

画面下のピンクの背景部分が音量パネルになっています。トラックバーを左右に変更すると、音量を変更できます。プログラム開始時の音量は「30」に設定しています。

聞きたい曲を直接指定する

画面中央の曲リストから、聞きたい曲をクリックしてリスト選択を変更すると、その曲が再生されるようになっています。

2D 横スクロールゲーム K君

2Dスクロールゲーム

横スクロールゲームが好きで、どのような仕組みで動いているのか興味があり、修了課題として取り組みたかったと考えていました。

企画段階ではプログラム言語をC++にしようと検討したが、学校で学んでいなかったので、自分の力でどうすることもできず、学校で学んだJava言語を復習しながら作成に取り組みました。

概要

横スクロールのアクションゲームです。アイテムを取りながら敵をやっつけ、ゴールを目指します。

様々な横スクロールゲームをプレイして、こんなゲーム作ってみたい!と意気込んで制作に取り掛かったのはいいものの、予想以上に難航して非常に難しかったです。特に、あたり判定の条件を考えたり、デバックするところに手間取りました。簡単な上下左右の移動だけでも結構な数のコードを打ち込んだり、接触判定や習得判定など、難関は様々ありましたが、低クオリティながらもなんとか完成に漕ぎ着けてうれしかったです。

開発環境

  • プログラム言語:Java(Swing)
  • 開発環境  Eclipse
  • クラス数  12クラス
  • ステップ数 1297行

2D
 2D

ゲーム開始

プログラム中のマップは、上のように定義しました。(定義したデータファイルの中身)

2D

表示している画像

2D
ゲーム中のアイテム

RPG K君

RPG

私は一度でもいいから自分でゲームを作ってみたいと思っていたので、RPGを制作しました。

 また、就職先では、多くの開発環境に触れるので、一つでも多くの環境に慣れておきたいので、Microsoft Visual C++を使用し、ゲームを制作しました。

開発環境

  • Microsoft Visual C++ 2010 Express
  • DXライブラリ
  • 総行数:1182行
  • 総クラス数:21クラス

私は自分で1からプログラムを作ることをしたことがなかったので、上手くできるか心配でした。始めはもう少し凝った内容を予定していたのですが、サンプルプログラムの内容が難しく、理解するのに多くの時間を必要だと判断し、断念しました。

それでもゲームを作りたかったので諦めず、簡単な内容でもいいから作ってみようと思い、制作を続けてきました。その結果、ただ単に攻撃するだけでなく、回復やレベルの処理を追加することが出来たことは、本当に良かったと思っています。

私がこの課題から得たものは、自分の技量と相談して無理だと感じたら、自分ができる範囲のことに切り替える判断力と、諦めないでやれるところまでやろうという気持ちです。できないことをやって中途半端に仕上げるよりも、少々品質を落としてでも完璧なものを仕上げたほうがいいと私は思いました。この課題を通して身についた知識や技術を就職先で十二分に生かせるように、これからも努力したいと思います。

RPG1
フィールド画面

移動中に乱数を取得し、特定の値になった時に敵が現れ、戦闘画面となります。

RPG2
戦闘画面
戦闘から逃げることはできません。プレイヤーが先攻でどちらかのHPが0になれば戦闘が終了します。勝つと経験値を獲得でき、HPを最大値の10%、MPは30%回復します。

ファイル管理ソフト I君

ファイル管理ソフト

何か便利なアプリを作りたいと考えていました。Javaとデータベースの授業を生かすことができ、さらにSwingによるGUIの知識を深めたいと思いました。
ファイル処理において、タグ付けできれば、便利なファイラーになると考え、このテーマにしました。

概要

フォルダをツリーで表示し、ファイル操作をしたり、タグで管理できるファイル管理ソフトです。タグをJavaDB (derby(ダービー))で管理をしています。

主な機能

  • ディレクトリのツリー表示
  • ディレクトリ内のリスト表示
  • ファイル編集
  • ファイル操作
  • タグ機能

終了課題ではJavaのGUIとJavaDBを使いましたが、今回のように深くGUIに触れたことがなかったのでデータベースの導入やGUIに関することを学習することに時間を多く割いてしまいました。プログラムのコーディングについてはツリーのディレクトリとディレクトリ内のファイル表示に苦労しました。
開発は計画より遅れてしまったのでスケジュールに余裕を持つことが大事だとわかりました。

プログラム自体には予定通りの機能を付けることができ、GUIについての知識を深めることができました。データベースでは慣れないこともありましたがちゃんと導入し使うことができたので良い経験になりました。

開発環境

  • 開発言語  JAVA 7
  • 開発環境 Eclipse
  • DB JavaDB (derby)
  • OS Windows 7
  • クラス数   6クラス
  • ステップ数1349行 

データベースについて

データベースには2つのテーブルを作成しています。

  • タグを付けたファイルを保存するテーブル(左)  
  • タグを保存するテーブル(右)

ファイル管理

起動時の画面

画面左側にディレクトリをツリー表示し、右側に選択されたディレクトリのファイル一覧を表示します。

ファイル管理

メニュー詳細

メニューは大きく3つあり、詳細は以下の通りです。ショートカットキーも対応しました。

ファイル管理

ファイル管理

ファイル管理

タグ機能について

1つのファイルに対してタグを3つまで付けることができます。 

タグの追加&削除タグを付与する前にあらかじめ登録します。追加したいタグをテキストフィールドに入力し、追加ボタンを押します。
タグを削除したいときはリストから選択して削除ボタンを押します。

ファイル管理

タグの検索

検索したいタグをタグ1からタグ3まで選び、リストから追加ボタンでテキストフィールドに挿入します(ダブルクリックでも可)。

検索条件を複数選択する場合は、OrかAndをラジオボタンで選択します。

ファイル管理

ファイル管理

クイズプログラム T君

クイズプログラム

私はプログラムがあまり得意なほうではないので、今まで学習した中で一番理解できた「Visual Basic」を選びました。

なぜ、クイズを作ろう思ったのは、1年時の担任の先生がクイズプログラムを作成していたので、私も作りたいと思い選びました。

概要

四択問題形式に答えるクイズプログラムです。問題の出題順が実行ごとにランダムで出題され、一問あたりの解答制限時間を20秒にしました。

最初は全画面表示やオリジナル問題を出題したかったのですが、内定先からネットワークの資格の勉強を指示され、実装することができなかったことが残念でした。
しかし、ランダムに出題したり、ファイルから問題を読み込み並び替えする所などは悩みながら実装することができた達成感を感じることができました。
また、企画では「余裕があれば実装したい」としていた効果音を出すことがとても嬉しかったです。
この作品を作成してVBに対する理解が深まったと感じています。

開発環境

  • 使用言語: Visual Basic 2010
  • クラス数:5クラス
  • ステップ数:1167行(コメント込)

プログラムの説明

 ホーム画面

プログラムを起動すると、起動画面を3秒表示しホーム画面を表示します。解答したい問題の種類を選び、ボタンをクリックします。

クイズ1

問題画面

問題を解く画面です。問題の答え方は、制限時間内に解答ボタンをクリックするか、解答群の数字を入力して解答します。1問ごとに正解・不正解時の画像を表示して効果音を鳴らしながら正誤判定を行っています。制限時間を過ぎた場合は、不正解になります。

クイズ

詳細設定画面

ホーム画面またオプションメニューの[詳細設定]をクリックすると表示されます。問題数や背景色、効果音などを設定することができます。

クイズ

Colotter(Chromeの上で動くTwitterクライアント) Aさん

Colotter

Webプログラマーに就職するので学校で習わなかったJavaScriptとjQueryを学びたいと思い、普段使っているGoogle Chromeで使いやすいTwitterクライアントを作ろうと思いました。

概要

 Chrome上で動くTwitterクライアントです。

どのWebページを見ていても、タイムラインの確認ができます。

  • タイムラインをタブで管理できます。
  • タブを追加できます(何個でも)
    └リスト・お気に入り・検索タブ
  • 設定画面で設定出来る機能一覧
    ├アカウントの追加(最大10個)と切り替え
    └タブの背景色の変更とプレビュー

開発環境

├SAKURAエディタ
└Google Chrome

使用した言語
├HTML5+CSS3
├JavaScrip+jQuery
└JSON(manifestとTwitterAPIの戻り値)

JavaScript

838行 11ファイル

HTML

181行 4ファイル

CSS

506行 4ファイル

プログラムの説明

起動の仕方

[ツールメニュー]→[拡張機能タブ]→[デベロッパーモード]のチェックボックスにチェックして→[パッケージ化されていない拡張機能を読み込むボタン]→当該フォルダを選択します

colotter

 読み込むと連携アプリ認証画面に遷移しますので[連携アプリ認証ボタン]をクリックします

colotter

画面の説明

colotter

表示エリア
  1. つぶやいた人の表示名
  2. つぶやいた人のスクリーンネーム
  3. つぶやきの内容
  4. リプライ(返信)ボタン
  5. リツイートボタン
  6. お気に入りボタン
  7. つぶやいた時間とクライアント名
投稿エリア
  1. つぶやき内容入力エリア
  2.  (8)の内容をTwitterに投稿ボタン
  3. 残り文字数表示(最大140文字)
その他
  1. 現在選択しているアカウントのアイコンとスクリーンネーム
  2. 設定ボタン(設定画面が開きます)
  3. タブエリア(基本タブが4つあります)
  4. タブの追加ボタン
  5. 起動アイコン

設定画面の説明

 └アカウントの設定

colotter

  1. 認証済みのアカウントの一覧
    明るく表示されてるアカウントが現在使用中のアカウントです。アイコンをクリックすると切り替えできます。
  2. アカウントを追加ボタン

色の設定

colotter

  1. クリックすると色パレットが表示され、色を選択できます(初期値は白)
  2. 保存した色のプレビューが見れます
  3. セーブエリア
    • 保存 選択された色情報を保存
    • リセット 変更前に戻す
    • 初期値に戻す 初期値(FFFFFF)に戻す

おわりに

 今回初めてJavaScriptとjQueryを学んだのと、企画の内容のボリュームが大きかったので、勉強しながら進捗管理をすることがすごく大変でした。
頑張りすぎて体調を崩すというハプニングも有り、改めて進捗管理と自己管理の大切さが、身を持って学べました。

 また技術的な部分では、課題としていたJavaScriptとjQueryの文法的な理解だけではなくTwitterAPIにアクセスするためのAPIの扱いに関する知識や、Ajaxの非同期通信やOAuthについてなども勉強したため、これからWebプログラマーとして役に立つ技術と、初めてやる技術に対する姿勢などを学ぶことができました。

反省点は、リファクタリングの時間が足りなかったため少し冗長的なコードが残っていることです。次はもっと設計に時間をかけてコードの冗長化を防げるように努力したいと思います。