#! -*- coding: utf-8 -*-
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=raw_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(raw_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()
'Python' 카테고리의 다른 글
sinebeep.py (0) | 2015.02.09 |
---|---|
rockPaperScissors.py (0) | 2015.02.09 |
oscylator.py (0) | 2015.02.08 |
textToImage.py (0) | 2015.02.08 |
scriptinfo.py / scriptinfoUsage.py (0) | 2015.02.08 |