Android 黑手党(派对游戏)帮手
黑手党的游戏帮手很简单。它允许我首先输入角色的数量(黑手党、侦探、无辜者等)。然后,每个玩家将输入他们的名字,计算机将随机为他/她选择一个角色。第一个玩家把电脑传给下一个玩家,依此类推。最后,计算机将生成一个列表 比如:Android 黑手党(派对游戏)帮手,android,python,Android,Python,黑手党的游戏帮手很简单。它允许我首先输入角色的数量(黑手党、侦探、无辜者等)。然后,每个玩家将输入他们的名字,计算机将随机为他/她选择一个角色。第一个玩家把电脑传给下一个玩家,依此类推。最后,计算机将生成一个列表 比如: 汤姆:黑手党 约翰:侦探 这是我的密码: import random role=[] k = input("Number of mafia: ") p = input("Number of detective: ") n = input("Number of innocen
- 汤姆:黑手党
- 约翰:侦探
import random
role=[]
k = input("Number of mafia: ")
p = input("Number of detective: ")
n = input("Number of innocent: ")
---magic---
random.shuffle(role)
player = []
i=0
while True:
name = raw_input()
player.append(name)
print role[i]
i += 1
我在编程这方面有两个问题
谢谢大家阅读这篇文章。祝您愉快=]关于列表生成问题
>>> k = 3
>>> p = 1
>>> n = 2
>>> roles = ['mafia']*k + ['detective']*p + ['innocent']*n
>>> roles
['mafia', 'mafia', 'mafia', 'detective', 'innocent', 'innocent']
一种随机分配角色的方法
from random import shuffle
shuffle(roles)
names = ['bob', 'steve', 'tom', 'jon', 'alex', 'mike']
players = dict(zip(names,roles))
>>> players
{'mike': 'innocent',
'alex': 'mafia',
'steve': 'mafia',
'tom': 'mafia',
'bob': 'detective',
'jon': 'innocent'}
是否可以在分配每个人后清除输出?现在应该清楚了
import random
import os
k = input("Number of mafia: ")
p = input("Number of detective: ")
n = input("Number of innocent: ")
roles = ['mafia']*k + p*['detective'] + n * ['innocent']
random.shuffle(roles)
while roles:
print 'name:',
name = raw_input()
print 'you are a ' + roles.pop(0)
print 'clear?'
clear = raw_input()
os.system('cls' if os.name == 'nt' else 'clear')
或者,您也可以将角色写入单独的文件,这样可能会更好
import random
import os
k = input("Number of mafia: ")
p = input("Number of detective: ")
n = input("Number of innocent: ")
roles = ['mafia']*k + p*['detective'] + n * ['innocent']
random.shuffle(roles)
people = []
path = ''
while roles:
print 'name:',
name = raw_input()
while name in people:
print 'name already_taken please take new name'
name = raw_input()
people.append(name)
person_file = open(os.path.join(path,'%s.txt') % (name,),'w')
person_file.write('you are a %s' % (roles.pop(0),))
person_file.close()
黑手党人数:3名侦探人数:1名无辜者人数:2名姓名:汤姆你是黑手党吗?tom[2J姓名:z你是侦探clear?v[2J姓名:q你是黑手党clear?b[2J姓名:这是输出,意味着下一个玩家可以看到前一个玩家分配的角色。如何修复此问题?=]编辑以添加更好的清除和其他替代方案