Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- class PermainanXOX:
- def __init__(self,player_name):
- self.board = [[' ',' ',' '],[' ',' ',' '],[' ',' ',' ']]
- self.player_name = player_name
- def main(self):
- print('Lets Play !')
- print('Rules : You must make 1 line Vertical Or Horizontal With X')
- play = True
- while play == True:
- for loop in range(2):
- if(loop == 0):
- print('Silahkan Jalan!')
- result = False
- while result == False:
- x = int(input("Pilih Baris [0,1,2] :"))
- y = int(input("Pilih Kolom [0,1,2] :"))
- result = self.turn('Player',x,y)
- if(result == False):
- print('\nCell Tersebut Telah Terisi\n')
- elif(loop == 1):
- result = False
- if(self.empty_checking() == False):
- result = True
- break
- while result == False:
- x = random.randrange(0,3)
- y = random.randrange(0,3)
- result = self.turn('Bot',x,y)
- if result == True:
- print('\nBot Memilih Baris',x,'Kolom',y)
- print()
- self.board_place()
- print()
- if(self.win_checking() != False):
- play = False
- print(self.win_checking())
- elif(self.empty_checking() == False):
- play = False
- print('\nGame Telah Selesai, Tidak Ada Pemenang!\n')
- def board_place(self):
- print(' ',self.board[0][0] , '|',self.board[0][1] , '|',self.board[0][2])
- print(' ',self.board[1][0] , '|',self.board[1][1] , '|',self.board[1][2])
- print(' ',self.board[2][0] , '|',self.board[2][1] , '|',self.board[2][2])
- def turn(self,who,x,y):
- if who == "Player":
- jalan = "X"
- else:
- jalan = "O"
- if self.board[x][y] != " ":
- return False
- else:
- self.board[x][y] = jalan
- return True
- def win_checking(self):
- # PLAYER WON
- message = ""
- if(self.board[0][0] == "X" and self.board[0][1] == "X" and self.board[0][2] == "X"):
- return '{0}{1}'.format(self.player_name," WON")
- elif(self.board[1][0] == "X" and self.board[1][1] == "X" and self.board[1][2] == "X"):
- return '{0}{1}'.format(self.player_name," WON")
- elif(self.board[2][0] == "X" and self.board[2][1] == "X" and self.board[2][2] == "X"):
- return '{0}{1}'.format(self.player_name," WON")
- elif(self.board[0][0] == "X" and self.board[1][0] == "X" and self.board[2][0] == "X"):
- return '{0}{1}'.format(self.player_name," WON")
- elif(self.board[0][1] == "X" and self.board[1][1] == "X" and self.board[2][1] == "X"):
- return '{0}{1}'.format(self.player_name," WON")
- elif(self.board[0][2] == "X" and self.board[1][2] == "X" and self.board[2][2] == "X"):
- return '{0}{1}'.format(self.player_name," WON")
- #BOT WON
- if(self.board[0][0] == "O" and self.board[0][1] == "O" and self.board[0][2] == "O"):
- return "Bot WON"
- elif(self.board[1][0] == "O" and self.board[1][1] == "O" and self.board[1][2] == "O"):
- return "Bot WON"
- elif(self.board[2][0] == "O" and self.board[2][1] == "O" and self.board[2][2] == "O"):
- return "Bot WON"
- elif(self.board[0][0] == "O" and self.board[1][0] == "O" and self.board[2][0] == "O"):
- return "Bot WON"
- elif(self.board[0][1] == "O" and self.board[1][1] == "O" and self.board[2][1] == "O"):
- return "Bot WON"
- elif(self.board[0][2] == "O" and self.board[1][2] == "O" and self.board[2][2] == "O"):
- return "Bot WON"
- #NO ONE
- return False
- def empty_checking(self):
- result = 0
- for x in range(3):
- for y in range(3):
- if self.board[x][y] == ' ':
- result += 1
- if result > 0:
- return True
- return False
- name = input('Nama Anda :')
- game = PermainanXOX(name)
- game.main()
Advertisement
Add Comment
Please, Sign In to add comment