import random
attr = ["烂头", "枪", "虎", "人", "鸡", "蜂"]
attr1 = attr * 4 # 每种生物四个
person1_list = []
person2_list = []
for i in range(0, int(len(attr1) / 2)): # 两个人平分
x = random.choice(attr1)
person1_list.append(x)
attr1.remove(x)
y = random.choice(attr1)
person2_list.append(y)
print("初始牌组随机选择完成:")
print("person1初始牌组:",end='')
print(person1_list)
print("person2初始牌组:",end='')
print(person2_list)
count = 1
while 1:
print("--------------------------------")
print("第{}轮".format(count))
print("--------------------------------")
x = random.choice(person1_list) # 1出牌,随机选择牌
y = random.choice(person2_list) # 2出牌,随机选择牌
print("person1出牌{}".format(x))
print("person2出牌{}".format(y))
x_int = attr.index(x) # x的索引
y_int = attr.index(y) # y的索引
# print(x_int)
# print(y_int)
'''
逻辑如下:
1.x==y 即出牌一致,两人弃牌
2.(x_int - y_int == -1) or x_int - y_int == 5 1赢,收2牌
3. 2赢,收1牌
4. 两人出牌没有关联,弃牌
'''
if x == y: # 一致则放至牌堆
print("两人出牌一致,都是{},弃牌".format(x))
person1_list.remove(x)
person2_list.remove(y)
print("person1牌组:", end='')
print(person1_list)
print("person2牌组:", end='')
print(person2_list)
elif (x_int - y_int == -1) or x_int - y_int == 5: # 1赢
person1_list.append(y) # 1收牌
person2_list.remove(y) # 2弃牌 完成逻辑2牌给1
print("person1赢,收牌,现在牌组为:", end='')
print(person1_list)
print("person2牌组为:", end='')
print(person2_list)
elif (y_int - x_int == -1) or y_int - x_int == 5: # 2赢
person2_list.append(x) # 同上
person1_list.remove(x)
print("person2赢,收牌,现在牌组为:", end='')
print(person2_list)
print("person1牌组为:", end='')
print(person1_list)
else: # 其它情况也弃牌
print("不输不赢,弃牌")
person1_list.remove(x)
person2_list.remove(y)
print("person1牌组:", end='')
print(person1_list)
print("person2牌组:", end='')
print(person2_list)
if len(person1_list) == 0 or len(person2_list) == 0:
print("游戏结束", end='')
print("--------------------------------")
if len(person1_list) == 0:
print("person2赢,最终牌组为", end='')
print(person2_list)
break
else:
print("person1赢,最终牌组为", end='')
print(person1_list)
break
count += 1