对gam中的健康酒吧有意见吗

2024-06-28 19:34:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在编写一个游戏,但是,当我每次从玩家的生命值中减去生命值时,它都会从完整的生命值中减去,但是我希望它能从剩余的生命值中减去,我已经尝试了几个玩家交换的代码,但是我无法让它工作。你知道吗

import random

health1=health2=100

char1='|' * (health1 / 2)
char2='|' * (health2 / 2)
players=[char1,char2]

char1 = raw_input("Player One: ")
while char1 == "":
    char1 = raw_input("Please enter your name: ")


char2 = raw_input("Player two: ")
while char2 == char1:
    char2 = raw_input(char1 + " name is taken, please choose another name: ")
while char2 == "":
    char2 = raw_input("Please enter your name: ")
print char1 + " and " + char2 + " welcome to the game."

toss = random.randint(0, 1)
if toss == 0:
    print char1+" will start the game"
else:
    print char2+" will start the game"

print char1,'|' * (health1 / 2),
print char2,'|' * (health2 / 2)

def magnitude(n):
    if toss==0:
        print char1,'|' * ((health1 /2)-(n))
        magnitude(input(char1 + " select n force: "))
        return
    else:
        print char2,'|' * ((health2 /2)-(n))
        magnitude(input(char2 + " select n force: "))
        return
magnitude(input("select n force: "))

Tags: thenamegameinputrawselectprintforce
1条回答
网友
1楼 · 发布于 2024-06-28 19:34:23

我不知道你想做什么,但我会做它没有功能,只使用while循环

import random

#  - 

char1 = raw_input("Player One: ")

while char1 == "":
    char1 = raw_input("Please enter your name: ")

char2 = raw_input("Player two: ")
while char2 == char1:
    char2 = raw_input(char1 + " name is taken, please choose another name: ")
while char2 == "":
    char2 = raw_input("Please enter your name: ")
print char1, "and", char2, "welcome to the game."

#  - 

health1 = 50
health2 = 50

print char1, '|' * health1
print char2, '|' * health2

toss = random.randint(0, 1)

if toss == 0:
    print char1, "will start the game"
else:
    print char2, "will start the game"

#  -

while health1 > 0 and health2 > 0:
    if toss == 0:
        n = input(char1 + " select n force: ")
        health1 -= n
        print char1, '|' * health1
        toos = 1 # change player
    else:
        n = input(char2 + " select n force: ")
        health2 -= n
        print char2, '|' * health2
        toos = 0 # change player

#  -

if health1 > 0:
    print char1, 'wins'
else:
    print char2, 'wins'

或者使用列表来保存chars和healths

import random

#  -

char1 = raw_input("Player One: ")

while char1 == "":
    char1 = raw_input("Please enter your name: ")

char2 = raw_input("Player two: ")
while char2 == char1:
    char2 = raw_input(char1 + " name is taken, please choose another name: ")
while char2 == "":
    char2 = raw_input("Please enter your name: ")
print char1, "and", char2, "welcome to the game."

chars = [char1, char2]

#  -

healths = [50, 50]

print chars[0], '|' * healths[0]
print chars[1], '|' * healths[1]

toss = random.randint(0, 1)

print chars[toss], "will start the game"

#  -

while healths[0] > 0 and healths[1] > 0:
    n = input(chars[toss] + " select n force: ")
    healths[toss] -= n
    print chars[toss], '|' * healths[toss]
    toss = (toss + 1) % 2 # change player

#  -

if healths[0] > 0:
    print chars[0], 'wins'
else:
    print chars[1], 'wins'

相关问题 更多 >