কম্পিউটার

এলোমেলো নম্বর ব্যবহার করে স্বয়ংক্রিয় টিক ট্যাক টো গেমের পাইথন বাস্তবায়ন


এটা খুবই মজার খেলা। এই গেমটিতে কোন খেলোয়াড়ের প্রয়োজন নেই, এটি একটি স্বয়ংক্রিয় খেলা।

এখানে আমরা দুটি পাইথন মডিউল numpy এবং random ব্যবহার করছি। এই গেমটিতে ব্যবহারকারীকে বোর্ডে একটি চিহ্ন রাখতে বলার পরিবর্তে বোর্ডে চিহ্নটি স্বয়ংক্রিয়ভাবে স্থাপন করা হয় এবং এটি প্রতিটি পালা শেষে বোর্ডটি প্রদর্শন করবে যদি না একজন খেলোয়াড় জিতে যায়। খেলাটি ড্র হলে এটি -1 ফেরত দেয়।

উদাহরণ কোড

npimport randomfrom time import sleep # প্রথমে একটি খালি boarddef my_create_board():return(np.array([[0, 0, 0], [0, 0, 0], [0, 0, 0])
import numpy as np
import random
from time import sleep
#  first creates an empty board
def my_create_board():
   return(np.array([[0, 0, 0], [0, 0, 0], [0, 0, 0]]))
# Check for empty places on board
def my_possibilities(board):
   l = []
   for i in range(len(board)):
      for j in range(len(board)):
         if board[i][j] == 0:
            l.append((i, j))
   return(l)
# Select a random place for the player
def my_random_place(board, my_player):
   selection = my_possibilities(board)
   current_loc = random.choice(selection)
   board[current_loc] = my_player
   return(board)
def my_row_win(board, my_player):
   for x in range(len(board)):
      win = True
      for y in range(len(board)):
         if board[x, y] != my_player:
            win = False
            continue
         if win == True:
            return(win)
      return(win)
def my_col_win(board, my_player):
   for x in range(len(board)):
      win = True
      for y in range(len(board)):
         if board[y][x] != my_player:
            win = False
            continue
      if win == True:
         return(win)
   return(win)
def my_diag_win(board, my_player):
   win = True:
   for x in range(len(board)):
      if board[x, x] != my_player:
         win = False
   return(win)
def evaluate_game(board):
   my_winner = 0
   for my_player in [1, 2]:
      if (my_row_win(board, my_player) or
         my_col_win(board,my_player) or
         my_diag_win(board,my_player)):
         my_winner = my_player
   if np.all(board != 0) and my_winner == 0:
      my_winner = -1
   return my_winner
# Main function to start the game
def my_play_game():
   board, my_winner, counter = my_create_board(), 0, 1
   print(board)
   sleep(2)
   while my_winner == 0:
      for my_player in [1, 2]:
         board = my_random_place(board, my_player)
         print("Board after " + str(counter) + " move")
         print(board)
         sleep(2)
         counter += 1
         my_winner = evaluate_game(board)
         if my_winner != 0:
            break
   return(my_winner)
# Driver Code
print("Winner is: " + str(my_play_game()))

আউটপুট

[[0 0 0]
 [0 0 0]
 [0 0 0]]
Board after 1 move
[[0 1 0]
 [0 0 0]
 [0 0 0]]
Board after 2 move
[[0 1 0]
 [0 0 0]
 [0 0 2]]
Board after 3 move
[[0 1 0]
 [0 0 0]
 [0 1 2]]
Board after 4 move
[[0 1 0]
 [0 0 2]
 [0 1 2]]
Board after 5 move
[[0 1 1]
 [0 0 2]
 [0 1 2]]
Board after 6 move
[[0 1 1]
 [2 0 2]
 [0 1 2]]
Board after 7 move
[[0 1 1]
 [2 1 2]
 [0 1 2]]
Winner is: 1

  1. পাইথন ব্যবহার করে বল খেলা ধরা

  2. পাইথন ব্যবহার করে কনওয়ের গেম অফ লাইফ?

  3. পাইথনে UUID ব্যবহার করে র্যান্ডম আইডি তৈরি করা হচ্ছে

  4. পাইথনে Tkinter ব্যবহার করে রঙিন খেলা