Tic Tac Toe Oyunu Nasıl Yapılır Python Kod Örneği ile

Tic Tac Toe Oyunu Python deneyebileceğiniz ilginç bir projedir. Bir zorluğu çözmenin havalı ve eğlenceli bir projesidir ve temel kavramlarda ustalaşmanıza yardımcı olabilir. Python. Eğlenceli bir tic tac toe oyunu oluşturmak becerilerinizi geliştirmenize yardımcı olur.

İyi bir şey kullanabilirsin Python Pycharm gibi bir düzenleyici veya komut satırı arayüzü.

Tic Toc Oyunu nasıl oynanır?

Tic tac toe oyunu, herkesin oyun tahtasına ihtiyaç duymadan oynayabileceği basit, iki oyunculu bir oyundur. İki oyuncunun, galibiyet veya beraberlik elde edilene kadar oyun bitene kadar farklı hücreleri işaretlemesini içerir.

İşte tic tac toe oyununu nasıl oynayacağınız.

) 1 Adım Tic Tac Toe oyunu kare bir ızgaradaki boş hücrelerle başlar. Bu tic tac ayak tahtası.

) 2 Adım Her iki oyuncu da genellikle X veya O olmak üzere iki sembol arasından seçim yapar. Oyunda başka herhangi bir benzersiz sembolü kullanabilirsiniz.

) 3 Adım Mevcut oyuncu, bir oyuncu kazanan bir kombinasyonu doldurana kadar tic tac toe tahtasının hücrelerini doldurarak sırayla işaretler. Bu, aynı işarete sahip bir satırın, sütunun veya köşegenin tamamıdır.

) 4 Adım Tüm hücrelerin dolu olması ve görünürde bir kazananın olmaması durumunda da oyun beraberliği mümkündür

Yer Alan Kurallar

Bina tic tac toe Python proje başlangıç ​​düzeyinde bir anlayış gerektirir Python programlama dili. "For" döngülerini ve yinelemelerini ve if ifadesinin ne için kullanıldığını anlamayı içerir. Python.

Ayrıca sahip olmanız gerekir Python ve Python tic-tac-toe işlemini tamamlamak için bilgisayarınıza yüklenmiş bir metin düzenleyici Python proje. Bu başlangıç ​​seviyesinde bir tic-tac-toe oyunu olduğu için Python, hiçbirine ihtiyacın olmayacak Python kütüphane.

Kodunuzdaki hatalara çözüm bulmak için bazı hata ayıklama becerilerine ihtiyacınız olabilir ve ayrıca oyun bileşenlerini yeterince anlamış olmanız gerekir.

Tic Tac Toe Python Algoritma

Bir tic tac toe oyunu oluşturmak için bu adımları izleyin Python programlama dili:

) 1 Adım Tic Tac Toe oyununa başlamak için tahtayı oluşturun.

) 2 Adım Kullanıcıdan oyun tahtası boyutlarına karar vermesini isteyin.

) 3 Adım İlk oyuncuyu rastgele seçin.

) 4 Adım Tic tac toe oyunu başlıyor.

) 5 Adım Oyuncular tahtada boş bir nokta seçerek oynarlar.

) 6 Adım Seçilen boş alanı oyuncunun işaretiyle doldurun.

) 7 Adım Oyun mantığını kullanarak bir oyuncunun oyunda kazanıp kazanmayacağını veya berabere kalacağını belirleyin.

) 8 Adım Hiçbir oyuncu kazanmazsa veya ikinci oyuncuyla beraberlik kazanamazsa, her oyundan sonra oyun tahtasını görüntüleyin.

) 9 Adım Sırasıyla bir beraberlik veya galibiyet mesajı görüntüleyin.

) 10 Adım Yeni bir oyuna başlama seçenekleriyle tic tac toe oyununu sonlandırın.

Her Şey Dahil Python tic tac toe kodu

# Guru99
# Code developed by Guru99.com
# Guru99 tic-tac-toe game
#Get input
def getInput(prompt, cast=None, condition=None, errorMessage=None):
  while True:
      try:
          val = cast(input(prompt))
          assert condition is None or condition(val)
          return val
      except:
          print(errorMessage or "Invalid input.")
# Print the game board
def printBoard(board):
  print()
  for row in board:
      print(*row)
  print()
