टिक टैक टो गेम कैसे बनाएं Python साथ में Code उदाहरण

⚡ स्मार्ट सारांश

टिक टैक टो में Python यह एक शुरुआती लोगों के लिए अनुकूल प्रोजेक्ट है जो क्लासिक दो-खिलाड़ी ग्रिड गेम को पुनः प्रस्तुत करता है। इसे बनाने से लूप, कंडीशनल, लिस्ट, फंक्शन और रिकर्सन जैसे मूलभूत कौशल मजबूत होते हैं, साथ ही विजेता का निर्धारण करने के लिए पंक्तियों, स्तंभों और विकर्णों की जाँच भी की जाती है।

  • 🎮 Gameplay: दो खिलाड़ी एक वर्गाकार ग्रिड पर X और O का निशान लगाते हैं जब तक कि उनमें से एक पंक्ति, स्तंभ या विकर्ण को पूरा नहीं कर लेता।
  • 🧩 मूल तर्क: नेस्टेड सूचियाँ बोर्ड को संग्रहीत करती हैं जबकि लूप और सशर्त कथन चालों को संचालित करते हैं और जीत या टाई का पता लगाते हैं।
  • 🏗️ कदम बनाएँ: बोर्ड बनाएं, पहले खिलाड़ी का चयन करें, इनपुट लें, सेल को चिह्नित करें, और फिर प्रत्येक दौर में विजेता की जांच करें।
  • 🔁 रिप्ले: एक रिकर्सिव प्ले() कॉल मैच को फिर से शुरू करता है, और इनपुट वैलिडेशन व्यस्त या सीमा से बाहर की चालों को ब्लॉक करता है।
  • 🤖 एआई की प्रासंगिकता: यह बोर्ड मिनिमैक्स एल्गोरिदम और रीइन्फोर्समेंट-लर्निंग एजेंटों के लिए एक आदर्श खेल का मैदान है।
  • उपकरण: केवल Python और एक संपादक जैसे PyCharm इनकी आवश्यकता है; किसी बाहरी पुस्तकालय की आवश्यकता नहीं है।

टिक टीएसी टो खेल में Python

टिक टीएसी टो खेल में Python यह एक दिलचस्प प्रोजेक्ट है जिसे आप आजमा सकते हैं। यह एक मजेदार और मनोरंजक प्रोजेक्ट है जिसमें एक चुनौती को हल करना शामिल है और यह आपको बुनियादी अवधारणाओं में महारत हासिल करने में मदद कर सकता है। Pythonएक मजेदार टिक टैक टो गेम बनाने से आपके कौशल को विकसित करने में मदद मिलती है।

आप एक अच्छा उपयोग कर सकते हैं Python संपादक जैसे PyCharm या कमांड लाइन इंटरफेस।

टिक टैक टो गेम कैसे खेलें?

टिक टैक टो एक सरल दो-खिलाड़ी वाला खेल है जिसे कोई भी बिना गेम बोर्ड के खेल सकता है। इसमें दो खिलाड़ी अलग-अलग खानों पर निशान लगाते हैं जब तक कि खेल जीत या टाई के साथ समाप्त नहीं हो जाता।

टिक टैक टो गेम खेलने का तरीका यहाँ बताया गया है।

चरण 1) टिक टैक टो खेल की शुरुआत एक वर्गाकार ग्रिड में खाली खानों से होती है। यह टिक टैक टो बोर्ड है।

चरण 2) दोनों खिलाड़ी दो प्रतीकों में से चुनते हैं, आमतौर पर Xs या Os। आप खेल में किसी भी अन्य अद्वितीय प्रतीक का उपयोग कर सकते हैं।

चरण 3) टिक टैक टो बोर्ड के खानों को भरकर वर्तमान खिलाड़ी बारी-बारी से अंक अर्जित करता है, जब तक कि कोई खिलाड़ी जीतने वाला संयोजन पूरा नहीं कर लेता। जीतने वाले संयोजन का अर्थ है एक पूरी पंक्ति, स्तंभ या विकर्ण को एक ही चिह्न से भरना।

चरण 4) यदि सभी सेल भर जाएं और कोई स्पष्ट विजेता न हो तो खेल में टाई भी संभव है।

आवश्यकताएँ

