谁是卧底也是深受很多人喜欢的游戏,起码要三人以上才能玩,大致分为几个阶段:1.分配平民词语和卧底词语--->2.玩家依次发言--->3.根据发言投票认为谁是卧底--->4.得到票数最多的玩家出局--->5.出局玩家刚好是卧底则平民胜利,如果出局玩家是平民则被冤死并继续第2步,当剩下的平民只有1个时卧底胜利。

特殊情况是,出现两名或以上的玩家票数相同,则相同票数的玩家重新发言,然后全体针对这几个玩家投票。

程序设计思想:输入玩家数num,玩家编号为0~num-1,然后定义三个含有num个元素的列表:词语列表,计算玩家票数的列表,死亡玩家的列表。列表下标从0~num-1,随机产生该区间的数x,代表x号玩家是卧底,然后分配卧底词和平民词。注意,提示几号玩家是卧底或冤死的时候,要将打印信息时候的下标加1,比如下标数0代表的其实是1号玩家。在生活中,没多少人会习惯说自己是“第0个人”这种说法吧,除了程序员- -;

在每轮游戏中,依次进行发言,投票,票数最多的玩家出局(出现相同票数则重新发言),出局玩家归入死亡玩家列表。然后开始下一轮。

那么,如果有num位玩家,则最多有多少轮游戏结束?因为进行到只有2位玩家游戏就结束了,所以答案是num-2轮!也就是说上述流程要循环num-2次。

编程思想定了就可以敲代码了,程序代码如下:

#!/usr/local/bin/python3

import random

from spyword import spyword

num=int(input('请输入玩家数(至少为3)\n'))

#卧底玩家

spy=random.randint(0,num-1)

#随机产生词语 定义词语列表 计算玩家票数的列表 统计死亡玩家的列表

list_rand=spyword.popitem()

word=[]

cnt=[]

dead=[]

#给三个列表赋值

for i in range(0,num):

word.append('a')

cnt.append(0)

dead.append(num+2)

#给玩家词语 其中print是调试用的,sanmeVote是出现相同票数的标志,spyWin是卧底胜利的判决条件

for i in range(0,num):

if (i==spy):

word[i]=str(list_rand[1])

else:

word[i]=str(list_rand[0])

print (word[i])

sameVote=0

spyWin=0

#游戏开始

for x in range(0,num-1):

for k in range(0,num):

if ((k not in dead) & (sameVote==0)):

print ('%d号玩家发言时间'%(k+1))

print ('发言环节结束')

#将各位玩家的票数置0

for j in range(0,num):

if (j not in dead):

cnt[j]=0

for j in range(0,num):

if (j not in dead):

vote2p=int(input('请%d号玩家投票'%(j+1)))-1

cnt[vote2p]=cnt[vote2p]+1

sameVote=0

for y in range(0,num):

if((cnt[y]==max(cnt)) & (y!=cnt.index(max(cnt)))):

print ('不止一位玩家得到最高票数,请这些玩家重新发言')

sameVote=1

if (sameVote==0):

dead[x]=cnt.index(max(cnt))

if (dead[x]==spy):

print ('卧底得到最多票数,游戏结束')

spyWin=1

break

print ('%d号玩家被冤死!'%(dead[x]+1))

#游戏结束

if(spyWin==0):

print ('只剩两名玩家,卧底胜利!')

