超初心者のプログラム入門(Java Net Game)
前田稔(Maeda Minoru)の Java Net Game のページへようこそ。
Java(Applet, JSP, Servlets)で java game program を作成するページです。
ホームページの画像は容量節約のため他の言語と共有しているので説明と一致しない場合があります。
前田稔の超初心者のプログラム入門


【Applet を動かす】
- WindowsXP までは何の問題もなく実行できたのですが、セキュリティの強化で動かすのも一苦労です。
時にはサーバーにアップロードを拒否されるファイルもありましたが、Java Applet が動くか否かはクライアント側の問題です。
次のリンクをクリックすると、アプレットが実行されます。
Java Applet のテストページ
helloapplet Call の下に、小さく Hello Java Applet! と表示されたらOKです。

- Applet を起動したとき、何の反応もなく実行されないときは最新のバージョンに更新して下さい。
2014/12/01 現在、JRE(Java Runtime Environment) の最新バージョンは JRE 1.8.0_25 ですが、これをインストールしただけでは駄目なようです。 (^_^;)
Google Chrome から Java Applet を起動して、Chrome が表示する最新の情報に更新すると動きました。
詳細は不明ですが、とりあえず動いたので良しとしましょう。
2015/04/16 に実行したときに「最新のバージョンでない」のメッセージが表示されました。
Java のページから Download をクリックして実行すると Version 8 Update 45 に更新されました。
2015/08/14 に実行したときに「最新のバージョンでない」のメッセージが表示され Version 8 Update 51 に更新されました。
- Java Applet はクライアント側で動作するのですが、同じようにクライアント側で動かすプログラムに JavaScript があります。
どちらも Java で始まりますが、全くの別物です。
JavaScript は広く使われていて動かすのも簡単で、こちらの方がお勧めです。
Java が動かない場合は JavaScript で作成している物もあるので
JavaScriptを参照して下さい。

Java Applet game program
★ローカル環境では動きません。
ネットから接続して Java のゲームを楽しんで下さい。
超初心者のプログラム入門(Java Net Game)

- クリックすると矩形の色が変わる
- 矢印キーでキャラクターを動かす
- MIDI FILE を演奏する
- マウスのクリックで効果音を鳴らす
- TEXT FILE(text.htm)を表示する
- 石取りゲーム
- じゃんけんバトルゲーム
- 三山くずしゲーム
- カードゲーム
- オセロゲーム
- シューティングゲームの基礎
- 秘密の通路を通って宝物を探す
- ColorCube を回転しながら描画する
モデルを描画するには Java 3D のセットアップが必要です。
- 地球がまわる
- 立方体をマウスで操作する

Java Game Program index

Java Applet 入門
Java Applet(ジャバ・アプレット)は、ホームページ上で動作するプログラムです。
多少ホームページの知識があれば、初心者にとっては Java より解りやすいかも知れません。
Applet 入門
- Java Applet を使う
ホームページ上で Java Applet を動かします。
- 日本の国旗を表示する(2003/09/15)
Java Applet を使ってホームページに日本の国旗を表示します。
- クリックで矩形の色を変える(2003/09/17)
マウスをクリックするとホームページの矩形の色がランダムに変わります。
Applet で Image を描画
- Applet で画像を描画
Java Applet で画像ファイル(JPEG, GIF)を表示します。
- imgclass で画像を描画
Java Applet で imgclass を定義して画像を描画します。
swing を使っても同じ要領です。
- アルファチャネル設定イメージ
背景画像の上からアルファチャネルを設定した赤色のイメージを描画します。
- 画像を並べて描画
Jewel.gif を3行10列に並べて表示します。
- クリックで石を取り除く
Jewel.gif を10個並べて、クリックで取り除きます。
- ボタン操作で石の数を設定
ウインドウにボタンの張り付けて、石の数を増減します。
- 矢印キーでキャラクターを動かす