# Check if player won using the winning combinations
def checkWin(board):
  # Check rows
  for row in range(len(board)):
      for col in range(len(board)-1):
          if board[row][col] == "_" or board[row][col+1] == "_" or board[row][col] != board[row][col+1]:
              break
      else:
          return True
  # Check column numbers
  for col in range(len(board)):
      for row in range(len(board)-1):
          if board[row][col] == "_" or board[row+1][col] == "_" or board[row][col] != board[row+1][col]:
              break
      else:
          return True
  # Check left diagonal
  for cell in range(len(board)-1):
      if board[cell][cell] == "_" or board[cell+1][cell+1] == "_" or board[cell][cell] != board[cell+1][cell+1]:
          break
  else:
      return True
  # Check right diagonal
  for cell in range(len(board)-1):
      emptyCell = board[cell][len(board)-cell-1] == "_" or board[cell+1][len(board)-cell-2] == "_"
      different = board[cell][len(board)-cell-1] != board[cell+1][len(board)-cell-2]
      if emptyCell or different:
          break
  else:
      return True
  # No win
  return False
# Play tic tac toe game
def play():
  # Introduction
  print("------------\nN-DIMENSIONAL TIC TAC TOE game by guru 99.com \n------------")
  # Set up variables
  N = getInput(prompt="Guru99 says>>> Enter N, the dimensions of the board: ",
               cast=int,
               condition=lambda x: x >= 3,
               errorMessage="Invalid input. Please enter an integer greater than or equal to 3 as explained on guru99.com")
  board = [['_'] * N for _ in range(N)]
  used = 0
  turn = 0
  # Play guru99 tic tac toe game in Python using while infinite loop
  while True:
      # Print guru99 tic tac toe game board
      printBoard(board)
      # Get user pick
      pick = getInput(prompt=f"Player {turn+1} - Pick location (row, col): ",
                      cast=lambda line: tuple(map(int, line.split(" "))),
                      condition=lambda pair: min(pair) >= 0 and max(pair) < N and board[pair[0]][pair[1]] == "_",
                      errorMessage="Invalid input. Please enter a valid, unoccupied location as an integer pair.")
      # Populate location
      board[pick[0]][pick[1]] = "X" if turn == 0 else "O"
      used += 1
      # Check for win
      #Guru99 tutorial
      if checkWin(board):
          printBoard(board)
          print(f"Game over, Player {turn+1} wins.")
          break
      # Check for tie
      elif used == N*N:
          printBoard(board)
          print("Game over. Players have tied the match.")
          print("Guru99.com tic tac toe game ")
          break
      # If no win yet, update next user
      turn = (turn+1)%2
  # Check for rematch
  playAgain = getInput(prompt="Play Guru99 tic tac toe_Game again? (y/n): ",
                       cast=str,
                       condition=lambda ans: ans.strip("\n").lower() in {"y", "n"},
                       errorMessage="Invalid input. Please enter 'y' or 'n'.")
  if playAgain == 'n':
      # End the game
      print("\nGuru99 TicTacToe game ended.")
      return
  else:
      # Rematch
      play()
# Main
if __name__ == '__main__':
  play()

Tic Tac Toe Python Kod çıkışı

Yukarıdaki kaynak kodunu çalıştırdığınızda, 3 X 3 tic tac süpürgelik için beklenen çıktı aşağıdadır:

------------
N-DIMENSIONAL TIC TAC TOE game by guru 99.com
------------
Guru99 says>>> Enter N, the dimensions of the board: 3

_ _ _

_ _ _

_ _ _

Player 1 - Pick location (row, col): 1 1

_ _ _

_ X _

_ _ _

Player 2 - Pick location (row, col): 0 1

_ O _

_ X _

_ _ _

Player 1 - Pick location (row, col): 1 2

_ O _

_ X X

_ _ _

Player 2 - Pick location (row, col): 0 2

_ O O

_ X X

_ _ _

Player 1 - Pick location (row, col): 1 0

_ O O

X X X

_ _ _

Game over, Player 1 wins.
Play Guru99 tic tac toe_Game again? (y/n):

Tam Kod Dağılımı

Oluşturma tik tak toe içeri gir Python çok basit. Her satırda neler olup bittiğini anlamak için farklı işlevleri parçalara ayıralım:

Tahtayı yazdırma

Tic tac toe board oyunun ana ekranıdır. İçinde, Python Görüntü penceresi oyun tahtasını göstermek için kullanılır.

İşte tic tac toe için bir tahta oluşturmanıza yardımcı olacak adımlar: Python:

Python Tic Tac Toe'nun kodu

