接竹竿
warning:
这篇文章距离上次修改已过1008天,其中的内容可能已经有所变动。
"*****接竹竿*****"
# 牌的大小范围:1——9
class struct_1:
data=[]
head:int
tail:int
class struct_2:
data=[]
head:int
tail:int
class stack:
data=[]
top:int
def PTbamboo():
book=[]
q1=struct_1()
q2=struct_2()
s=stack()
q1.head=1
q1.tail=1
q2.head=1
q2.tail=1
s.top=0
for i in range(100):
q1.data.append(0)
q2.data.append(0)
s.data.append(0)
for i in range(1,10):
book.append(0)
for i in range(6):
a=input("请一号拿牌:")
q1.data[q1.tail]=a
q1.tail+=1
for i in range(6):
b=input("请二号拿牌:")
q2.data[q2.tail]=b
q2.tail+=1
print(q1.data[:10])
print(q2.data[:10])
while q1.head<q1.tail and q2.head<q2.tail:
t=int(q1.data[q1.head])
if book[t]==0:
q1.head+=1
s.top+=1
s.data[s.top]=t
book[t]=1
else:
q1.head+=1
q1.data[q1.tail]=t
q1.tail+=1
while s.data[s.top]!=t:
book[s.data[s.top]]=0
q1.data[q1.tail]=s.data[s.top]
q1.tail+=1
s.top-=1
t=int(q2.data[q2.head])
if book[t]==0:
q2.head+=1
s.top+=1
s.data[s.top]=t
book[t]=1
else:
q2.head+=1
q2.data[q2.tail]=t
q2.tail+=1
while s.data[s.top]!=t:
book[s.data[s.top]]=0
q2.data[q2.tail]=s.data[s.top]
q2.tail+=1
s.top-=1
if q2.head==q2.tail:
print("1 win!")
print("一号玩家手中的牌为:",end='')
for i in range(q1.head,q1.tail):
print(q1.data[i],end='')
if s.top>0:
print("桌上的牌为:",end='')
for i in range(1,s.top+1):
print(s.data[i],end='')
else:
print("桌上已经没牌了!")
else:
print("2 win!")
print("二号玩家手中的牌为:",end='')
for i in range(q2.head,q2.tail):
print(q2.data[i],end='')
if s.top>0:
print("桌上的牌为:",end='')
for i in range(1,s.top+1):
print(s.data[i],end='')
else:
print("桌上已经没牌了!")
# PTbamboo()