资源简介
Python的一个小游戏,适合初学者观摩,可是试试,挺简单的一个小游戏,代码齐全
代码片段和文件信息
#coding=utf-8
import os sys
import pygame
from pygame.locals import *
SCREEN_WIDTH = 480
SCREEN_HEIGHT = 700
#Bullet Class 子弹
class Bullet(pygame.sprite.Sprite):
def __init__(self bullet_img init_pos):
super(Bullet self).__init__()
self.image = bullet_img #set bullet image
self.rect = self.image.get_rect() #get coordinate of bullet
self.rect.midbottom = init_pos #set initial position
self.speed = 10 #set speed of bullet
def move(self):
self.rect.top -= self.speed
#Hero Class 玩家的类
class Hero(pygame.sprite.Sprite):
def __init__(self shoot hero_rects init_pos):
super(Hero self).__init__()
self.image = [] #不同hero图片的列表
for i in range(len(hero_rects)):
self.image.append(shoot.subsurface(hero_rects[i]).convert_alpha()) #填充列表
self.rect = hero_rects[0] #获取玩家的坐标
self.rect.topleft = init_pos #初始化玩家位置
self.speed = 8 #设置玩家速度
self.bullets = pygame.sprite.Group() #子弹集合
self.img_index = 0
self.is_hit = False
def shoot(self bullet_img):
bullet = Bullet(bullet_img self.rect.midtop) #生成子弹
self.bullets.add(bullet) #加入到子弹集合
def moveUp(self):
if self.rect.top <= 0:
self.rect.top = 0
else:
self.rect.top -=self.speed
def moveDown(self):
if self.rect.top >= SCREEN_HEIGHT - self.rect.height:
self.rect.top = SCREEN_HEIGHT - self.rect.height
else:
self.rect.top += self.speed
def moveLeft(self):
if self.rect.left <= 0:
self.rect.left = 0
else:
self.rect.left -= self.speed
def moveRight(self):
if self.rect.left >= SCREEN_WIDTH - self.rect.width:
self.rect.left = SCREEN_WIDTH - self.rect.width
else:
self.rect.left += self.speed
#Enemy Class 敌方
class Enemy(pygame.sprite.Sprite):
def __init__(self enemy_img enemy_down_imgs init_pos):
super(Enemy self).__init__()
self.image = enemy_img
self.rect = self.image.get_rect()
self.rect.topleft = init_pos
self.enemy_down_img = enemy_down_imgs
self.speed = 2
self.down_index = 0
def move(self):
self.rect.top += self.speed
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-09-11 16:08 雷电_sun\
目录 0 2017-09-11 16:08 雷电_sun\data\
目录 0 2017-09-11 16:08 雷电_sun\data\audio\
文件 8831 2016-10-31 23:35 雷电_sun\data\audio\achievement.mp3
文件 12327 2016-10-31 23:35 雷电_sun\data\audio\big_spaceship_flying.mp3
文件 8108 2016-10-31 23:35 雷电_sun\data\audio\bullet.wav
文件 6815 2016-10-31 23:35 雷电_sun\data\audio\button.mp3
文件 17900 2016-10-31 23:35 雷电_sun\data\audio\enemy1_down.wav
文件 14444 2016-10-31 23:35 雷电_sun\data\audio\enemy2_down.wav
文件 71468 2016-10-31 23:35 雷电_sun\data\audio\enemy3_down.wav
文件 1087532 2016-10-31 23:35 雷电_sun\data\audio\game_music.wav
文件 44972 2016-10-31 23:35 雷电_sun\data\audio\game_over.wav
文件 9653 2016-10-31 23:35 雷电_sun\data\audio\get_bomb.mp3
文件 13494 2016-10-31 23:35 雷电_sun\data\audio\get_double_laser.mp3
文件 10693 2016-10-31 23:35 雷电_sun\data\audio\out_porp.mp3
文件 10703 2016-10-31 23:35 雷电_sun\data\audio\use_bomb.mp3
目录 0 2017-09-11 16:08 雷电_sun\data\font\
文件 96452 2016-10-31 23:35 雷电_sun\data\font\CHILLER.TTF
目录 0 2017-09-11 16:08 雷电_sun\data\img\
文件 33518 2016-10-31 23:35 雷电_sun\data\img\background.png
文件 20682 2016-10-31 23:35 雷电_sun\data\img\gameover.png
文件 3388 2016-10-31 23:35 雷电_sun\data\img\shoot.pack
文件 463797 2016-10-31 23:35 雷电_sun\data\img\shoot.png
文件 793 2016-10-31 23:35 雷电_sun\data\img\shoot_background.pack
文件 92377 2016-10-31 23:35 雷电_sun\data\img\shoot_background.png
文件 2181 2017-09-01 10:58 雷电_sun\gameobj.py
文件 3924 2017-09-11 10:44 雷电_sun\gameobj.pyc
文件 5747 2017-09-01 10:59 雷电_sun\planegame.py
文件 6438912 2017-05-22 10:00 雷电_sun\pygame-1.9.2a0.win32-py2.7.msi
评论
共有 条评论