python编的著名游戏制作人是_Python实现经典游戏:谁是卧底相关推荐

  1. python编的著名游戏制作人是谁_老贼是哪个游戏制作人

    在一些单机游戏相关的讨论中,不少玩家都能看到老贼这个词,那么这指的是哪位游戏制作人呢,部分玩家不太了解,接下来就介绍一下老贼指代的游戏制作人. 老贼是哪个游戏制作人 老贼指的是日本知名游戏制作人宫崎英 ...

  2. python脚本 游戏赚金币_python捡金币游戏(上)

    创建游戏背景 这里设置了游戏的基本窗口尺寸,标题,以及背景颜色.游戏背景可以使用现成的图片素材,也可以使用单纯的颜色设置,这里采用颜色设置,具体颜色值可以到网上搜索一下就可以了. 添加角色素材 这里添 ...

  3. python游戏开发库_Python库之游戏开发及虚拟现实

    1.PyGame:简单的游戏开发功能库 http://www.pygame.org 提供了基于SDL的简单游戏开发功能及实现引擎 理解游戏对外部输入的响应机制及角色构建和交互机制 Python游戏入门 ...

  4. python开发的著名游戏制作人是_Python 曾经开发过哪些了不起的程序或游戏?

    為啥網站的服務器程序不算通常意義的程序啊,那您說什麼樣的程序算程序?只有跑在 Windows 上的桌面應用算? 那就單說桌面程序: BitTorrent 的老版本是 Python 寫的,新版本換了 u ...

  5. python猜一个数猜对为止_python猜数字游戏while

    安装python之后,我们就可以使用python自带的开发集成环境做一详情>> pycharm专门针对用户打造的一种可以进行编辑的工具,它的功能设置比较强大,而且具有跨平台的使用特性,能方 ...

  6. python弹球游戏移动球拍_python编写弹球游戏的实现代码

    弹球游戏: from tkinter import * import time import random tk=Tk() #创建一个界面 tk.title("弹球游戏") can ...

  7. python游戏制作软件_python制作小游戏(三)

    往期回顾python制作小游戏(一)python制作小游戏(二) GitHub: https://github.com/CharlesPikachu/Games 本系列文章中所涉及到的所有源代码以及相 ...

  8. python小游戏打地鼠下载_Python 打地鼠小游戏

    对于打地鼠游戏需要有一个清晰的逻辑思路,当然要制作打地鼠游戏还需要在Python中导入背景图片.地鼠图片等等.好了我们废话不多说,直接上代码. class GameManager: def __ini ...

  9. python游戏制作软件_python制作小游戏(二)

    下载W3Cschool手机App,0基础随时随地学编程导语 T_T突然发现N久以前我还做过一个系列??? 利用Python制作小游戏??? 好吧,既然做了,就有头有尾吧~~~ 本期我们将制作一个类似八 ...

最新文章

  1. 放弃 Notepad++,事实证明,还有 5 款更牛逼……
  2. base64转码java版
  3. 5G NGC — 关键技术 — MEC 边缘云
  4. mysql 日期查询_Mysql日期查询list
  5. Android 禁止更换桌面,Android中如何禁用其他应用,并且不在桌面显示
  6. 短视频时代不可忽视的幕后功臣竟然是它!
  7. ArcGIS中数据存放相对路径和绝对路径的区别
  8. Java基础:请求重定向与请求转发的比较
  9. Atitit 引流矩阵与矩阵引流 推广方法 attilax总结
  10. JavaScript词法分析
  11. 提问:AdventNetSnmp.jar这个包是做什么用的和snmp有什么关系
  12. seo好学吗?怎么学seo?
  13. win7旗舰版安装oracle11g
  14. android 调用百度地图客户端,
  15. 通过UA判断手机的类型
  16. A Deep Q-Network for the Beer Game: A Reinforcement Learning Algorithm to Solve Inventory Optimizati
  17. 华为鸿蒙系统新界面,华为德国申请专利更新 自研操作系统鸿蒙界面曝光
  18. Grub2的一些典型菜单写法
  19. 【Code】代码答案错误怎么办?三种方法教你如何查错
  20. XFOIL联合Matlab的翼型优化设计

热门文章

  1. 我读过的书籍 - 2015
  2. 有道云笔记+Everything+Typora+GitHub图床+PicGo+jsDelivr加速+截图工具——创造丝滑免费的Markdown写作环境
  3. html5编写圆柱,three.js实现圆柱体
  4. LINUX 删除redis的key
  5. Kitty Spangles Solitaire for Mac(趣味纸牌游戏)
  6. 打印机小百科:带您全面认识打印语言
  7. Canvas 从入门到劝朋友放弃(图解版)
  8. 笔记本建议升级Win11吗?笔记本如何升级Win11?
  9. 快狠准!面试5分钟自我介绍法
  10. 《浪潮之巅》第一、二、三、六次印刷勘误表