現在、Unityを使ってチンチロリン(さいころゲーム)の作成を行っています。
ユーザー操作を待ち受ける処理を追加するところで手が止まってしまいました。
<やりたいこと>
このゲームを大きな流れに分割すると以下のようになります。
- 親以外の3人のプレイヤーが掛け金を決定する
- 場の全員(4人)が順番にさいころを振る
- 勝敗を判定する
1と2はユーザのターンのみユーザー操作を待ち受ける必要があり、
ほかのCPUターンの場合はユーザー操作を待ち受けません。
(※ユーザー操作はオブジェクトクリックを想定しています)
私は以下の二案を考えましたが、どちらもデメリットがあり悩んでいます。
どのように実装するのがよいでしょうか。
ご教授いただけると幸いです。
// 案1:Playerクラス内で待ち受ける // デメリット1:Player内部でのイベントの待ち受け方がわからない // デメリット2:Playerクラス内で待ち受け処理を行うことに若干の違和感 Class Manager { void Turn() { player1.Bet(); player2.Bet(); player3.Bet(); player0.Roll(); player1.Roll(); player2.Roll(); player3.Roll(); } } Class Player { void Roll() { // ここで特定のオブジェクトがクリックされるのを待ち受ける } } Class NonPlayer { void Roll() { // 省略 } }
// 案2:Mangerクラスで待ち受ける // デメリット1:CPUターンのときもオブジェクトのクリックを待ち受けてしまう? Class Manager { void OnClickBetObject() { if (適切な状態でなければ) return; // 掛け金額を保持する // 現在のプレイヤーを変更する // 状態を変更する } void OnClickRollObject() { // 省略 } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/04 07:32