def getInput(prompt, cast=None, condition=None, errorMessage=None):
   while True:
       try:
           val = cast(input(prompt))
           assert condition is None or condition(val)
           return val
       except:
           print(errorMessage or "Invalid input.")
# Print the board
def printBoard(board):
   print()
   for row in board:
       print(*row)
   print()
N = getInput(prompt="Guru99 says>>> Enter N, the dimensions of the board: ",
            cast=int,
            condition=lambda x: x >= 3,
            errorMessage="Invalid input. Please enter an integer greater than or equal to 3 as explained on guru99.com")
board = [['_'] * N for _ in range(N)]
used = 0
turn = 0
printBoard(board)

Kod çıkışı:

------------
N-DIMENSIONAL TIC TAC TOE game by guru 99.com
------------
Guru99 says>>> Enter N, the dimensions of the board: 3

_ _ _

_ _ _

_ _ _

Tic Tac Toe Oyunu – kazanan düzenleme

Herhangi bir oyuncunun kazanıp kazanmadığını kontrol etmek için satırlar, sütunlar ve köşegenlerdeki kazanan kombinasyonları kontrol etmemiz gerekir. Eğer bir kazanan varsa, kazanan bir mesaj göstermemiz gerekiyor.

satırlar

  • Satır için, işlev her ardışık sütun çiftini alır ve kazanan bir kombinasyon olup olmadığını kontrol eder.
  • Sıraları dolduran ilk oyuncu kazanır. Böylece ikinci oyuncu kaybeder.
  • Ardışık bir sütun çifti aynıysa, o satırdaki tüm öğelerin aynı olduğu açıktır.
  • Bunlardan ikisi farklıysa veya satırda boş bir hücre varsa yine de kazanan yoktur.
  • Daha sonra kaybetme koşullarını uyguluyoruz ve bir mola ekliyoruz. Bu kaybetme koşullarından herhangi biri doğruysa, işaretli satırda kazananımız yok demektir.
  • else ifadesi bir kazananın olduğunu gösteren gerçek bir geri dönüş sağlar.
  • Bir sonraki satıra geçmek için mola bu döngüden çıkar.

Sütunlar

Sütunlar için satırlardakiyle aynı işlevi tekrarlıyoruz. Her oyuncu yerini seçtikten sonra bir oyuncunun kazanıp kazanmadığını kontrol ederiz.

Çapraz sıra kazanır

Sol köşegen için görev daha basit hale gelir. Daima köşegenlerdeki hücreleri karşılaştıracağız. Ancak kazananın olmaması durumunda bir sonraki talimata geçebiliriz.

Oyun mantığını oyna

Bu oyunun ana işlevidir. Bunun için bilgi depolayan değişkenleri kullanabiliriz.

  • İlk değişken “N”de saklanan kart boyutudur. Oyun, kullanıcıdan bir sayı girmesini istedikten sonra tahta boyutunu alacaktır.
  • Yani değeri girdiğinizde işlenir.
  • Ayrıca geçersiz bir sayı yazıldığında oyunculara göstermek için bir hata mesajı oluşturuyoruz.
  • Daha sonra hücre dolduğunda "X" veya "O" harfini dolduran iki değişken oluşturabiliriz.
  • Daha sonra oyunculara oyun tahtasını gösterin. Bundan sonra oyuncunun girdisini alın.
  • Mantık daha sonra seçilen hücreyi dolu olarak işaretleyecek ve galibiyet veya beraberlik olup olmadığını kontrol edecektir.
  • Kazanan yoksa oyun bir sonraki oyuncunun oynamasını ister. Galibiyet ya da beraberlik olması durumunda oyun, kullanıcılara yeni bir oyun isteyip istemediklerini sorabiliyor.

Sonuç

  • Tic tac toe, boş bir tahta hücresine benzersiz bir sembol yerleştirerek oynanan iki oyunculu eğlenceli bir oyundur.
  • Bir tic tac toe oyunu oluşturma Python başlangıç ​​düzeyinde bir anlayış gerektirir Python, bir metin editörü ve Python yüklü.
  • Algoritma, kodu herhangi bir dilde sistematik olarak yazmanıza yardımcı olur.
  • Oyunu oluşturmak için öncelikle tahtayı çizin ve kazanma ve kaybetme düzenlemelerini belirlemek için kod yazın ve
  • Tic-tac-toe kodunu şurada test edebilirsiniz: Python önce onu oynayarak.

Bu yazıyı şu şekilde özetleyin: