如何问别人是否想再玩一次

时间:2016-02-20 11:05:42

标签: python python-2.7

我不知道如何询问用户是否想要再次播放以及如果他们说y它会循环回到开始或n并且游戏退出时如何制作。我知道我可以使用循环,但我不知道如何使用它们。

import random

xp = 0

level = 1

player1 = raw_input("player1 enter name")

enemyhealth = 100

playerhealth = 100

stage2 = "false"

difficulty = raw_input("choose difficulty, rookie,pro,master,legend or god")

if difficulty == "rookie":

    enemyhealth = enemyhealth - 15

if difficulty == "pro":

    enemyhealth = enemyhealth + 10

if difficulty == "master":

    enemyhealth = enemyhealth + 35

if difficulty == "legend":

    enemyhealth = enemyhealth + 40

if difficulty == "god":

    enemyhealth = enemyhealth + 60                                                            

print ("A quick tutorial: Make sure you type you actions with no spaces,  heres a list of the moves you can perform")

print ("Punch: A simple attack that has a short range of damage but is reliable.")

print ("flyingkick: not 100 percent reliable but if pulled off correctly can deal good damage.")

print ("uppercut: A somewhat reliable move that deals decent damage.")

print ("kick: A simple attack that has a short range of damage but is reliable.")

print ("stab: can be very powerful or deal next to no damage.")

print ("shoot: deadly if it hits, less so if you miss.")

print ("A man in the street starts a fight with you, beat him!")




while enemyhealth >0:

    fight = raw_input("fight")

    if fight == "punch":

        print ("You punched the enemy")

        enemyhealth = enemyhealth - random.randint(5,10)

        xp = xp + 1

        print "the enemy now has", enemyhealth, "health"

        print "they fight back!"

        playerhealth = playerhealth - random.randint(5,10)

        if stage2 == "true":

            playerhealth = playerhealth - random.randit (0,5)

        print "you now have..", playerhealth

    elif fight =="flyingkick":

        print "you flying kicked the enemy"

        enemyhealth = enemyhealth - random.randint(5,25)

        xp = xp + 1 

        print "the enemy now has", enemyhealth, "health"

        print "they fight back!"

        playerhealth = playerhealth - random.randint(5,15)

        if stage2 == "true":

            playerhealth = playerhealth - random.randit (0,5)

        print "you now have..", playerhealth

    elif fight =="uppercut":

        print "you uppercutted the enemy"

        enemyhealth = enemyhealth - random.randint(10,25)                                      

        xp = xp + 1 

        print "the enemy now has", enemyhealth, "health"

        print "they fight back!"

        playerhealth = playerhealth - random.randint(5,15)

        if stage2 == "true":

            playerhealth = playerhealth - random.randit (1,5)

        print "you now have..", playerhealth

    elif fight =="rko":

        print "you rko'ed the enemy, out of nowhere!"

        enemyhealth = enemyhealth - random.randint(9,29)                                      

        xp = xp + 1 

        print "the enemy now has", enemyhealth, "health"

        print "they fight back!"

        playerhealth = playerhealth - random.randint(5,12)

        if stage2 == "true":

            playerhealth = playerhealth - random.randit (1,5)

        print "you now have..", playerhealth

    elif fight =="kick":

        print "you kicked the enemy"

        enemyhealth = enemyhealth - random.randint(5,10)

        xp = xp + 1 

        print "the enemy now has", enemyhealth, "health"

        print "they fight back!"

        playerhealth = playerhealth - random.randint(5,10)

        if stage2 == "true":

            playerhealth = playerhealth - random.randit (1,5)

        print "you now have..", playerhealth

    elif fight =="ninjastar":

        print "you ninjastarred the enemy"

        enemyhealth = enemyhealth - random.randint(5,20)

        xp = xp + 1 

        print "the enemy now has", enemyhealth, "health"

        print "they fight back!"

        playerhealth = playerhealth - random.randint(5,10)

        if stage2 == "true":

            playerhealth = playerhealth - random.randit (1,5)

        print "you now have..", playerhealth

    elif fight =="headbutt":

        print "you headbutted the enemy"

        enemyhealth = enemyhealth - random.randint(5,18)

        xp = xp + 1 

        print "the enemy now has", enemyhealth, "health"

        print "they fight back!"

        playerhealth = playerhealth - random.randint(5,10)

        if stage2 == "true":

            playerhealth = playerhealth - random.randit (1,5)

        print "you now have..", playerhealth

    elif fight =="deathray":

        print "you deathrayed the enemy"

        enemyhealth = enemyhealth - random.randint(1,50)

        xp = xp + 1 

        print "the enemy now has", enemyhealth, "health"

        print "they fight back!"

        playerhealth = playerhealth - random.randint(1,30)

        if stage2 == "true":

            playerhealth = playerhealth - random.randit (1,5)

        print "you now have..", playerhealth

    elif fight =="stab":

        print "you stabbed the enemy"

        enemyhealth = enemyhealth - random.randint(3,40)

        xp = xp + 1 

        print "the enemy now has", enemyhealth, "health"

        print "they fight back!"

        playerhealth = playerhealth - random.randint(2,20)

        if stage2 == "true":

            playerhealth = playerhealth - random.randit (1,5)

        print "you now have..", playerhealth

    elif fight =="shoot":

        print "you shot the enemy"

        enemyhealth = enemyhealth - random.randint(1,50)

        xp = xp + 1 

        print "the enemy now has", enemyhealth, "health"

        print "they fight back!"

        playerhealth = playerhealth - random.randint(1,30)

        if stage2 == "true":

            playerhealth = playerhealth - random.randit (1,5)

        print "you now have..", playerhealth

    if xp == 5:

       print "you leveled up! move unlocked: 'rko'"

    if xp == 7:
       print "you leveled up! move unlocked: 'ninjastar'"

    if xp == 10:
       print "you leveled up! move unlocked: 'headbutt'"

    if xp == 100:
       print " you reached the max level! move 'deathray' is now unlocked"

    if playerhealth <1:

        print "you died!"

    if enemyhealth < 1:

        print "the enemy is KO , YOU WIN , Stage 2 is unlocked and the enemy has become stronger!"

        stage2 = "true"

    else:

        None

1 个答案:

答案 0 :(得分:1)

我建议你是: 阅读python文档和函数式编程。之后你可以使用这种方法来获得理想的结果......

你可以从中激励:

#!/usr/bin/env python
import sys
import random

def play_game():
    print ' I am playing...' #Put your code here

def repeat(answer):
    if answer == 'y':
        print ' Good...'
        play_game()
    elif answer == 'n':
        print ' Exitting...'
        sys.exit()
    else:
        print ' Invalid choice!'
        return 'continue'

if __name__ == '__main__':
    try:
        play_game()
        while True:
            answer = raw_input(' Do you want to play again? [y/n]')
            ans = repeat(answer)
            if ans == 'continue':
                continue
    except KeyboardInterrupt:
        print '\n Ctrl+c signal recieved!'
        sys.exit()