用Python Pygame做的一些好玩的小游戏

有些游戏的代码比较长就不公布了

1.简简单单

1.疯狂的鸡哥

 你要准备的图片:

命名为:ji.png 

 代码:

import pygame
import random as r
pygame.init()
pygame.display.set_caption('aaa')
pm = pygame.display.set_mode((800,600))

class Ls(pygame.sprite.Sprite):
    def __init__(self,pos):#pos 鼠标点击的位置
        super().__init__()
        self.image = pygame.image.load('ji.png')
        self.dx = r.randint(20,50)
        self.dx2 = r.randint(20, 50)
        self.image = pygame.transform.scale(self.image,(self.dx,self.dx2))
        self.rect = self.image.get_rect()
        self.rect.top = pos[0]
        self.rect.left =pos[1]
        self.vx = r.randint(-3,11)
        self.vy = r.randint(-2,12)

    # update方法
    def update(self):
        self.rect.left += self.vx
        self.rect.top += self.vy
        if self.rect.left <= 0 or self.rect.left >= 750:
            self.vx = -self.vx
            self.image = pygame.transform.scale(self.image,(self.dx,self.dx2))
        if self.rect.top <= 0 or self.rect.top >= 550:
            self.vy = -self.vy
group = pygame.sprite.Group()
while True:
    pm.fill((120,205,255))
    zt = pygame.mouse.get_pressed()
    zy = pygame.font.Font('叶根友刀锋黑草.ttf',50).render('左键增加滚轮碰到哪个哪个删除 ',True,(0,0,0))
    pm.blit(zy,(0,0))
    if zt[0]:
        group.add(Ls([100,200]))
    if zt[1]:
        wz = pygame.mouse.get_pos()
        for i in group:
            if i.rect.collidepoint(wz):     #给定点是否在给定矩形范围中,前面的是给定矩形,括号中的是点.
                i.kill()
    group.draw(pm)
    group.up
好的,我可以为你提供一个基于 Python Pygame 模块的简单游戏示例,名为“打飞碟游戏”: ``` import pygame import random # 初始化 Pygame pygame.init() # 设置窗口大小和标题 WIDTH = 600 HEIGHT = 400 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("打飞碟游戏") # 定义颜色 BLACK = (0, 0, 0) WHITE = (255, 255, 255) RED = (255, 0, 0) # 加载图片 BACKGROUND_IMAGE = pygame.image.load("background.jpg").convert() UFO_IMAGE = pygame.image.load("ufo.png").convert_alpha() # 设置游戏参数 FPS = 60 UFO_SPEED = 5 UFO_SIZE = 50 SCORE = 0 FONT = pygame.font.SysFont("Arial", 24) # 定义飞碟类 class UFO: def __init__(self): self.x = random.randint(0, WIDTH-UFO_SIZE) self.y = -UFO_SIZE self.speed = UFO_SPEED def update(self): self.y += self.speed def draw(self, surface): surface.blit(UFO_IMAGE, (self.x, self.y)) # 初始化飞碟列表 ufos = [] # 设置时钟 clock = pygame.time.Clock() # 游戏循环 running = True while running: # 处理事件 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False elif event.type == pygame.MOUSEBUTTONDOWN: # 检查点击是否命中飞碟 for ufo in ufos: if ufo.x <= event.pos[0] <= ufo.x+UFO_SIZE and ufo.y <= event.pos[1] <= ufo.y+UFO_SIZE: SCORE += 10 ufos.remove(ufo) # 更新游戏状态 for ufo in ufos: ufo.update() if ufo.y > HEIGHT: ufos.remove(ufo) # 生成新飞碟 if random.randint(1, 60) == 1: ufos.append(UFO()) # 绘制游戏画面 screen.blit(BACKGROUND_IMAGE, (0, 0)) for ufo in ufos: ufo.draw(screen) score_text = FONT.render(f"得分:{SCORE}", True, RED) screen.blit(score_text, (10, 10)) # 刷新画面 pygame.display.flip() # 控制帧率 clock.tick(FPS) # 退出 Pygame pygame.quit() ``` 这个游戏创建一个 Pygame 窗口,背景是一张图片,玩家需要点击飞碟来得分。每隔一段时间会有新的飞碟出现,玩家需要在飞碟离开屏幕前尽可能地击中它们。当玩家关闭窗口时,游戏结束,显示得分。你可以根据自己的需求进行修改和扩展,例如增加难度、音效等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值