loreng

Tugas AP2B M13

Jul 9th, 2021
855
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.33 KB | None | 0 0
  1. import random
  2. class PermainanXOX:
  3.     def __init__(self,player_name):
  4.         self.board = [[' ',' ',' '],[' ',' ',' '],[' ',' ',' ']]
  5.         self.player_name = player_name
  6.    
  7.     def main(self):
  8.         print('Lets Play !')
  9.         print('Rules : You must make 1 line Vertical Or Horizontal With X')
  10.         play = True
  11.         while play == True:
  12.             for loop in range(2):
  13.                 if(loop == 0):
  14.                     print('Silahkan Jalan!')
  15.                     result = False
  16.                     while result == False:
  17.                         x = int(input("Pilih Baris [0,1,2] :"))
  18.                         y = int(input("Pilih Kolom [0,1,2] :"))
  19.                         result = self.turn('Player',x,y)
  20.                         if(result == False):
  21.                             print('\nCell Tersebut Telah Terisi\n')
  22.                 elif(loop == 1):
  23.                     result = False
  24.                     if(self.empty_checking() == False):
  25.                         result = True
  26.                         break
  27.  
  28.                     while result == False:
  29.                         x = random.randrange(0,3)
  30.                         y = random.randrange(0,3)
  31.                         result = self.turn('Bot',x,y)
  32.                         if result == True:
  33.                             print('\nBot Memilih Baris',x,'Kolom',y)
  34.             print()
  35.             self.board_place()  
  36.             print()
  37.  
  38.             if(self.win_checking() != False):
  39.                 play = False
  40.                 print(self.win_checking())
  41.             elif(self.empty_checking() == False):
  42.                 play = False
  43.                 print('\nGame Telah Selesai, Tidak Ada Pemenang!\n')
  44.  
  45.  
  46.  
  47.     def board_place(self):
  48.         print(' ',self.board[0][0] , '|',self.board[0][1] , '|',self.board[0][2])
  49.         print(' ',self.board[1][0] , '|',self.board[1][1] , '|',self.board[1][2])
  50.         print(' ',self.board[2][0] , '|',self.board[2][1] , '|',self.board[2][2])
  51.  
  52.     def turn(self,who,x,y):
  53.         if who == "Player":
  54.             jalan = "X"
  55.         else:
  56.             jalan = "O"
  57.  
  58.         if self.board[x][y] != " ":
  59.             return False
  60.         else:
  61.             self.board[x][y] = jalan
  62.             return True
  63.    
  64.     def win_checking(self):
  65.     # PLAYER WON
  66.         message = ""
  67.         if(self.board[0][0] == "X" and self.board[0][1] == "X" and self.board[0][2] == "X"):
  68.             return '{0}{1}'.format(self.player_name," WON")
  69.         elif(self.board[1][0] == "X" and self.board[1][1] == "X" and self.board[1][2] == "X"):
  70.             return '{0}{1}'.format(self.player_name," WON")
  71.         elif(self.board[2][0] == "X" and self.board[2][1] == "X" and self.board[2][2] == "X"):
  72.             return '{0}{1}'.format(self.player_name," WON")
  73.         elif(self.board[0][0] == "X" and self.board[1][0] == "X" and self.board[2][0] == "X"):
  74.             return '{0}{1}'.format(self.player_name," WON")
  75.         elif(self.board[0][1] == "X" and self.board[1][1] == "X" and self.board[2][1] == "X"):
  76.             return '{0}{1}'.format(self.player_name," WON")
  77.         elif(self.board[0][2] == "X" and self.board[1][2] == "X" and self.board[2][2] == "X"):
  78.             return '{0}{1}'.format(self.player_name," WON")
  79.     #BOT WON
  80.         if(self.board[0][0] == "O" and self.board[0][1] == "O" and self.board[0][2] == "O"):
  81.             return "Bot WON"
  82.         elif(self.board[1][0] == "O" and self.board[1][1] == "O" and self.board[1][2] == "O"):
  83.             return "Bot WON"
  84.         elif(self.board[2][0] == "O" and self.board[2][1] == "O" and self.board[2][2] == "O"):
  85.             return "Bot WON"
  86.         elif(self.board[0][0] == "O" and self.board[1][0] == "O" and self.board[2][0] == "O"):
  87.             return "Bot WON"
  88.         elif(self.board[0][1] == "O" and self.board[1][1] == "O" and self.board[2][1] == "O"):
  89.             return "Bot WON"
  90.         elif(self.board[0][2] == "O" and self.board[1][2] == "O" and self.board[2][2] == "O"):
  91.             return "Bot WON"
  92.     #NO ONE        
  93.         return False
  94.  
  95.     def empty_checking(self):
  96.         result = 0
  97.         for x in range(3):
  98.             for y in range(3):
  99.                 if self.board[x][y] == ' ':
  100.                     result += 1
  101.         if result > 0:
  102.             return True
  103.         return False
  104.  
  105. name = input('Nama Anda :')
  106. game = PermainanXOX(name)
  107. game.main()
Advertisement
Add Comment
Please, Sign In to add comment