我用python做了一个吃金币小游戏,想在游戏结束后加载结束页面,在正中间显示总得分
时间: 2024-03-18 13:38:55 浏览: 59
你可以使用Python中的GUI库,如Tkinter或PyQt来创建游戏界面。在游戏结束后,你可以在总得分的变量中保存玩家的得分,然后在结束页面中使用标签或文本框来显示总得分。下面是一个简单的示例代码:
```python
import tkinter as tk
# 创建主窗口
root = tk.Tk()
root.title("吃金币小游戏")
# 创建得分变量
score = 0
# 创建游戏界面和逻辑
# ...
# 游戏结束后创建结束页面
end_frame = tk.Frame(root)
end_frame.pack(fill=tk.BOTH, expand=True)
# 创建得分标签
score_label = tk.Label(end_frame, text="总得分:{}".format(score), font=("Arial", 24))
score_label.pack(pady=50)
# 创建重新开始按钮
restart_button = tk.Button(end_frame, text="重新开始", font=("Arial", 16), command=restart_game)
restart_button.pack()
# 开始游戏
root.mainloop()
```
在上面的代码中,我们创建了一个名为`score`的得分变量,并在游戏结束后将其显示在结束页面的标签中。同时,我们还创建了一个重新开始按钮,当用户点击该按钮时将重新开始游戏。
相关问题
我用python做了一个吃金币小游戏,想在游戏结束后加载结束页面,点击结束按钮就退出游戏
你可以使用Python中的GUI库,如Tkinter或PyQt来创建游戏界面。在游戏结束后,你可以创建一个结束页面,其中包括一个“结束”按钮,当用户点击该按钮时将退出游戏。下面是一个简单的示例代码:
```python
import tkinter as tk
# 创建主窗口
root = tk.Tk()
root.title("吃金币小游戏")
# 创建得分变量
score = 0
# 创建游戏界面和逻辑
# ...
# 游戏结束后创建结束页面
def end_game():
root.destroy()
end_frame = tk.Frame(root)
end_frame.pack(fill=tk.BOTH, expand=True)
# 创建得分标签
score_label = tk.Label(end_frame, text="总得分:{}".format(score), font=("Arial", 24))
score_label.pack(pady=50)
# 创建结束按钮
end_button = tk.Button(end_frame, text="结束", font=("Arial", 16), command=end_game)
end_button.pack()
# 开始游戏
root.mainloop()
```
在上面的代码中,我们创建了一个名为`end_game`的函数,当用户点击结束按钮时将调用该函数来销毁主窗口并退出游戏。同时,我们还创建了一个得分标签,用于显示玩家的总得分。
Python吃金币小游戏源代码
这是一个简单的Python小游戏,它可以让一个小人吃金币并得分。以下是游戏的源代码:
```python
import pygame
import random
# 初始化Pygame
pygame.init()
# 定义颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
BLUE = (50, 153, 213)
YELLOW = (255, 255, 0)
# 设置屏幕宽高
SCREEN_WIDTH = 700
SCREEN_HEIGHT = 500
# 创建屏幕
screen = pygame.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT])
# 设置游戏标题
pygame.display.set_caption('Python吃金币小游戏')
# 加载小人图像
player_image = pygame.image.load('player.png').convert()
player_image.set_colorkey(WHITE)
# 加载金币图像
coin_image = pygame.image.load('coin.png').convert()
coin_image.set_colorkey(WHITE)
# 设置字体
font = pygame.font.SysFont('Calibri', 25, True, False)
# 定义金币列表
coin_list = []
# 生成金币函数
def create_coin():
coin = {
'x': random.randint(0, SCREEN_WIDTH - 50),
'y': random.randint(0, SCREEN_HEIGHT - 50)
}
coin_list.append(coin)
# 主程序
def main():
# 初始化分数
score = 0
# 初始化小人位置
player_x = 0
player_y = 0
# 创建金币
for i in range(10):
create_coin()
# 游戏主循环
done = False
clock = pygame.time.Clock()
while not done:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
# 获取键盘输入
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
player_x -= 5
elif keys[pygame.K_RIGHT]:
player_x += 5
elif keys[pygame.K_UP]:
player_y -= 5
elif keys[pygame.K_DOWN]:
player_y += 5
# 绘制背景
screen.fill(BLUE)
# 绘制金币
for coin in coin_list:
screen.blit(coin_image, [coin['x'], coin['y']])
# 绘制小人
screen.blit(player_image, [player_x, player_y])
# 检测是否碰到金币
for coin in coin_list:
if player_x < coin['x'] + 50 and player_x + 50 > coin['x'] and player_y < coin['y'] + 50 and player_y + 50 > coin['y']:
coin_list.remove(coin)
score += 1
create_coin()
# 绘制分数
text = font.render('Score: ' + str(score), True, YELLOW)
screen.blit(text, [10, 10])
# 刷新屏幕
pygame.display.flip()
# 设置帧率
clock.tick(60)
# 关闭Pygame
pygame.quit()
if __name__ == '__main__':
main()
```
请注意,此代码假定您已经有了两个图像文件(player.png和coin.png),它们应该与代码文件位于同一目录中。
阅读全文