AWT の KeyListener で、矢印キーでキャラクターを動かします。
Applet で Sound を演奏
- MIDI FILE を演奏する
プログラムを起動すると MIDI FILE が繰り返し演奏されます。
- マウスのクリックで効果音を鳴らす
マウスのクリックで効果音(good2.wav)を鳴らします。
Applet でファイル入力
- TEXT FILE を入力する
Applet で URL に格納されている TEXT FILE を入力します。
- Text File で Image File を指定
Text File から Image File 名を取得して描画します。
Applet でツールを使う
- Applet で Button を使う
Applet で Button を三個貼り付けて、背景の色を変えます。
- Applet で Checkbox を使う
三原色の Checkbox を組み合わせて、背景の色を設定します。
- Applet で CheckboxGroup を使う
CheckboxGroup を使って、排他制御をします。

Java Applet 基礎
Java Beans
- Java Applet で Beans を使う
Java Applet で Beans を使って曜日を表示します。
※Java Beans の仕様を説明します。
- ボタンのクリックで計算する
ボタンをクリックすると「1+2+3+...n」を計算する AppBeans です。
※Java Beans が継承する FORM の考察です。
- Beans と Main の連携
ボタンのクリックで Beans の TextField からメッセージを取得します。
JAR, WAR で圧縮する
- JAR で圧縮してアップロード
"Hello Java Applet!" を JAR で圧縮してアップロードします。
- JPEG Applet を圧縮する
JPEG 画像を表示する Applet を圧縮してアップロードします。
- 三山ゲームを圧縮してアップロード
三山くずしゲームを JAR で圧縮してアップロードします。
- manifest ファイルを使う
JAR で manifest ファイルを使います。
- package を使う
package で manifest ファイルを使います。
- WAR で圧縮してアップロード
プロジュクトを WAR で圧縮してアップロードします。
BDK(Beans Development Kit)
- BDK(Beans Development Kit)
BDK(Beans Development Kit) の説明です。
- BDK Demo
BDK(Beans Development Kit) の Demo を動かします。
- BDK で読み込む
Beans を JAR で圧縮して BDK で読み込みます。
Applet Program Chips
- パラメータを取得する
<applet> から渡されたパラメータを取得します。
- URL にリンクする
ボタンのクリックで URL にリンクします。
- ブラウザの下端にマウスの座標を表示
リアルタイムにマウスの座標をブラウザの下端に表示します。

ゲームプログラムの解説&ソースコード
石取りゲーム
- 石取りゲームのルール
石取りゲームのルールを説明します。
- 乱数で石の数を決める
乱数でテーブルに置く石の数と、一度に取り除くことが出来る数を決めます。
- 交互にプレイする
プレイヤーとコンピュータが交互にプレイします。
- 石取りゲームα版
石取りゲームα版です。
じゃんけんバトルゲーム
- クリックで手を決める
グー・チョキ・パーの画像をクリックして手を決めます。
- じゃんけんゲームα版
「じゃんけんゲーム」のα(アルファ)版です。
- じゃんけんゲームβ版
得点を競う「じゃんけんゲーム」のβ(ベータ)版です。
三山くずしゲーム
- 三山くずしの説明
三山くずしゲームの説明です。
- 乱数で石を設定する
三個の山に乱数で石を設定して描画します。
- 交互にプレイする
人間とプレイヤーが交互にプレイします。
- α版の完成です
ゲーム説明の HTML を作成して、サウンドを組み込んでα版の完成です。
カードゲーム
- カードの画像を切り分けて描画する
カードの画像を切り分けて描画する card object class を定義します。
- カードのクリックで表返します
カードの画像をクリックすると表返し、もう一度クリックすると削除されます。
- ペアのカードを取り除く
二枚のカードをめくって、同じ数字であれば取り除きます。
- カードゲームα版
カードゲームα版です。二人のプレイヤーが対戦します。
オセロゲーム
- オセロゲームの盤と駒を表示
oserocls でオセロゲームの盤と駒を表示します。
- コンピュータが乱数でプレイ
コンピュータが乱数でプレイします。
- オセロゲームβ版
オセロゲームβ版の全ソースコードです。
シューティングゲーム
- シューティングゲームガイド
Java でシューティングゲームを作成する場合のガイドです。
- 自機から連射
Space キーで MyShip から弾丸を連射します。
- 爆発音とアニメーション
Enemy(敵)にヒットすると、爆発音を鳴らして爆発のアニメーションをします。
- 敵の反撃
攻撃方法を変えながら敵が反撃します。
RPG ゲーム
- RPGゲームガイド
Java でRPGゲームを作成する場合のガイドです。
- Mapchip を並べて背景画像を表示
Mapchip の Index 番号を配列で定義して、背景画像を表示します。
- Mapchip の境界に沿って動かす
Mapchip の境界に沿ってキャラクタを動かします。
- TEXT ファイルを使う
MapEdit の出力ファイルで背景を描画します。
- 宝箱の蓋を開ける
BG に設定した宝箱を探し出して、宝物を取り出します。
- ダンジョンに切り替える
秘密の通路を通ると、ダンジョンの BG に切り替わります。

