- 締切済み
4人プレイの七並べGAMEを作りたいのですが。初心者です。
初心者です。宜しくお願いします。 4人プレイで内3人がコンピュータ。というトランプゲーム(七並べ)をつくりたいのですが、3人のコンピュータ自動処理後の 自分で選んでイベント待ち状態?をつくるにはどうしたらいいのかわかりません。 (参考) run(){ while(flag == true){ 1P処理のメソッド(); //COM1 2P処理のメソッド(); //COM2 3P処理のメソッド(); //player 4P処理のメソッド(); //COM3 thread.sleep(3000); かなりはしょっての説明で恐縮ですが、 この3Pの場所で、マウスでカードを選びクリックするまでストップさせたいんです。選んでクリックするとまた4P→1P→2P・・・と動作させたいのですが、どうすればいいのかわからず質問しました。 今の地点の動きは、1Pの処理(3秒)→2Pの処理(3秒)→3Pの処理(3秒内で選んでクリックしないとプログラムストップ)→4Pの繰り返しになっています。3Pの場面でrunメソッド内のwhileのフラグをfalseにしてマウスイベントのメソッドを別フラグでtrueにし、クリックしたらまたrunメソッド内のwhileのフラグをfalseに戻すという処理でかろうじて動いているのですが、普通の方法というか、なにかいい方法教えてください。お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
ループで処理する必要は別にないんでないか。ユーザの操作は、普通にマウス関係のイベント処理で行えばいいと思うが。MouseListenerで、クリックしたらユーザの処理を行い、その後にコンピュータ3人の処理を行う。ただし、それだけだと、プレイ中でないときなどにクリックして処理が開始したりするといけないから、そのあたりの処理も考える必要がある。 例えば、「スタート」ボタンとかがあったとすると、 「スタート」ボタン 必要な値などを全て変数に保管し、データの初期化をする。ゲーム中であることを示す変数などを用意する。 クリック時の処理 ゲーム中かどうか確認し、ゲーム中でなければなにもしない。 選択したカードを配置するなどの処理をする。 続いて2,3,4人目のコンピュータの処理をする。 それぞれの処理をした段階で、ゲームが終わったかどうかをチェックする仕組みを考える。 こんな感じでまとめていけばいいんでないかね。別にわざわざ専用スレッドを実行してループする必要はないと思うな。