前提・実現したいこと
前提:各打者の打率を設定し、3アウト9イニング攻撃のみの簡易野球ゲームの作成
①一番から順に打席結果を表示する。
②3アウトになった時点で次の回へ
③次の回は前の回の最後にアウトになった打者の次の打者から
④得点も入るようなコードを書きたい
ex)4人連続ヒットで1点入る、2人連続ツーベースヒットで1点入る、ランナー1,2塁でホームランが出たら3点入る
⑤イニング詳細(誰がどのような打撃結果か)と最終的な得点を出力したい
発生している問題・エラーメッセージ
3アウトになったら次のイニングへ行くのはできたのですが、次の回また一番から打つことになってしまっています。
該当のソースコード
Python
1import random 2 3o = 0#アウトカウント 4cnt = 0 5order = [b1 , b2 , b3 , b4 , b5 , b6 , b7 , b8 , b9]#各打者の打率 6ining = [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9]#イニング 7b1 = random.choices(["アウト" , "ヒット" , "ツーベースヒット" , "スリーベースヒット" , "ホームラン"], k=1,weights=[0.3, 0.3, 0.1 , 0.1 , 0.2]) 8b2 = random.choices(["アウト" , "ヒット" , "ツーベースヒット" , "スリーベースヒット" , "ホームラン"], k=1,weights=[0.3, 0.3, 0.1 , 0.1 , 0.2]) 9b3 = random.choices(["アウト" , "ヒット" , "ツーベースヒット" , "スリーベースヒット" , "ホームラン"], k=1,weights=[0.3, 0.3, 0.1 , 0.1 , 0.2]) 10b4 = random.choices(["アウト" , "ヒット" , "ツーベースヒット" , "スリーベースヒット" , "ホームラン"], k=1,weights=[0.3, 0.3, 0.1 , 0.1 , 0.2]) 11b5 = random.choices(["アウト" , "ヒット" , "ツーベースヒット" , "スリーベースヒット" , "ホームラン"], k=1,weights=[0.3, 0.3, 0.1 , 0.1 , 0.2]) 12b6 = random.choices(["アウト" , "ヒット" , "ツーベースヒット" , "スリーベースヒット" , "ホームラン"], k=1,weights=[0.3, 0.3, 0.1 , 0.1 , 0.2]) 13b7 = random.choices(["アウト" , "ヒット" , "ツーベースヒット" , "スリーベースヒット" , "ホームラン"], k=1,weights=[0.3, 0.3, 0.1 , 0.1 , 0.2]) 14b8 = random.choices(["アウト" , "ヒット" , "ツーベースヒット" , "スリーベースヒット" , "ホームラン"], k=1,weights=[0.3, 0.3, 0.1 , 0.1 , 0.2]) 15b9 = random.choices(["アウト" , "ヒット" , "ツーベースヒット" , "スリーベースヒット" , "ホームラン"], k=1,weights=[0.3, 0.3, 0.1 , 0.1 , 0.2]) 16 17for a in ining:#イニング 18 print(str(a) + "回の攻撃") 19 while True: 20 21 for z in order: 22 c = order[cnt%len(order)]#そのアウトカウントでの打者 23 if o == 3: 24 if a == 1 or a == 2 or a == 3 or a == 4 or a == 5 or a == 6 or a == 7 or a == 8 : 25 print("3アウトチェンジ") 26 else: 27 print("ゲームセット") 28 o = o - 3 29 30 break 31 print(z) 32 cnt += 1 33
試したこと
while文などを使いましたがよくわからないことになっていしまいました。
補足情報(FW/ツールのバージョンなど)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/01/15 16:26
2019/01/15 16:36 編集
退会済みユーザー
2019/01/15 17:17