Java3D Applet のプログラム
Java3D の設定
- Java3D のセットアップ
Java3D をセットアップして、サンプルプログラムを実行します。
- ColorCube を自動的に回転する
※Java3D Applet を動かすには (^_^;)
Java3D Applet で ColorCube を自動的に回転しながら描画します。
3D図形&立体描画
- 5角形に色を設定して描画
Applet で5角形に色を設定して描画します。
- 立方体をマウスで操作する
頂点 index を使って線で描画した立方体をマウスで操作します。
- 四面体の面に色を設定する
四面体の各面に色を設定して描画します。
- 四面体に法線ベクトルを設定する
四面体に法線ベクトルを設定してライトで照らして描画します。
- マテリアルの設定
Cone(コーン)にマテリアルを設定して回転しながら描画します。
- チューブを描画
プログラムでチューブ(円筒)の座標を計算します。
- チューブにテクスチャを貼付る
プログラムで作成したチューブにテクスチャを貼り付けて描画します。
プリミティブ
- 地球がまわる
Sphere に地球のテクスチャを張り付けて回転します。
- クリック座標で色を設定
クリックしたマウスの座標でモデルの色を設定します。
- モデルを Switch で ON, OFF
並べたモデルを Switch で ON, OFF します。
- モデルの変形
ColorCube の頂点座標を操作して、変形しながら描画します。
モデルファイル
- OBJモデル(Wavefront)を描画
Wavefront で作成した OBJ ファイルを入力して3Dモデルを描画します。
- LWS(LIGHTWAVE)でシーンを再生
LIGHTWAVE で作成した LWS ファイルでシーンを再生します。
- OBJモデル(Wavefront)を描画する
私が作成した obj_loader Alpha版を使って、OBJモデルを描画します。
- Xモデル(DirectX)を描画する
x_loader Alpha版を使って DirectX の XFILE(Xモデル)を描画します。
- Java3D プログラムの作成にあたり、主に次のページを参考にさせていただきました。
たのしいJava 3D

