viligen

darts_2

Feb 17th, 2022
673
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.33 KB | None | 0 0
  1. def is_inside(r, c, size_):
  2.     if 0 <= r < size_ and 0 <= c < size_:
  3.         return True
  4.     return False
  5.  
  6.  
  7. size = 7
  8. player_1, player_2 = input().split(', ')
  9. field = [input().split() for r in range(size)]
  10.  
  11. player_1_points, player_2_points = 501, 501
  12.  
  13. turn = 0
  14. current_player = ''
  15. while player_1_points > 0 and player_2_points > 0:
  16.     turn += 1
  17.     current_player = player_1 if turn % 2 != 0 else player_2
  18.     hit_row, hit_col = eval(input())
  19.     current_score = 0
  20.     if not is_inside(hit_row, hit_col, size):
  21.         continue
  22.     elif field[hit_row][hit_col] == "B":
  23.         break
  24.     elif field[hit_row][hit_col] == "D":
  25.         current_score = 2 * (int(field[hit_row][0]) + int(field[hit_row][size - 1]) +
  26.                              int(field[0][hit_col]) + int(field[size - 1][hit_col]))
  27.     elif field[hit_row][hit_col] == "T":
  28.         current_score = 3 * (int(field[hit_row][0]) + int(field[hit_row][size - 1]) +
  29.                              int(field[0][hit_col]) + int(field[size - 1][hit_col]))
  30.     elif field[hit_row][hit_col].isdigit():
  31.         current_score = int(field[hit_row][hit_col])
  32.  
  33.     player_1_points -= current_score if current_player == player_1 else 0
  34.     player_2_points -= current_score if current_player == player_2 else 0
  35.  
  36. print(f"{current_player} won the game with {turn//2 + turn % 2} throws!")
  37.  
Advertisement
Add Comment
Please, Sign In to add comment