from random import choice
from time import sleep
class Game:
def __init__(self):
self.map = []
self.p1 = 0
self.p2 = 0
self.game = False
def set_up(self):
a = 0
self.game = True
self.map = [[],[],[],[],[],[]]
while a < len(self.map):
while len(self.map[a]) < 6:
self.map[a].append(' ')
a +=1
user = input('What piece do you want to be represented by: R or Y ? ').lower()
if user=='r':
self.p1 ='R'
self.p2 = 'Y'
elif user=='y':
self.p1 = 'Y'
self.p2 = 'R'
else:
self.p1 = 'R'
self.p2 = 'Y'
def display(self,n):
a = str(n).replace("[",'')
b = a.replace(',','|')
c = b.replace("'","")
d = c.replace(']','')
print('|',d,'|')
def display2(self):
print(' 0 1 2 3 4 5')
print('-'*20)
for i in self.map:
self.display(i)
print('-'*20)
def play1(self):
self.display2()
col = 0
try:
col = eval(input('Pick a column: '))
except:
NameError
TypeError
ValueError
SyntaxError
print('Try Again')
self.play1()
if col not in range(0,6):
print('Out of range')
self.play1()
else:
if self.game==True:
self.insert(col,self.p1)
def check_full(self):
c = 0
a = 0
r = 0
while a < 6:
while r < 6:
if self.map[a][r] in ['R','Y']:
c +=1
r +=1
r = 0
a+=1
if c >=36:
print('FULL')
self.game = False
self.set_up()
def check_map(self,n):
a = 0 #row
b = 0 #space
c = 0 #counting
while a < 6:
while b < 6:
if self.map[a][b]==n:
c +=1
else:
c = 0
if c >=4:
self.game = False
b +=1
b = 0
a +=1
a = 0 #row
b = 0 #space
while b < 6:
while a < 6:
if self.map[a][b]==n:
c +=1
else:
c = 0
if c>=4:
self.game = False
a +=1
b +=1
a = 0
b = 0
def insert(self,n,u):
a = 5
p = False
while a !=-1:
if self.map[a][n] not in ['R','Y']:
if p==False:
self.map[a][n] = u
p = True
a -=1
self.check_full()
if self.game==True:
self.check_map(u)
def play1_com(self):
n = choice([0,1,2,3,4,5])
print(n)
sleep(1)
if self.game==True:
self.display2()
self.insert(n,self.p1)
def play2(self):
n = choice([0,1,2,3,4,5])
print(n)
sleep(1)
if self.game==True:
self.display2()
self.insert(n,self.p2)
def cycle(self):
self.set_up()
mode = input('1.YOU vs COM\n2.COM vs COM: ')
if mode=='2':
while self.game==True:
self.play1_com()
self.play2()
else:
while self.game==True:
self.play1()
self.play2()
print('GAME OVER')
game = Game()
game.cycle()