كيفية صنع لعبة تيك تاك تو Python مع مثال الكود

لعبة تيك تاك تو في Python هو مشروع مثير للاهتمام يمكنك تجربته. إنه مشروع رائع وممتع لحل التحدي ويمكن أن يساعدك في إتقان المفاهيم الأساسية في Python. يساعدك إنشاء لعبة تيك تاك تو الممتعة على تنمية مهاراتك.

يمكنك استخدام جيدة Python محرر مثل Pycharm أو واجهة سطر الأوامر.

كيف تلعب لعبة تيك توك؟

لعبة تيك تاك تو هي لعبة بسيطة للاعبين يمكن لأي شخص لعبها دون الحاجة إلى لوحة ألعاب. يتضمن قيام لاعبين بوضع علامات على خلايا مختلفة حتى تنتهي اللعبة، ويتم تحقيق الفوز أو التعادل.

إليك كيفية لعب لعبة تيك تاك تو.

الخطوة 1) تبدأ لعبة تيك تاك تو بخلايا فارغة في شبكة مربعة. هذه هي لوحة تيك تاك تو.

الخطوة 2) يختار كلا اللاعبين من بين رمزين، عادةً Xs أو Os. يمكنك استخدام أي رمز فريد آخر في اللعبة.

الخطوة 3) يقوم اللاعب الحالي بالتناوب عن طريق ملء خلايا لوحة tic tac toe حتى يملأ اللاعب المجموعة الفائزة. هذا عبارة عن صف أو عمود أو قطري كامل يحمل نفس العلامة.

الخطوة 4) من الممكن أيضًا ربط اللعبة في حالة امتلاء جميع الخلايا مع عدم وجود فائز واضح

متطلبات الدراسة

بناء تيك تاك تو Python تنفيذ المشاريع يتطلب فهم مستوى المبتدئين Python لغة البرمجة. ويتضمن فهم حلقات "for" والتكرارات وما هي عبارة if المستخدمة فيها Python.

أنت أيضا بحاجة إلى أن يكون لديك Python و Python تم تثبيت محرر النصوص على جهاز الكمبيوتر الخاص بك لإكمال لعبة tic-tac-toe Python مشروع. نظرًا لأن هذه لعبة tic tac-toe للمبتدئين Python، لن تحتاج إلى أي منها Python مكتبة.

قد تحتاج إلى بعض مهارات تصحيح الأخطاء للعثور على حلول للأخطاء الموجودة في التعليمات البرمجية الخاصة بك ويجب أن يكون لديك أيضًا فهم مناسب لمكونات اللعبة.

تيك تاك تو Python خوارزمية

اتبع هذه الخطوات لإنشاء لعبة تيك تاك تو Python لغة البرمجة:

الخطوة 1) قم بإنشاء اللوحة لبدء لعبة تيك تاك تو.

الخطوة 2) اطلب من المستخدم أن يقرر أبعاد لوحة اللعبة.

الخطوة 3) اختر اللاعب الأول بشكل عشوائي.

الخطوة 4) تبدأ لعبة تيك تاك تو.

الخطوة 5) يلعب اللاعبون عن طريق تحديد مكان فارغ على اللوحة.

الخطوة 6) املأ المكان الفارغ المحدد بعلامة اللاعب.

الخطوة 7) حدد ما إذا كان اللاعب سيفوز أو يحصل على التعادل في اللعبة باستخدام منطق اللعبة.

الخطوة 8) قم بعرض لوحة اللعبة بعد كل لعبة إذا لم يفز أي لاعب أو حصل على التعادل مع اللاعب الثاني.

الخطوة 9) عرض رسالة التعادل أو الفوز، على التوالي.

الخطوة 10) قم بإنهاء لعبة tic tac toe مع خيارات لبدء لعبة جديدة.

طويل Python رمز تيك تاك تو

# 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()

تيك تاك تو Python إخراج الكود

بمجرد تشغيل الكود المصدري أعلاه، فيما يلي المخرجات المتوقعة للوحة tic tac toe مقاس 3 × 3:

------------
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):

انهيار الكود الكامل

خلق تيك تاك تو في Python بسيط. دعونا نحلل الوظائف المختلفة في أجزاء صغيرة لفهم ما يحدث لكل سطر:

طباعة اللوح

لوحة Tic tac toe هي شاشة العرض الرئيسية للعبة. في، Python يتم استخدام نافذة العرض لإظهار لوحة اللعبة.

فيما يلي الخطوات التي تساعدك على إنشاء لوحة لـ tic tac toe Python:

Python رمز تيك تاك تو

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)

إخراج الكود:

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

_ _ _

_ _ _

_ _ _

لعبة تيك تاك تو – الترتيب الفائز

للتحقق من فوز أي لاعب، نحتاج إلى التحقق من المجموعات الفائزة عبر الصفوف والأعمدة والأقطار. إذا كان هناك فائز، فنحن بحاجة إلى إظهار رسالة فائزة.

الصفوف

  • بالنسبة للصف، تأخذ الدالة كل زوج متتالي من الأعمدة وتتحقق من المجموعة الفائزة.
  • أول لاعب يملأ الصفوف يفوز. وبالتالي يخسر اللاعب الثاني.
  • إذا كان هناك زوج من الأعمدة المتتالية متماثلين، فمن الواضح أن جميع العناصر الموجودة في هذا الصف متماثلة.
  • إذا كان اثنان منهم مختلفين أو كان الصف يحتوي على خلية فارغة، فلا يوجد فائز حتى الآن.
  • نقوم بعد ذلك بتنفيذ شروط الخسارة وإضافة استراحة. إذا كان أي من شروط الخسارة هذه صحيحًا، فلن يكون لدينا فائز في الصف المحدد.
  • العبارة else تعطي عائدًا حقيقيًا لإظهار أن هناك فائزًا.
  • ينقطع الاستراحة عن هذه الحلقة للانتقال إلى الصف التالي.

الأعمدة

بالنسبة للأعمدة، نكرر نفس الوظيفة كما في الصفوف. نتحقق مما إذا كان اللاعب قد فاز بعد أن يختار كل لاعب مكانه.

يفوز الصف القطري

بالنسبة للقطري الأيسر، تصبح المهمة أسهل. سنقوم دائمًا بمقارنة الخلايا الموجودة في الأقطار. ومع ذلك، في حالة عدم وجود فائز، يمكننا المتابعة إلى التعليمات التالية.

لعب منطق اللعبة

هذه هي وظيفة اللعبة الرئيسية. لهذا يمكننا استخدام المتغيرات التي تخزن المعلومات.

  • المتغير الأول هو حجم اللوحة المخزنة في "N". ستحصل اللعبة على حجم اللوحة بعد مطالبة المستخدم بإدخال رقم.
  • لذلك، عند إدخال القيمة، تتم معالجتها.
  • نقوم أيضًا بإنشاء رسالة خطأ لإظهار اللاعبين عند كتابة أي رقم غير صالح.
  • يمكننا بعد ذلك إنشاء متغيرين يملأان "X" أو "O" عند ملء الخلية.
  • ثم أظهر للاعبين لوحة اللعبة. بعد ذلك، احصل على مدخلات اللاعب.
  • سيقوم المنطق بعد ذلك بوضع علامة على الخلية المحددة كمملوءة والتحقق من الفوز أو التعادل.
  • إذا لم يكن هناك فائز، تطلب اللعبة من اللاعب التالي أن يلعب. إذا كان هناك فوز أو تعادل، فيمكن للعبة أن تسأل المستخدمين عما إذا كانوا يريدون لعبة جديدة.

وفي الختام

  • تيك تاك تو هي لعبة ممتعة للاعبين يمكن لعبها من خلال وضع رمز فريد في خلية لوحة فارغة.
  • إنشاء لعبة تيك تاك تو Python يتطلب فهم مستوى المبتدئين Pythonومحرر النصوص و Python تثبيت.
  • تساعدك الخوارزمية على كتابة التعليمات البرمجية بشكل منهجي بأي لغة.
  • لإنشاء اللعبة، أولاً، ارسم اللوحة واكتب الكود لتحديد ترتيبات الفوز والخسارة
  • يمكنك اختبار رمز tic-tac-toe في Python من خلال اللعب بها أولاً.