サーブレット&JSP
サーブレット(Servlets)やJSP(JavaServer Pages)が動く環境を手に入れることは難しいようです。
そこで PHP や Perl を使って類似のプログラムを動かしています。
PHP も Perl もサーバーサイドで動作する Script 言語です。
PHP は 超初心者のプログラム入門(PHP) 参照して下さい。
Perl は 超初心者のプログラム入門(Perl) 参照して下さい。
JavaScript は 超初心者のプログラム入門(JavaScript) 参照して下さい。
- サーブレット&JSP
サーブレット(Servlets)&JSP(JavaServer Pages)の説明です。
JavaScript
- FORM の基礎
背景の色を変える FORM のサンプル(JavaScript)です。
少なくとも FORM の使い方ぐらいは、知っていなければなりません。
- 石を並べて描画
石の個数を指定する FORM のサンプル(JavaScript)です。
FORM の選択で画面が切り替わります。
- フルーツを選択
FORM から好きなフルーツを選択します。
- 自動ジャンプ
5秒後にトップページにジャンプします。
- HTML⇒URL
FORM から選択したページにハイパーリンクします。
※HTML から URL を呼び出すだけなら、JavaScript がお勧めです。
JSP
- JSP HelloWorld!!
JSP(JavaServer Pages)の HelloWorld!! です。
- 乱数で石の個数を決める
石の個数を乱数で決める JSP のサンプルプログラムです。
- Parameter を受け取る
JSP に Parameter を渡す方法と、受け取る方法です。
※隠れパラメータと GET,POST に付いても説明します。
- パラメータ配列(JSP⇒JSP自分自身)
JSP でパラメータ配列の受け渡し。
- 他のファイルをインクルードする
terget.jsp ファイルを cmpinc.jsp の中にインクルード(含め)ます。
- forward で処理を転送する
jsp:forward タグで、指定したファイルに処理を転送します。
- GCM Class を使う
gcmcall.jsp の中で gcmclass.class(java) を使います。
- JSP から Beans のメソッドを呼び出す
JSP から Java Beans のメソッドを呼び出してホームページに表示します。
- setメソッド, getメソッドを呼び出す
JSP から setメソッド, getメソッドを呼び出します。
- Serializable で永続化を確認する
Beans に Serializable を設定して、Object の永続化を確認します。
- Login List を表示する
Login, Logout を管理して、Login しているメンバーを表示します。
- JSP⇒Applet
JSP の FORM から helloapplet.java を呼び出します。
- HTML⇒Applet⇒URL
Java Applet に貼り付けたボタンからハイパーリンクします。
タグライブラリ
- タグライブラリ
JSTL(JSP Standard Tag Library) をダウンロードします。
- JSTL Hello,World!!
JSTL(JSP Standard Tag Library) で Hello, World!! を表示します。
- JSTL c:out Sample
JSTL の c:out サンプルプログラムです。
- JSTL 九九の表
JSTL で九九の表を表示します。
Class や配列の使い方も説明します。
サーブレット
- Servlets HelloWorld!!
サーブレット(Servlets)の HelloWorld!! です。
- 乱数で石の個数を決める
石の個数を乱数で決める Servlets のサンプルプログラムです。
- TEXT FILE を入力
TEXT FILE を入力してホームページに表示します。
- TEXT DATA を保存
TEXT DATA をファイルに保存します。
- HTML⇒Servlets⇒URL
HTML から URL を選択して Servlet で呼び出します。
- HTML⇒Servlets
HTML から Get と Post で Servlets を呼び出します。
- チェックボックスから選択
チェックボックスから好物を選択して、ホームページに表示します。
- HTML⇒Servlets⇒JSP
HTML から呼び出された Servlets で、スコープを設定して JSP で表示します。
- Servlets(+Beans)⇒JSP
Servlets から Beans にメッセージを設定して JSP を呼び出します。
- Servlets(+Beans+スコープ)⇒JSP
Servlets に Beans を組み込み、スコープを設定して JSP を呼び出します。
- Servlets⇒Applet
Servlets から Applet を呼び出す HTML を吐き出します。
プログラム間通信
- プログラム間通信
クライアントがサーバーを介してメッセージを交換する方法を考察します。
- Applet⇔Servlet 間通信
Servlets に Beans を組み込んで、Applet と通信します。
- AppletA⇔Servlet⇔AppletB
Applet-A と Applet-B がネットワークで接続して情報を交換します。
JSP GAME
- 「ハイ・アンド・ロー」ゲーム
乱数で引いたカード(1〜13)が、7より大きいか小さいかを当てるゲームです。
- 数当てゲーム
乱数で設定した「1〜100」の数字を当てるゲームです。
- ネットでおしゃべり
Beans を使って、複数のクライアントが「ネットでおしゃべり」します。
お友達と同時にページに接続して下さい。
- 対戦型ネットゲームの基本
親と子がネートワークで接続する、対戦型ネットゲームの基本です。
- 対戦型「石取りゲーム」
親と子がネートワークで接続して「石取りゲーム」をします。
- ネット接続でキャラクタを動かす
二台のパソコンをネートワークで接続して、キャラクタを操作します。

前田稔の超初心者のプログラム入門