Tre i rad i Python [Del 1/2]

av jul 4, 2020

Tre i rad är ett klassiskt spel där det gäller att först få tre markörer i rad. Nu ska vi bygga vårt egna Tre i rad i Python som vi kan spela direkt i terminalen! För video se: https://youtu.be/Ya17S6xyT-4

Koden för första delen ser du här nedan. Testa själv att färdigställa koden!



board = [["-", "-", "-"],
          ["-", "-", "-"],
          ["-", "-", "-"]]

# skriv ut spelbrädet
def print_board():
  print(board[0][0] + "  " + board[0][1] + "  " + board[0][2])
  print(board[1][0] + "  " + board[1][1] + "  " + board[1][2])
  print(board[2][0] + "  " + board[2][1] + "  " + board[2][2])

# kolla om någon har vunnit
# TODO: returnera True om någon vunnit, annars False
def has_winner():
  return False

# kolla om det är oavgjort
# TODO: returnera True om oavgjort, annars False
def is_tie():
  return False

# kicka igång spel
def play(player_turn):

  print_board()
  
  while True:
    print("Spelare " + player_turn + ", din tur.")

    rad = input("Välj rad: ")
    kolumn = input("Välj kolumn: ")

    # TODO: kolla att rad och kolumn är 1,2 eller 3
    # TODO: kolla att vald plats ej är upptagen
    rad = int(rad) - 1
    kolumn = int(kolumn) - 1

    board[rad][kolumn] = player_turn

    print_board()

    # kolla om någon har vunnit eller blivit oavgjort
    if has_winner():
      print("Spelare " + player_turn + " vann!")
      break
    elif is_tie():
      print("Spelet blev oavgjort.")
      break

    # byt spelare
    if player_turn == "X":
      player_turn = "0"
    else:
      player_turn = "X"

play("X")

Unga Programmerare håller kurser i programmering för barn och ungdomar. Unga Programmerare startades av studenter från Chalmers Tekniska Högskola.

Följ oss

Nyhetsbrev