Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
じゃんけん大会
グループで 「じゃんけん大会」 by 前田 稔
最大16名が参加して、一斉に「じゃんけん大会」をします。
このプログラムは、C言語でネットワークゲームを作成するための教材として作成したものです。
ゲームプログラムの作成は 前田稔の超初心者のプログラム入門 から
「C言語 Windows/じゃんけんゲーム」を参照して下さい。
前田稔(Maeda Minoru)の超初心者のプログラム入門
ゲームの実行
このゲームはネットワークで接続された複数のパソコンで実行することが前提です。
プログラムの実行をテストするだけならば、1台のパソコンで行うこともできます。
「じゃんけんゲーム」のプログラムは二種類のプログラムで構成されています。
Jyansvr.exe 「じゃんけんゲーム」のサーバープログラム
Jyancli.exe 「じゃんけんゲーム」のクライアントプログラム
最初にサーバープログラムを起動してセッションを開設して下さい。
セッションを開設したサーバーに対して、複数のクライアントからログインします。
ログインにはサーバーのIPアドレスが必要ですが、サーバーで ipconfig コマンドを実行すると表示されます。
サーバーとクライアントの画面には、画像でゲームへの参加状況が知らされます。
ゲームの進行は、サーバー側のボタン操作で行います。
詳細は Server 側のボタン操作を参照して下さい。
WindowsXP では [Windows ファイアウォール] が設定されていてネットワークに接続できないことがあります。
そのときは [コントロールパネル][ネットワーク接続] を開いて、ローカルエリア接続のプロパティから
[詳細設定][詳細] ボタンで [Windows ファイアウォール] を無効にして下さい。
ゲームの進行
ゲームの進行状態を管理するために、次の Stage を設定します。
Login Stage(STG=0)
Login を待っている状態で、最大16人の Client が Login してゲームに参加できます。
参加者が揃えば Start ボタンで STG=1 へ移行します。
Start Stage(STG=1, 4, 7, 10, ...)
STG>=3 から移行してきたときは、ゲームの敗者/勝者を確定します。
勝ち残っている Client を確定して次のゲームの準備をします。
準備が終われば自動的に STG=2 に移行します。
当初はボタン操作を予定していたので Stage を分けています。
Play Stage(STG=2, 5, 8, 11, ...)
Server は、勝ち残っている Client に対して「グー/チョキ/パー」を要求します。
全員の手が揃えば Disp ボタンで STG=3 へ移行します。
Display Stage(STG=3, 6, 9, 12, ...)
参加者全員の手(グー/チョキ/パー)を公開して Client の確認を取ります。
全員の確認が終われば Start ボタンで STG=4(二回戦) へ移行します。
三回戦は STG=7, 四回戦は STG=10 ... と進んで行きます。
GameOver Stage(STG=99)
優勝者が決まってゲームが終了した状態です。
Reset ボタンで次のゲーム(STG=0) へ移行します。
Server 側のボタン操作です。
START Button
セッションを開設して Client の参加を待ち、人数が揃ったときにクリックします。
または、ゲーム参加者の手を公開して、全員の確認が終わったときにクリックします。
一回戦(STG=1)では参加者全員の flg を ON に、画像を1に設定してゲーム開始です。
二回戦(STG>=4)以降では、敗者の flg を OFF に、画像を0にします。
勝者は flg を ON のままで、画像を1に設定します。
DISP Button
ゲームに参加している Client の手が揃えば Disp ボタンをクリックして全参加者の手を公開します。
Client は「グー/チョキ/パー」の結果を確認して確認ボタンをクリックします。
RESET Button
強制的に Login 状態に切り替えます。
END Button
Srever のプログラムを終了します。
Client 側のボタン操作です。
LOGIN Button
ID と URL を設定してゲームに Login します。
グー Button
「グー」の手を送信します。
チョキ Button
「チョキ」の手を送信します。
パー Button
「パー」の手を送信します。
確認 Button
公開された全員の手の確認が終わったことを通知します。
END Button
Client のプログラムを終了します。
Server が管理する各 Client の情報です。
char id[18];
Client を管理するIDを格納します。
"?" のときは Login されていません。
short gra;
表示する画像の番号(0 ~ 5)を格納します。
0番 空き状態を示す模様の無い画像
1番 Login を示す「にこマーク」の画像
2番 出す手を決めたときの、?付きの「にこマーク」の画像
3番 「グー」の画像
4番 「チョキ」の画像
5番 「パー」の画像
short flg;
1: 勝ち残ってゲームに参加している Player
0: 負けてゲームに参加していない Player
short ans;
Client からの「手の送信」と「勝負結果の応答確認」の促進メッセージを制御します。
2: Client に送る促進メッセージが設定された状態
1: 促進メッセージを Client に送信する状態
0: 通常のモード
short ply;
Client から送信されてきた「グー/チョキ/パー」の手を格納します。
格納する値 Client の手
3 グー
4 チョキ
5 パー
Down Load
Down Load した jyankeng.exe を起動するとゲームプログラムがインストールされます。
[スタート][プログラム] から [jyanken] に格納されているプログラムを実行して下さい。