117.info
人生若只如初见

怎么用python编写一个小游戏

编写一个小游戏可以使用Python的Pygame模块来实现。以下是一个简单的示例代码来创建一个小游戏:

import pygame
import sys
import random

# 初始化pygame
pygame.init()

# 设置游戏窗口大小
WIDTH, HEIGHT = 800, 600
win = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("小游戏")

# 设置颜色
WHITE = (255, 255, 255)
RED = (255, 0, 0)

# 设置游戏变量
player_size = 50
player_pos = [WIDTH//2, HEIGHT-2*player_size]
enemy_size = 50
enemy_pos = [random.randint(0, WIDTH-enemy_size), 0]
enemy_list = [enemy_pos]
SPEED = 10

# 设置游戏循环
game_over = False
clock = pygame.time.Clock()

while not game_over:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()

    # 游戏逻辑
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT] and player_pos[0] > 0:
        player_pos[0] -= SPEED
    if keys[pygame.K_RIGHT] and player_pos[0] < WIDTH-player_size:
        player_pos[0] += SPEED

    # 移动敌人
    for idx, enemy in enumerate(enemy_list):
        if enemy[1] >= 0 and enemy[1] < HEIGHT:
            enemy[1] += SPEED
        else:
            enemy_list.pop(idx)

    if random.random() < 0.02:
        enemy_list.append([random.randint(0, WIDTH-enemy_size), 0])

    # 碰撞检测
    for enemy in enemy_list:
        if enemy_pos[1] >= player_pos[1] and enemy_pos[1] <= player_pos[1]+player_size:
            if enemy_pos[0] >= player_pos[0] and enemy_pos[0] <= player_pos[0]+player_size:
                game_over = True

    # 渲染游戏场景
    win.fill(WHITE)

    # 渲染玩家
    pygame.draw.rect(win, RED, (player_pos[0], player_pos[1], player_size, player_size))

    # 渲染敌人
    for enemy in enemy_list:
        pygame.draw.rect(win, RED, (enemy[0], enemy[1], enemy_size, enemy_size))

    pygame.display.update()
    clock.tick(30)

这是一个简单的游戏,玩家控制一个方块躲避从上方下落的敌人方块。玩家可以使用左右方向键移动自己的方块,如果敌人方块碰到玩家方块则游戏结束。您可以根据自己的需求对游戏进行更多的定制和扩展。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fef93AzsIBgFRAl0.html

推荐文章

  • python中列表sort怎么使用

    在Python中,可以使用sort()方法对列表进行排序。sort()方法默认会按照升序对列表进行排序。
    下面是一个简单示例:
    numbers = [4, 2, 1, 3]
    numb...

  • Python中列表的反向排序怎么实现

    在Python中,可以通过reverse()方法来实现列表的反向排序。示例如下:
    # 创建一个列表
    my_list = [3, 1, 4, 1, 5, 9, 2, 6] # 使用reverse()方法进行反...

  • python中reverse的使用方法是什么

    在Python中,可以使用内置的reverse()方法来反转列表中的元素顺序。例如:
    my_list = [1, 2, 3, 4, 5]
    my_list.reverse()
    print(my_list) # 输出...

  • python的sort()和sorted()有什么区别

    sort()和sorted()都可以对列表进行排序,但是它们之间有一些重要的区别: sort()方法是在原列表上进行排序,它会改变原始列表的顺序;而sorted()函数是返回一个新...

  • python中round函数如何使用

    round函数在Python中用来对一个数字进行四舍五入。
    语法:
    round(number, ndigits) 参数: number:要四舍五入的数字
    ndigits:保留的小数位数,...

  • php中ceil函数使用要注意哪些事项

    Ceil函数是用来向上取整的,即将小数部分向上取整为最接近的整数。
    Ceil函数只能作用于数值类型的变量,如果传入非数值类型的参数会产生错误。
    Ceil函...

  • php中ceil函数的用途有哪些

    在PHP中,ceil()函数的主要用途是对一个浮点数进行向上取整操作,返回大于或等于给定数字的最小整数。具体的用途包括: 对数据进行向上取整,确保数据的准确性和...

  • php中的ceil函数有什么用

    在PHP中,ceil()函数用于向上取整,即返回大于或等于给定数字的最小整数。该函数将返回一个数字,该数字将比给定数字大,且是最接近的整数。例如,ceil(3.14)将返...