名字:阿玥的小东东
学习: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日,颜惠庆被邀请去“青年会”做关于“父亲节”的演讲,“谈了不同社会中父亲的地位和责任”。次日,他又在日记中写道:“报上满载关于‘父亲节’的报道”。之后,每次一到父亲节的时候,大部分子女都会给父亲送上祝福,这一天对每一位父亲也很宽容,是属于所有父亲的节日。