python谁是卧底、猜词语
作者:哪吒游戏网 来源:哪吒游戏网 2020-07-08 16:12:34
python谁是卧底、猜词语,哪吒游戏网给大家带来详细的python谁是卧底、猜词语介绍,大家可以阅读一下,希望这篇python谁是卧底、猜词语可以给你带来参考价值。
谁是卧底也是深受很多人喜欢的游戏谁是卧底词语,起码要三人以上才能玩,大致分为几个阶段:
1.分配平民词语和卧底词语—>
2.玩家依次发言—>
3.根据发言投票认为谁是卧底—>
4.得到票数最多的玩家出局—>
5.出局玩家刚好是卧底则平民胜利,如果出局玩家是平民则被冤死并继续第2步,当剩下的平民只有1个时卧底胜利。
特殊情况是,出现两名或以上的玩家票数相同,则相同票数的玩家重新发言,然后全体针对这几个玩家投票。
程序设计思想:输入玩家数num,玩家编号为0~num-1,然后定义三个含有num个元素的列表:词语列表,计算玩家票数的列表,死亡玩家的列表。列表下标从0~num-1,随机产生该区间的数x,代表x号玩家是卧底,然后分配卧底词和平民词。注意,提示几号玩家是卧底或冤死的时候,要将打印信息时候的下标加1,比如下标数0代表的其实是1号玩家。
在每轮游戏中,依次进行发言,投票,票数最多的玩家出局(出现相同票数则重新发言),出局玩家归入死亡玩家列表。然后开始下一轮。
那么,如果有num位玩家,则最多有多少轮游戏结束?因为进行到只有2位玩家游戏就结束了,所以答案是num-2轮!也就是说上述流程要循环num-2次。
num = int(input('请输入玩家数:>=3 \n'))
if num < 3:
print('人数不够,请输入>=3的人数')
#生成一个随机数,指定卧底
import random
wodi = random.randint(1,num) #第几个人是卧底
print(wodi)
word = [] #给他们指定身份列表
for i in range(1,num+1):
word.append('平民')
if i == wodi:
word[i-1] = '卧底'
print(word)
vote = [] #投票列表。判断最高票数
dead = [] #死亡列表,已死的平民
#初始化列表
for i in range(0,num):
vote.append(0)
dead.append(num+10)
#samevote是判断有没有同样最高票数,wodiwin判断卧底赢了没
wodi_win = 0
#投票环节
def all_vote(num,ifMax):
#第一步清空投票池
for j in range(0, num):
vote[j] = 0
#第二部相同最高票数则只能针对最高票数投票,否则直接投票
for j in range(0, num):
if (j not in dead):
if ifMax:
vote2p = int(input('请%d号玩家投票,只能针对最高票数的几位\n' % (j + 1))) - 1
else:
vote2p = int(input('请%d号玩家投票\n' % (j + 1))) - 1
vote[vote2p] += 1
for x in range(0, num - 1):
for k in range(0, num):
if (k not in dead):
print('%d号玩家发言时间' % (k + 1))
print('发言环节结束')
# 将各位玩家的票数置0
all_vote(num,0)
for y in range(0, num):
if ((vote[y] == max(vote)) & (y != vote.index(max(vote)))):
print('不止一位玩家得到最高票数,请这些玩家重新发言')
all_vote(num,1)
#第几位死亡,则加入死亡列表,死的是卧底则游戏结束,否则继续
dead[x] = vote.index(max(vote))
print(vote)
if (dead[x]+1 == wodi):
print('卧底得到最多票数,游戏结束')
wodi_win = 1
break
print('%d号玩家被冤死!' % (dead[x] + 1))
# 游戏结束
if (wodi_win == 0):
print('只剩两名玩家,卧底胜利!')
电视节目中的”你来比划我来猜“大家应该都看过,而且很多人也玩过,
规则就是一个人看词语比划相应动作和说一些提示,
另一个人看不到词语要通过比划的动作猜出来,猜的过程中主持人判断是否符合规则。
程序设计思想:输入Num组玩家,然后给定词语,5个词语为一组,猜对则bouns+1,
60s时间到或者玩家跳过则跳到下一个,5个词语猜完计算答对数目以及时间,最后判断哪组获得胜利
设定一个裁判组,有一个生成词组方法,一个判断对错方法,一个计算得分方法
一个玩家组,有一个输入答案方法
以下是代码:
import random
import time
#给定词语列表,然后随机生成其中五个
list_all = ['对牛弹琴','冰糖葫芦','刻舟求剑','口红','七上八下',
'放风筝','台灯','钻戒','三头六臂','愚公移山','乌鸦喝水',
'如来神掌','跑步','火车',
'仙人掌','捧腹大笑','画蛇添足','一手遮天','掩耳盗铃']
class Judge(object):
list_word = [] #生成的词语列表
#答对的词语数,答完总共的时间
answer_num = 0
answer_time = 0
def __init__(self,num):
self.num = num
#创建词组
@classmethod
def creat(cls):
if cls.list_word:
cls.list_word = []
while len(cls.list_word)<5:
word = random.choice(list_all)
if word not in cls.list_word:
cls.list_word.append(word)
@classmethod #判断输入答案对错,返回布尔值
def judge_true(cls,num,input_word):
if cls.list_word[num] == input_word:
return 1
else:
return 0
#计算得分
@classmethod
def score(cls,answer_num,answer_time):
score = answer_num*10 + int((300-answer_time)/10)
return score
class Player():
def __init__(self):
pass
#输入答案
@classmethod
def answer(cls):
string1 = input('输入你的答案:\n')
return string1
if __name__ == '__main__':
num_players = int(input('输入玩家组数:\n'))
#开始你划我猜
for i in range(0,num_players):
#生成裁判以及玩家组
judge = Judge(i)
judge.creat()
print(judge.list_word)
player = Player()
#计算时间用
start = time.time()
for k in range(0,5):
# 计算时间用
end = time.time()
sec = end - start
# 判断对错,统计用时
string1 = player.answer()
#答对答错都进入下一题
if judge.judge_true(k,string1):
judge.answer_num += 1
judge.answer_time += sec
else:
print('输入错误下一题\n')
judge.answer_time += sec
break
#一道题时间为60秒
if sec>=60:
print('输入超时,下一题')
break
#k=4时答题结束,计算第i组得分值
if k >=4 :
print('第%d组得分为%d'%(i,judge.score(judge.answer_num,judge.answer_time)))
很多人在聚餐时都玩过猜数字游戏,由某人随机出一个指定范围内的数谁是卧底词语,然后其他人一个一个猜,猜的过程中区间不断缩小,直到猜中为止。
import random
secret = random.randint(1,10)
#print(secret)
print('------猜数字游戏!-----')
guess = 0
while guess != secret:
temp = input('猜数字游戏开始,请输入数字:')
guess = int(temp)
if guess > secret:
print('您输入的数字大了!')
else:
print('您输入的数字小了!')
if guess == secret:
print('恭喜,您猜对了!')
print('游戏结束,再见!^_^')
#用一行代码实现数值交换:
a = 1
b = 2
a,b=b,a
print(a,b)
#如何用一行代码生成[1,4,9,16,25,36,49,64,81,100] ?
总结:以上内容就是针对python谁是卧底、猜词语详细阐释,如果您觉得有更好的建议可以提供给哪吒游戏网小编,python谁是卧底、猜词语部分内容转载自互联网,有帮助可以收藏一下。
上一篇: 我是卧底词语污
- 1 魔兽世界 考古(魔兽世界考古毁一生?这些装备幻化和坐骑值得你去玩考古)
- 2 普罗霍洛夫(卢布危机下俄土豪大甩卖 卖完豪宅卖球队)
- 3 龙之谷手柄(《龙之谷手游》手柄怎么连接 柄连接教学攻略)
- 4 普罗霍洛夫(俄罗斯土豪准备20亿抛售篮网! 最烂老板是怎样炼成的?)
- 5 天联网(天联网信息科技有限公司怎么样?)
- 6 附魔大师(魔兽世界怀旧服附魔大师在哪 附魔大师位置分享介绍)
- 7 wow烹饪食谱(魔兽世界怀旧服烹饪极品食谱)
- 8 陶谦让徐州(陶谦三让徐州,世界上真有这样的好人吗?)
- 9 lol神圣之剑(LOL如果神圣之剑回归,谁最受益?第1:只要不瞎都能上钻石!)
- 10 陶谦让徐州(陶谦三让徐州的原因是什么?)

机械战警
坦克射击
梦道满V版
火箭精英3d免费版
太古灵诀
小小帝国无敌破解版
厉害了我的娃
乐高无限
侠影双剑九游版