كيفية صنع لعبة تيك تاك تو Python مع Code مثال
⚡ ملخص ذكي
تيك تاك تو في Python هو مشروع سهل للمبتدئين يُعيد ابتكار لعبة الشبكة الكلاسيكية ثنائية اللاعبين. يُعزز بناؤه المهارات الأساسية مثل الحلقات، والشروط، والقوائم، والدوال، والتكرار، مع فحص الصفوف والأعمدة والأقطار لتحديد الفائز.

لعبة تيك تاك تو في Python إنه مشروع شيق يمكنك تجربته. إنه مشروع رائع وممتع لحل التحديات، ويمكن أن يساعدك على إتقان المفاهيم الأساسية في Pythonيساعدك ابتكار لعبة تيك تاك تو ممتعة على تنمية مهاراتك.
يمكنك استخدام جيدة Python محرر مثل PyCharm أو واجهة سطر الأوامر.
كيف تلعب لعبة إكس أو؟
لعبة إكس أو هي لعبة بسيطة ثنائية اللاعبين يمكن لأي شخص لعبها دون الحاجة إلى لوحة لعب. تتضمن اللعبة قيام لاعبين بوضع علامات على خانات مختلفة حتى تنتهي اللعبة بفوز أحدهما أو تعادله.
إليك كيفية لعب لعبة تيك تاك تو.
الخطوة 1) تبدأ لعبة إكس أو بخانات فارغة في شبكة مربعة. هذه هي لوحة لعبة إكس أو.
الخطوة 2) يختار كلا اللاعبين من بين رمزين، عادةً Xs أو Os. يمكنك استخدام أي رمز فريد آخر في اللعبة.
الخطوة 3) يقوم اللاعب الحالي بوضع علاماته بالتناوب عن طريق ملء خلايا لوحة لعبة إكس أو حتى يُكمل أحد اللاعبين مجموعة فائزة. أي صف كامل أو عمود أو قطر يحمل نفس العلامة.
الخطوة 4) من الممكن أيضاً أن تنتهي المباراة بالتعادل في حال امتلاء جميع الخلايا وعدم وجود فائز واضح.
متطلبات الدراسة
بناء لعبة إكس أو Python يتطلب المشروع فهمًا على مستوى المبتدئين لـ Python لغة البرمجة. يتضمن ذلك فهم حلقات "for" والتكرارات، واستخدام عبارة "if" في Python.
أنت أيضا بحاجة إلى أن يكون لديك Python و Python قم بتثبيت محرر نصوص على جهاز الكمبيوتر الخاص بك لإكمال لعبة تيك تاك تو Python مشروع. بما أن هذه لعبة تيك تاك تو للمبتدئين Pythonلن تحتاج إلى أي شيء Python مكتبة.
قد تحتاج إلى بعض مهارات تصحيح الأخطاء لإيجاد حلول للأخطاء في التعليمات البرمجية الخاصة بك، ويجب أن يكون لديك أيضًا فهم كافٍ لمكونات اللعبة.
تيك تاك تو Python خوارزمية
اتبع هذه الخطوات لإنشاء لعبة تيك تاك تو في Python لغة البرمجة:
الخطوة 1) قم بإنشاء اللوحة لبدء لعبة تيك تاك تو.
الخطوة 2) اطلب من المستخدم أن يقرر أبعاد لوحة اللعبة.
الخطوة 3) اختر اللاعب الأول بشكل عشوائي.
الخطوة 4) تبدأ لعبة إكس أو.
الخطوة 5) يلعب اللاعبون عن طريق تحديد مكان فارغ على اللوحة.
الخطوة 6) املأ المكان الفارغ المحدد بعلامة اللاعب.
الخطوة 7) حدد ما إذا كان اللاعب سيفوز أو يحصل على التعادل في اللعبة باستخدام منطق اللعبة.
الخطوة 8) قم بعرض لوحة اللعبة بعد كل لعبة إذا لم يفز أي لاعب أو حصل على التعادل مع اللاعب الثاني.
الخطوة 9) عرض رسالة التعادل أو الفوز، على التوالي.
الخطوة 10) أنهِ لعبة تيك تاك تو مع خيارات لبدء لعبة جديدة.
طويل 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 Code الناتج
بعد تشغيل الكود المصدري أعلاه، ستكون النتائج المتوقعة للوحة لعبة إكس أو 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):
طويل Code انهيار
خلق تيك تاك تو في Python الأمر بسيط. دعونا نحلل الوظائف المختلفة جزءًا جزءًا لفهم ما يحدث في كل سطر:
طباعة اللوح
لوحة لعبة إكس أو هي الشاشة الرئيسية للعبة. Pythonتُستخدم نافذة عرض لعرض لوحة اللعبة.
إليك الخطوات التي تساعدك على إنشاء لوحة للعبة تيك تاك تو 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)
Code انتاج:
------------ N-DIMENSIONAL TIC TAC TOE game by guru 99.com ------------ Guru99 says>>> Enter N, the dimensions of the board: 3 _ _ _ _ _ _ _ _ _
لعبة تيك تاك تو – الترتيب الفائز
للتحقق من فوز أي لاعب، نحتاج إلى التحقق من المجموعات الفائزة عبر الصفوف والأعمدة والأقطار. إذا كان هناك فائز، فنحن بحاجة إلى إظهار رسالة فائزة.
الصفوف
- بالنسبة للصف، تأخذ الدالة كل زوج متتالي من الأعمدة وتتحقق من المجموعة الفائزة.
- أول لاعب يملأ الصفوف يفوز. وبالتالي يخسر اللاعب الثاني.
- إذا كان زوج من الأعمدة المتتالية متطابقًا، فمن الواضح أن جميع العناصر الموجودة داخل ذلك الصف متطابقة.
- إذا كان اثنان منهم مختلفين أو كان الصف يحتوي على خلية فارغة، فلا يوجد فائز حتى الآن.
- نقوم بعد ذلك بتنفيذ شروط الخسارة وإضافة استراحة. إذا كان أي من شروط الخسارة هذه صحيحًا، فلن يكون لدينا فائز في الصف المحدد.
- العبارة else تعطي عائدًا حقيقيًا لإظهار أن هناك فائزًا.
- ينقطع الاستراحة عن هذه الحلقة للانتقال إلى الصف التالي.
الأعمدة
بالنسبة للأعمدة، نكرر نفس الوظيفة كما في الصفوف. نتحقق مما إذا كان اللاعب قد فاز بعد أن يختار كل لاعب مكانه.
يفوز الصف القطري
بالنسبة للقطر الأيسر، تصبح المهمة أبسط. سنقارن دائمًا الخلايا في الأقطار. ولكن في حال عدم وجود فائز، يمكننا الانتقال إلى التعليمات التالية.
لعب منطق اللعبة
هذه هي وظيفة اللعبة الرئيسية. لهذا يمكننا استخدام المتغيرات التي تخزن المعلومات.
- المتغير الأول هو حجم اللوحة المخزنة في "N". ستحصل اللعبة على حجم اللوحة بعد مطالبة المستخدم بإدخال رقم.
- لذلك، عند إدخال القيمة، تتم معالجتها.
- نقوم أيضًا بإنشاء رسالة خطأ لإظهار اللاعبين عند كتابة أي رقم غير صالح.
- يمكننا بعد ذلك إنشاء متغيرين يملأان "X" أو "O" عند ملء الخلية.
- ثم أظهر للاعبين لوحة اللعبة. بعد ذلك، احصل على مدخلات اللاعب.
- سيقوم المنطق بعد ذلك بوضع علامة على الخلية المحددة كمملوءة والتحقق من الفوز أو التعادل.
- إذا لم يكن هناك فائز، تطلب اللعبة من اللاعب التالي أن يلعب. إذا كان هناك فوز أو تعادل، فيمكن للعبة أن تسأل المستخدمين عما إذا كانوا يريدون لعبة جديدة.
