项目构想:

这个项目的目的是在python中创建一个游戏,其中向用户呈现一个单词的字谜,并且必须在有限次数的尝试中猜出正确的单词。

项目特点:

向用户给出一定数量的尝试来猜测正确的单词。尝试次数取决于单词的长度。
在每次不正确的尝试之后,向用户提供正确单词的提示。
如果用户无法在固定的尝试次数内猜出正确的单词,则显示正确的单词并且游戏移动到下一个单词。
Ctrl + C或Ctrl + D退出游戏。
执行:

本教程仅适用于基于Linux的系统。本教程是在Linux Mint 17.1系统上编写的。要在其他Linux系统上实现(Redhat,Arch),请参阅本教程末尾的特别说明。

项目构想| (Anagrams游戏)-IDC帮帮忙

在几乎所有基于Linux的系统中,有一个位于目录位置“/ usr / share / dict /”的文件,名称如“cracklib-small”(基于Ubuntu的系统),“words”(Redhat,Arch),其中包含单词来自字典,并且经常被许多应用程序用来实现诸如“拼写检查”之类的功能。

在这个项目中,我将使用相同的文件来创建一个字谜游戏。

阅读文件可以为我们提供游戏所需的所有单词。文件中的单词用换行符分隔,因此在读取文件时,我们需要根据换行符分割单词以获得单个单词。相同的代码如下所示:

LOC = '的/ usr /共享/字典/ Cracklib的小'
用open(loc)作为f:
含量= f.read()。分裂( '\ n')
f.close()
该文件还包含“动物园”之类的单词,但我们不希望在游戏中使用这些单词,因此我们可以省略它们。为了避免使游戏过于简单,我决定也省略长度小于5的单词,但这一步是可选的,可以跳过。相同的代码如下:

升= LEN(内容)
词语= []
对于范围(0,l)中的i:
如果内容[i]或len(内容[i])<5中的'\'':
继续
words.append(内容[I])
该文件还包含文件开头的“2nd,3rd”字样。为了防止它们出现在我们的游戏中,我们通过以下方式省略它们:

词语=字[1:]
d = LEN(字)
词语=字[:d]
最后,“单词”包含我们进行游戏所需的所有单词。

我们可以通过以下方式为特定轮次的游戏选择特定单词:

字=字[random.randint(0,d)]
该单词将从创建的单词列表中随机选择。

要创建单词的字谜,我们需要对字符进行随机播放。这可以通过以下方式完成:

洗牌=名单(字)
random.shuffle(洗牌)
如果为该轮选择的单词的长度大于7,则用户获得7次尝试,否则尝试次数为5。

如果len(字)> 7:
机会= 7
其他:
机会= 5
试图= 0
变量“尝试”跟踪用户尝试的次数。我们将其初始化为零。
在每次用户尝试期间,我们将他们的输入与正确的单词进行比较。如果它们匹配,我们祝贺用户并呈现下一个anagram,我们为他们提供一个提示。

为了生成特定单词的提示,我们选择0和单词长度之间的两个随机整数。

T1 = random.randint(0,LEN(字))
T2 = random.randint(0,LEN(字))
我们在这两个位置t1和t2以及我们显示“。”的所有其他位置显示正确的字符。

提示=“”
for in in range(0,len(word)):
如果i == t1或i == t2:
暗示=暗示+字[I]
其他:
暗示=暗示+ “”
打印提示
如果尝试次数=机会次数,我们会显示核心字数并继续游戏。

如果尝试==机会:
打印“答案是”+字
特别注意:为了使代码尽可能独立于平台,我们可以使用python的平台模块动态选择文件的位置。

OS = platform.dist()[0]
如果os =='LinuxMint'或os =='Ubuntu':
LOC = '的/ usr /共享/字典/ Cracklib的小'
其他:
LOC = '的/ usr /共享/字典/单词'