英語のルールを使用してスカッシュ ゲームのスコアリングをシミュレートしようとしています。これらは:
- ラリーに勝った場合、サーバーのみがポイントを獲得します。
- サーバーがラリーに勝った場合、ポイントを受け取り、サーバーとして続行します。
- リピーターがラリーに勝った場合、彼らはサーバーになりますが、ポイントを受け取りません。
- スコアが 8-8 に達しない限り、最初に 9 ポイントに達したプレーヤーがゲームに勝ちます。
- スコアが 8-8 に達した場合、最初に 8 に達したプレイヤーが 9 と 10 のどちらでプレーするかを決定します。
私が持っているコードはこれです:
import random
def eng_game(a,b):
A = 'bob'
B = 'susie'
players = [A, B]
server = random.choice(players)
print server
points_bob = 0
points_susie= 0
prob_A_wins = 0.4
prob_B_wins = 0.6
while points_bob or points_susie < 9:
probability = random.random()
print probability
if probability < prob_A_wins and server == A:
points_bob += 1
elif probability < prob_A_wins and server == B:
server == A
print server
if probability > prob_A_wins and server == B:
points_susie += 1
elif probability > prob_A_wins and server == A:
server == B
print server
print points_bob
print points_susie
このコードは、場合によってはポイントを獲得するためにサーバーをボブに交換する必要がある場合に、スージーが 9-0 で勝利したことを返しますが、これは起こりません。サーブはスージーにとどまり、彼女はポイントを獲得します。