टिक टैक टो बनाना Python इस परियोजना के लिए प्रारंभिक स्तर की समझ आवश्यक है। Python प्रोग्रामिंग भाषा। इसमें "फॉर" लूप और पुनरावृति को समझना और "इफ" स्टेटमेंट का उपयोग किस लिए किया जाता है, यह समझना शामिल है। 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 x 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” भर देते हैं।
  • फिर खिलाड़ियों को गेम बोर्ड दिखाएं। इसके बाद खिलाड़ियों का इनपुट लें।
  • इसके बाद लॉजिक चयनित सेल को भरा हुआ चिह्नित करेगा तथा जीत या ड्रा की जांच करेगा।
  • अगर कोई विजेता नहीं होता है, तो गेम अगले खिलाड़ी को खेलने के लिए कहता है। अगर कोई जीत या ड्रॉ होता है, तो गेम उपयोगकर्ताओं से पूछ सकता है कि क्या वे नया गेम खेलना चाहते हैं।

अक्सर पूछे जाने वाले प्रश्न

जी हाँ। टिक टैक टो एक क्लासिक शुरुआती प्रोजेक्ट है जो लूप, कंडीशनल स्टेटमेंट और फंक्शन को एक कारगर गेम में बदल देता है। यह आत्मविश्वास बढ़ाता है, बुनियादी सिंटैक्स को मजबूत करता है और बिना किसी बाहरी लाइब्रेरी की आवश्यकता के आपको बड़े प्रोजेक्ट्स के लिए तैयार करता है।

यह बोर्ड के लिए नेस्टेड सूचियों, बारी के लिए फॉर लूप और व्हाइल लूप, जीत की जांच के लिए इफ स्टेटमेंट, संरचना के लिए फ़ंक्शन और पुनः आरंभ करने के लिए रिकर्सन को सुदृढ़ करता है। ये मूलभूत सिद्धांत सीधे अधिक उन्नत तकनीकों में स्थानांतरित हो जाते हैं। Python कार्यक्रम.

जी हां। कंसोल संस्करण के अलावा, Tkinter और Pygame जैसी लाइब्रेरी क्लिक करने योग्य बटन, एक ग्रिड और माउस इनपुट जोड़ती हैं। गेम का लॉजिक वही रहता है; केवल डिस्प्ले और इनपुट लेयर्स बदलती हैं।

टिक टैक टो एक सुलझा हुआ खेल है। जब दोनों खिलाड़ी बेहतरीन तरीके से खेलते हैं, तो हर खतरे को रोका जा सकता है, इसलिए कोई भी जबरदस्ती जीत हासिल नहीं कर सकता। यही कारण है कि चाहे इंसान खेले या कंप्यूटर, एक त्रुटिहीन मैच हमेशा टाई पर समाप्त होता है।

एक बुनियादी कंसोल संस्करण को सीखने में शुरुआती लोगों को लूप और कंडीशनल स्टेटमेंट से परिचित होने के बाद एक से तीन घंटे लगते हैं। इनपुट वैलिडेशन, स्केलेबल बोर्ड या ग्राफिकल इंटरफेस जोड़ने से यह प्रोजेक्ट अभ्यास के एक सप्ताहांत तक बढ़ जाता है।

एक खिलाड़ी को मिनिमैक्स फ़ंक्शन से बदलें। यह फ़ंक्शन हर संभव चाल का विश्लेषण करता है, जीत, हार और ड्रॉ का स्कोर करता है, और फिर सबसे अच्छे संभावित परिणाम वाली चाल का चयन करता है। छोटे बोर्ड पर, इससे कंप्यूटर को हराना लगभग नामुमकिन हो जाता है।

हाँ। क्यू-लर्निंग जैसे रीइन्फोर्समेंट लर्निंग एजेंट हजारों गेम खेलकर और जीतने वाली चालों को पुरस्कृत करके बेहतर होते हैं। बोर्ड को एरे के रूप में संग्रहीत किया जाता है। Numpyइससे मॉडल को बिना किसी पूर्वनिर्धारित नियम के लगभग इष्टतम रणनीति सीखने की अनुमति मिलती है।

जी हां। GitHub Copilot और इसी तरह के अन्य AI सहायक एक छोटे से संकेत से ही बोर्ड का ढांचा तैयार कर सकते हैं, चालों का चक्र चला सकते हैं और चेक जीत सकते हैं। आउटपुट को पहले ड्राफ्ट के रूप में लें, फिर टाई और अमान्य चालों जैसे विशिष्ट मामलों का स्वयं परीक्षण करें।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: