用python写游戏code breaker

来源:百度知道 编辑:UC知道 时间:2024/07/04 15:13:48
使用Python 2.5
设计一个游戏“Code Breakers”(2个玩家玩的,每个玩家设定一个code让另外一个玩家来break。)

游戏由2个难度组成,由玩家输入1、2来选择。1=easy 2=hard。程序需要确定玩家没有输入除1、2外的数字。
下一步,玩家决定他们想玩的局数,局数必须是正奇数。
每一局设定的玩家来决定code里面所含的字母数。(code是由字母以随机顺序组成的字符串,长度为0-15。)玩家只需要输入字母数,电脑将随机选择字母组成code。
easy模式:code中可以包含重复字母。 hard模式:code中不包含重复字母。
设定好code之后,设定者设定一个次数来让对方猜测他的code,该次数的值至少等于code中的字母数。
下面是另一个玩家开始游戏。他每次猜测一个字母,直到他在给定的次数内猜出code内含的字母(breaks the code)或者是达到了给定的猜测次数。
每一局的最后,猜测者根据他的猜测离答案的接近程度来得分。(最高得分等于code的长度。)
下一局,角色互换,由开始的猜测者来设定code的长度和让对方猜测的次数。
每两轮结束后,显示玩家的得分。
游戏结束后,确定得胜者(Who wins/loses),并显示game over信息。
国外学校的作业,代码和注释(可以没有)之类的要全英文的。
修改下,局数必须是正偶数。

不一定要完整的代码,伪代码或者思路过程都可以。

这个不是很难啊,Python 的文本处理能力是非常强的。
生成随机文本也很好办到。

稍加努力就可以做出来了。

改改拿去玩吧..
哎....这帮孩子被作业急坏了..
四处发...有必要没?

#!/usr/bin/python
# -*- coding: utf-8 -*-

import string
import random
import msvcrt

def getRandomCode(length, level=1):
____assert 0< length<= 15, "Length must between 0 and 15 characters"
____assert level in [1,2], "Level must be 1 or 2"
____if level== 1:
________return ''.join([random.choice(string.ascii_lowercase)
________________________for _ in xrange(length)])
____else: # level = 2
________a = list(string.ascii_lowercase)
________random.shuffle(a)
________return ''.join(a[-length:])

def gameCounter(rounds, playerList=["Player 1", "Player 2"]):
____for _ in xrange(rounds):
________for p in playerList:
____________yield p
____print "All %d rounds ha