当前位置: 代码迷 >> 综合 >> 烂头、枪、虎、人、鸡、蜜蜂小逻辑
  详细解决方案

烂头、枪、虎、人、鸡、蜜蜂小逻辑

热度:20   发布时间:2023-11-02 13:53:46.0
import randomattr = ["烂头", "枪", "虎", "人", "鸡", "蜂"]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牌给1print("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)breakelse:print("person1赢,最终牌组为", end='')print(person1_list)breakcount += 1

 

  相关解决方案