SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

C++Builder XE2+FireMonkeyで昔のラケットゲームを再構築してみる(1)

15年前の入門書の課題を、最新の開発環境を使って再挑戦

  • このエントリーをはてなブックマークに追加

 15年前のC++Builder入門書で紹介されていたクラシックなラケットゲームを、最新のC++Builder XE2とFireMonkeyフレームワークを使って再構築してみます。最新の開発環境を使うことで、改めてC++Builderのビジュアル開発の仕方を理解するとともに、旧バージョンとの違いも明らかになるでしょう。

  • このエントリーをはてなブックマークに追加

はじめに

 今から15年前、業界初のC++向けのビジュアルRADツール「C++Builder」が発売されました。マウス操作で部品を配置してアプリケーションを開発するツールとしては、当時「Delphi」と「Visual Basic」がありましたが、C++は初めて。それまでクラスライブラリと格闘してGUIを作成していたため、なんて便利なんだろうと思ったものです。

 時代は変わり、Web系の開発に適した言語にフォーカスが当たっていきましたが、今、スマートフォンをはじめとするマルチデバイスの中で、C++の役割も見直されています。そんな中、C++BuilderがiOSやAndroidにも対応するというアナウンスがありました。

 「C++Builderも15年目で大きく飛躍するのか」と思い、昔を懐かしんで当時の書籍を取り上げてみたところ、クラシックなラケットゲームの演習課題を見つけました。アスキー出版局の「Borland C++Builder入門」(著・藤井等、監修・ボーランド)。確か日本で最初のC++Builderの書籍です。

 今回は、懐かしい演習課題に、最新バージョンXE2を使ってもう一度取り組んでみようと思います。ちょうどXE2には、表現力豊かなHD/3Dグラフィックを簡単に扱えるFireMonkeyコンポーネントがあります。以前より、ちょっとリッチなインターフェイスになったゲームの製作を通して、最新バージョンでの開発の違いもあぶりだせるのではないかと思います。

ゲームの概要

 これから作成するゲームは、左右に動くラケットで壁に跳ね返るボールを打つ簡単なものです。左右の矢印キーでラケットを動かし、ボールを打ちます。ボールを1回打つと得点が加算され、打ち損なうとラケットは没収です。ラケットは全部で5つ用意することにします。ボールは、打ち返すたびに加速するようにしましょう。速いボールを打てばそれだけ高得点が得られるようにします。

図1 ゲームプログラム
図1 ゲームプログラム

どのコンポーネントを使うか

 今回、15年前の書籍の内容を、最新の開発環境で再現するにあたり、最新環境ならではの機能を使ってみることにします。

 FireMonkeyは、Delphi/C++Builder XE2に新たに搭載されたコンポーネントフレームワークで、Windows/Mac OS Xなどマルチプラットフォームのサポートに加えて、HD/3Dの高品質なベクターグラフィックを簡単に利用できます。FireMonkeyには従来のVCLと類似のコンポーネントもあり、比較的簡単に新しいフレームワークにもなじみやすく、簡単に開発を進めることができます。

 ラケットやボールは、Labelコンポーネントを用いて表現します。Labelの位置は、プログラム中で変更することも可能なため、動くボールやラケットを表すことができます。FireMonkeyには、表面にテクスチャを貼り付けることのできる3Dオブジェクトも用意されているので、よりリアルなボールやラケットを作成することも可能です。

次のページ
それでは、レイアウト

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

EDN編集部(イーディーエヌ編集部)

エンバカデロ・デベロッパーネットワーク(EDN)は、ソフトウェア開発者とデータベース技術者のための技術情報サイトです。Delphi、C++Builderをはじめとする開発ツールやER/Studioなどのデータベースツールに関連する技術記事、ビデオなどを提供しています。EDN編集部は、EDN記事と連携...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6599 2012/06/19 16:07

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング