Python编程:从入门到实践,课后题14-2

本文介绍了一个使用Python和Pygame库实现的射击游戏。游戏中包含目标对象、角色、子弹等元素,通过键盘控制角色移动,空格发射子弹。当目标触及屏幕边界会改变移动方向,角色和目标之间进行碰撞检测,失败三次则游戏结束。
摘要由CSDN通过智能技术生成
这篇写的有点乱,能帮到其他人就太好啦~
import sys
import pygame
from pygame.sprite import Sprite
from pygame.sprite import Group
from time import sleep
import pygame.font

screen=pygame.display.set_mode((1200,700))
bg_color=(20,40,50)
target_speed=5
charactor_speed=7
bullet_speed=8
game_active=True
fail_times=0
pygame.init()                                                       
class Target(Sprite):
	"""建立被射击的矩形目标"""
	def __init__(self, screen):
		super(Target, self).__init__()
		self.screen = screen
		self.width, self.height=50,150
		self.screen_rect=self.screen.get_rect()
		self.rect = pygame.Rect(0, 0, self.width, self.height)
		self.rect.right=self.screen_rect.right
		self.rect.centery = self.screen_rect.centery
		self.target_color=(255, 255, 255)
		self.y=float(self.rect.y)
		self.moving_direction=1     
	def blitme(self):
		self.screen.fill(self.target_color,self.rect)
	def update(self):		
		self.y+=target_speed*self.moving_direction
		self.rect.y=self.y
def check_boundaries(target):                                  #检查矩形撞击边界和改变移动方向
	if target.rect.top<=target.screen_rect.top:
		target.moving_direction=1
	if target.rect.bottom>=target.scr
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值