【发布时间】:2021-08-13 20:27:08
【问题描述】:
我正在为我的学校项目做一个数学程序,我已经准备好游戏的菜单和游戏的过程,基本上就是无限循环求和,直到你失败,每次给你 5 分正确答案(将来我计划将它连接到 SQLite 基础,因为它会询问您的姓名和年龄)。 无论如何,这里是总和和菜单的代码:
https://www.sololearn.com/Discuss/2848691/help-me-to-turn-this-into-a-function-and-make-this-infinite-school-project https://www.sololearn.com/Discuss/2856421/making-the-school-project-menu-with-pygame-menu-school-project
[更新] 问题在于,当我尝试使总和的代码出现在按“Comencem”后菜单生成的窗口中时,总和出现在 Python 控制台中,但不在窗口中。我希望它出现在窗口中,但我不知道该怎么做。有什么帮助吗?
import pygame
import pygame_menu
from pygame import mixer
import random
pygame.init()
#Mida i nom de la finestra
surface = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Projecte MatZanfe")
#Logotip de la finestra
logotip = pygame.image.load("calculator.png")
pygame.display.set_icon(logotip)
font = pygame_menu.font.FONT_8BIT
font1 = pygame_menu.font.FONT_NEVIS
def start_the_game():
# Variables
puntuacio = 0
while True:
x = random.randint(0, 10)
y = random.randint(0, 10)
z = x + y
print(str(x) + "+" + str(y))
resultat = int(input())
if resultat == z:
print("Correcte")
puntuacio = puntuacio + 5
print("Tens aquests punts:", puntuacio)
else:
if resultat != z:
print("Malament!")
parar = input("Vols parar? ")
if parar == ("si"):
print("Has aconseguit " + str(puntuacio) + " punts")
break
else:
continue
menu = pygame_menu.Menu('Projecte MatZanfe', 600, 400,
theme=pygame_menu.themes.THEME_SOLARIZED)
menu.add.text_input('Usuari: ', font_name = font1, font_color = 'blue')
mixer.music.load('MusicaMenu.wav')
mixer.music.play(-1)
menu.add.text_input('Edat: ', font_name = font1,font_color = 'Black')
menu.add.button('Comencem', start_the_game,font_name = font, font_color = 'green')
menu.add.button('Sortir', pygame_menu.events.EXIT, font_name = font,font_color = 'red')
menu.mainloop(surface)
(有些词是加泰罗尼亚语,但我想你可以理解。如果你不能,我会改变它。
【问题讨论】:
-
因为您没有将任何文本呈现到屏幕上; read the docs
-
看了一下,还是不明白怎么介绍。我找了一些教程,但没有什么能真正解释我在找什么。有人可以给我一个他们会做什么的例子吗?抱歉,我是新手,非常感谢。
标签: python python-3.x pygame menu project