父亲节礼物:用Python编写一个小型游戏

名字:阿玥的小东东

学习:Python、C/C++

主页链接:阿玥的小东东的博客_CSDN博客-python&&c++高级知识,过年必备,C/C++知识讲解领域博主

目录


父亲节是一个向父亲们表达感激和尊敬的节日。在这个特别的日子里,为什么不给您的父亲一个特殊的礼物?您可以使用Python编写一个小型游戏,展示您的编程技能和对父亲的敬爱之情。

在本文中,我们将介绍如何使用Python编写一个简单的射击游戏。

安装必要的库

要编写这个游戏,我们需要安装pygame库。您可以使用以下命令在终端中安装它:

pip install pygame

当然,在安装 Pygame 包之前,您需要先确保已经安装好了 Python 和 pip。

绘制游戏界面

在游戏中,我们需要一个窗口来显示游戏内容。我们可以使用pygame中的display模块来创建窗口。以下是初始化Pygame,创建窗口和设置背景的基本代码:

import pygame

# 初始化 Pygame
pygame.init()

# 创建游戏窗口
screenWidth = 800
screenHeight = 600
screen = pygame.display.set_mode((screenWidth, screenHeight))

# 设置背景颜色
backgroundColor = (255, 255, 255)
screen.fill(backgroundColor)

# 设置游戏标题
pygame.display.set_caption("射击游戏")

在此代码中,我们首先在程序中导入了pygame模块。然后,我们使用pygame.init()函数初始化Pygame。接下来,我们创建了一个名为screen的窗口,并设置了其宽度和高度。我们还设置了窗口的背景颜色,并将其命名为backgroundColor。

最后,我们设置了游戏窗口的标题为“射击游戏”。

添加游戏元素

在我们的游戏中,我们需要添加一些元素,例如玩家和敌人。在此示例中,我们将创建一个简单的射击游戏,其中玩家可以在一个方块内移动并射击来袭的敌人。

我们可以使用pygame中的Rect类来创建这些元素。以下是添加玩家和敌人的代码:

# 创建玩家
playerSize = 50
player = pygame.Rect(screenWidth // 2 - playerSize // 2, screenHeight - playerSize, playerSize, playerSize)

# 创建敌人
enemySize = 50
enemyPosition = [random.randint(0, screenWidth - enemySize), 0]
enemyList = [pygame.Rect(enemyPosition[0], enemyPosition[1], enemySize, enemySize)]
enemySpeed = 10

# 绘制玩家和敌人
playerColor = (0, 0, 255)
pygame.draw.rect(screen, playerColor, player)

enemyColor = (255, 0, 0)
pygame.draw.rect(screen, enemyColor, enemyList[0])

在此代码中,我们首先创建了一个名为player的玩家。我们使用screenWidth和screenHeight变量来计算玩家的初始位置,该位置位于窗口的底部中央。我们还创建了一个名为enemyPosition的列表来存储敌人的位置。使用Rect类创建敌人。

然后,我们定义了enemyList,其初始化为一个包含一个敌人的列表。我们还为敌人设置了enemySpeed,该变量将控制敌人的下落速度。

在代码的最后部分,我们绘制了玩家和敌人,使用pygame.draw.rect()函数来绘制矩形,使用颜色变量对它们进行着色。

为游戏添加交互性

现在,我们已经创建了游戏元素,我们需要为游戏添加交互性。在我们的射击游戏中,玩家可以使用箭头键移动,按下空格键射击。敌人将在屏幕上从上往下移动,玩家必须射击敌人以保留生命值和提高得分。

以下是为游戏添加交互性的代码:

# 游戏循环
while True:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

        # 处理按键事件
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                player.x -= 50
            elif event.key == pygame.K_RIGHT:
                player.x += 50
            elif event.key == pygame.K_SPACE:
                # 创建子弹
                bullet = pygame.Rect(player.x + playerSize // 2, player.y - 10, 5, 10)
                bulletColor = (0, 0, 0)
                bulletList.append(bullet)
    
    # 移动敌人
    for enemy in enemyList:
        enemy.y += enemySpeed

        # 检查是否撞到了玩家
        if enemy.colliderect(player):
            pygame.quit()
            sys.exit()
        
        # 检查是否超出屏幕范围
        if enemy.y > screenHeight:
            enemyList.remove(enemy)
    
    # 移动子弹
    for bullet in bulletList:
        bullet.y -= 20

        # 检查是否击中敌人
        for enemy in enemyList:
            if enemy.colliderect(bullet):
                enemyList.remove(enemy)
                bulletList.remove(bullet)
    
        # 检查是否超出屏幕范围
        if bullet.y < 0:
            bulletList.remove(bullet)
    
    # 绘制玩家和敌人
    screen.fill(backgroundColor)
    pygame.draw.rect(screen, playerColor, player)
    
    for enemy in enemyList:
        pygame.draw.rect(screen, enemyColor, enemy)
    
    # 绘制子弹
    for bullet in bulletList:
        pygame.draw.rect(screen, bulletColor, bullet)

    # 更新屏幕
    pygame.display.update()

在此代码中,我们使用了pygame.event.get()函数来检查是否发生了事件。如果事件类型是QUIT,我们将退出游戏。如果事件类型是KEYDOWN,我们检查是否按下了箭头键或空格键,如果是,我们将移动玩家或创建一个新子弹。

我们还使用循环来移动敌人和子弹。如果敌人被子弹击中或超出屏幕范围,我们将从相应的列表中删除它们。

最后,我们绘制玩家、敌人和子弹,并使用pygame.display.update()函数更新屏幕。

结论

恭喜你,您已经完成了一个简单的射击游戏!在父亲节这个特殊的日子里,您可以将这个游戏作为礼物送给您的父亲,或者与他一起玩这个游戏,这是一种表达您对他的爱和感激的方式。

希望这个小型游戏的开发过程对您的Python编程技能有所提高。在未来的编程过程中,在Pygame的基础上,你可以尽情发挥创意,创造出更加有趣和充满挑战的游戏。

 

一、父亲节的来历简介

其实在世界上的第一个父亲节是出现在1910年的美国,是由布鲁斯多德夫人一直倡导的,她居住在美国华盛顿州斯波坎,多德夫人的母亲在生育第六个孩子时,因难产而死,多德夫人的父亲威廉·斯马特先生曾参加过南北战争,他在妻子过世后,独自一人在华盛顿州东部的一个乡下农场,承担起抚养、教育六个孩子的重任,多德夫人在家中排行老二,亦是家里唯一的女孩,女性的细心特质,让她更能体会父亲的辛劳,斯马特先生白天辛劳地工作,晚上回家还要照料家务与每一个孩子的生活,经过几十年的辛苦,儿女们终于长大成人,当子女们盼望能让斯马特先生好好安享晚年之际,斯马特先生却因多年的过度劳累于1909年辞世。这也是父亲节的由来,在之后,每到了父亲节的时候,子女就会通过一些方式来表达对父亲的感激和尊敬之情。

二、父亲节的由来

在中国也是有属于自己的父亲节,这个节日的起源是来自于民国时期,主要的起源是在1945年8月8日,上海发起了庆祝父亲节的活动,市民立即响应,抗日战争胜利后,上海市各界名流,联名请上海市政府转呈中央政府,定“爸爸”谐音的8月8日为全国性的父亲节,在父亲节这天,人们佩戴鲜花,表达对父亲的敬重和思念。每年的8月8日,遂成为全国性质的法定“父亲节”。是日,子女佩花以作纪念——父亲健在者,佩以红花;逝世者,佩以白花。④相关的推广工作也随后展开。譬如,作为“父亲节”的首倡者之一,1946年8月7日,颜惠庆被邀请去“青年会”做关于“父亲节”的演讲,“谈了不同社会中父亲的地位和责任”。次日,他又在日记中写道:“报上满载关于‘父亲节’的报道”。之后,每次一到父亲节的时候,大部分子女都会给父亲送上祝福,这一天对每一位父亲也很宽容,是属于所有父亲的节日。

 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年6月19日
下一篇 2023年6月20日

相关推荐