zoukankan      html  css  js  c++  java
  • Python小游戏 -- 猜单词

    Python初学者小游戏:猜单词


    游戏逻辑就像我们曾经英语学习机上的小游戏一样,电脑会从事先预置的词库中抽取单词,然后给出单词的字母数量,给定猜解次数,然后让玩家进行猜测,并给出每次猜测的正确字母与错误字母。


    涉及知识点random.randint(),print(),input()(raw_input())


    参考实现代码


    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    from __future__ import print_function
    import os
    import sys
    import random
    import time
    
    #单词库
    Words = ['apple','pear','banana']
    
    #单词随机选择函数
    def getRandomWord():
    	global Words
    	return Words[random.randint(0,len(Words)-1)]
    	
    #猜测流程
    def getGuess():
    	while True:
    		guess = raw_input("Guess the Word: ")
    		for letter in guess:
    			if letter in wrongLetters:
    				print("The char: " + letter + " you have already guessed")
    				continue
    		
    		break
    	return guess
    	
    #判别显示流程
    def displayGame(secretLetters,wrongLetters,secretWord):
    	global guess
    	global count
    	print("Info: ")
    	for letter in guess:
    		if letter in secretWord:
    			secretLetters += letter
    		else:
    			wrongLetters += letter
    	
    	print("SecretLetters: ",end = '')
    	for letter in secretLetters:
    		print(letter,end = ' ')
    	print()
    	
    	print("WrongLetters: ",end = '')
    	for letter in wrongLetters:
    		print(letter,end = ' ')
    	print()
    	print("Count: "+str(count))
    	blanks = '_'*len(secretWord)
    	for i in range(len(guess)):
    		if i >=len(secretWord):
    			break
    		if secretWord[i]==guess[i]:
    			blanks = blanks[:i] + secretWord[i] + blanks[i+1:]
    	print("Word: ",end = '')
    	for i in blanks:
    		print(i,end=" ")
    	print()
    	print()
    	
    	
    #主流程	
    	
    secretLetters = ''
    wrongLetters = ''
    secretWord = ''
    guess = ""
    count = 6
    
    os.system('cls')
    secretWord = getRandomWord()
    while True: 
    	displayGame(secretLetters,wrongLetters,secretWord)
    	guess = getGuess()
    	if guess == secretWord:
    		print ("You win !")
    		break
    	else:
    		if count <= 0:
    			print("You lose !")
    			break
    		else:
    			count -= 1
    			continue


  • 相关阅读:
    FJNU 1151 Fat Brother And Geometry(胖哥与几何)
    FJNU 1157 Fat Brother’s ruozhi magic(胖哥的弱智术)
    FJNU 1159 Fat Brother’s new way(胖哥的新姿势)
    HDU 3549 Flow Problem(最大流)
    HDU 1005 Number Sequence(数列)
    Tickets(基础DP)
    免费馅饼(基础DP)
    Super Jumping! Jumping! Jumping!(基础DP)
    Ignatius and the Princess IV(基础DP)
    Keywords Search(AC自动机)
  • 原文地址:https://www.cnblogs.com/csnd/p/12897060.html
Copyright © 2011-2022 走看看