python - 从 Pygame(菜单)的 menu.add.text.input 创建一个变量
问题描述
在它说user_input = menu.add.text_input('User: ')
或的地方 age_input = menu.add.text_input('Age: ')
,你可以写一些东西。我需要分配写入变量的单词。我怎么能做到?
import pygame
import pygame_menu
import random
pygame.init()
#Size - name of the window
surface = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Example")
def game():
#Variables
score = 0
user_age = age_input.get_value()
user_name = user_input.get_value()
while True:
x = random.randint(0, 10)
y = random.randint(0, 10)
z = x + y
print(str(x) + "+" + str(y))
result = int(input())
if result == z:
print("Correct")
score = score + 5
else:
if result != z:
stop = input("Wrong! Wanna stop? ")
if stop == ("yes"):
print("You have " + str(score) + " points")
break
else:
continue
menu = pygame_menu.Menu('Menu', 600, 400,
theme=pygame_menu.themes.THEME_BLUE)
user_input = menu.add.text_input('User: ')
age_input = menu.add.text_input('Age: ')
menu.add.button('Start', game)
menu.add.button('Exit', pygame_menu.events.EXIT)
print (user_input)
print (age_input)
menu.mainloop(surface)
解决方案
这是您在开始游戏之前检索用户数据的方法:
def start_the_game():
user_age = age_input.get_value()
print(user_age) # to print the value of user_age, only for debugging tho, don't use this when you have finished the game, because user is not really supposed to read the console anyways
# rest of the game code
age_input = menu.add.text_input('Age: ', font_name = font1,font_color = 'Black')
menu.add.button('Comencem', start_the_game,font_name = font, font_color = 'green')
推荐阅读
- java - 为什么在可序列化事务中选择后更新会导致死锁?
- python - ycm 找不到位于另一个目录中的标头
- java - 对 android 中的“onBindViewHolder 的工作”感到困惑
- c - C 函数检查元素是否是链表的成员(如果为 true,则返回 0,如果为 false,则返回 1)
- javascript - 如何使用正则表达式提取字母序列后跟@?
- numpy - 使用 numpy 计算非方阵的逆
- tdd - 在使用测试驱动开发时,如果我知道它们有效,我应该删除以前的测试吗
- r - R - Data.table - 使用负位置通过引用删除列
- python - 如何在views.py 中传递外键值?
- javascript - TypeError:无法读取未定义的属性“地图”-