私はゲームをパイソンでシミュレートしています。それには2人のプレーヤーが関わっており、それぞれに一連のターンがあります。ヒットまたはミスに基づいて、そのプレイヤーが別のターンを得るかどうかを決定します。ターンベースのパズルを解く正しいアプローチ
Iプログラムで、ここにこのロジックを私がこれまで持っているものされて作ることができない:個々のターンを持っているために、
だが
for coordinate in list_of_player1_moves:
result = fire(coordinate[0], coordinate[1])
#result is either a 'Hit' or a 'Miss'
for coordinate in list_of_player2_moves:
result = fire(coordinate[0], coordinate[1])
#result is either a 'Hit' or a 'Miss'
今すぐ簡単にするために個別に各プレイヤーをシミュレートしてみましょう各プレーヤーのために、私はした:
turns = len(list_of_player2_moves) if len(list_of_player2_moves) > len(list_of_player1_moves) else len(list_of_player1_moves)
for turn in range(0, turns):
r = move_player1(turn) #move player inturn calls fire()
if(r == 'Hit'):
break #start over, giving them another turn
r = move_player2(turn)
if r == 'Hit':
#how do give player 2 another turn?
私はこれ以上のアプローチ方法のアイデアです。提案してください。代替/より良いアプローチに関するアドバイスもお願いします。
ありがとうございます!
編集:より良い理解のため
サンプル出力、
Player1 fires got miss
Player2 fires which got hit
Player2 fires which got miss
Player1 fires which got hit
Player1 fires which got hit
Player1 fires which got miss
Player2 fires which got miss
Player1 has no more missiles left to launch
Player2 fires which got hit
Player2 fires which got miss
Player1 has no more missiles left to launch
Player2 fires which got miss
Player1 has no more missiles left to launch
Player2 fires which got hit
Player2 fires which got miss
Player1 no more missiles left to launch
Player2 fires which got hit
Player2 won the battle
私は連続したターンが必要です。おそらくサンプル出力が役に立ちます。https://bpaste.net/show/661190d04e57 – user1502
あなたの出力からどのように問題が解決するかを編集します。 –
今すぐターンを増やすにはどうしたらいいですか? – user1502