资源简介
完整的游戏开发源代码,赚1分不过分吧
可以先看博文再下载哦,http://blog.csdn.net/cmd9x/article/details/48950427

代码片段和文件信息
#coding=utf-8
import random
import pygame
from const import *
class Block(pygame.sprite.DirtySprite):
#图片多行组成,每行一种类型
def __init__(self engine who type pos delay = 0 layer = LIST_BALKS):
pygame.sprite.DirtySprite.__init__(self)
self.engine = engine
self.mode = 1 #-1销毁 0出生 1正常 2爆炸
self.who = who #-1边界 0可击毁地图目标 1玩家1 2玩家2 3敌人
self.type = type
self.scale = False #是否缩放
self.dir = DIR_UP #方向(对运动目标有效)
self.can_through = False #是否允许通过
self.can_destory = True #是否允许消灭(子弹可以击毁)
self.destory_fire = 1 #击毁需要火力等级
self.pos = pos
self.animation = True #贴图动画(玩家坦克2帧,不动时就不需动画效果了)
self.frame_delay = delay #帧延时(多帧时有效)
self.image_change(self.type self.frame_delay)
self.engine.add_sprite(self layer)
def get_rect(self):
pt = [self.pos[0]+1 self.pos[1] + 1]
return pygame.Rect(pt (self.width-2 self.height-2))
def image_change(self type = -1 delay = 0):
if type >= 0:
self.type = type
if delay > 0:
self.frame_delay = delay
self.frame_index = 0
angle = DIR_CFG[self.dir][“angle“]
self.frames = self.engine.get_frame(self.type angle self.scale)
self.frame_count = len(self.frames)
self.image = self.frames[self.frame_index]
self.width = self.image.get_width()
self.height = self.image.get_height()
def inc_counter(self timer):
#累计一定时间后进行帧切换
if self.frame_delay > 0 and timer % self.frame_delay == self.frame_delay - 1:
self.next_frmae()
def next_frmae(self):
if self.frame_count > 1:
if self.frame_index + 1 == self.frame_count:
self.frame_index = 0
else:
self.frame_index += 1
if self.animation:
self.image = self.frames[self.frame_index]
def hit(self bullet):
if self.can_destory and bullet.level >= self.destory_fire:
self.die()
def draw(self screen):
screen.blit(self.image self.pos)
def die(self):
self.kill()
del self
class Brick(Block):
#砖
def __init__(self engine who type pos delay layer):
Block.__init__(self engine who type pos delay layer)
self.can_through = False
def hit(self bullet):
if bullet.who != WHO_ENEMY:
self.engine.play_sound(SND_BRICK)
if bullet.level > 2:
self.die()
else:
#击中不中位置,火力不同产生的销毁效果也不同
type = BRICK_TAB[bullet.dir][self.type]
if type == M_00:
self.die()
else:
self.image_change(type)
class Ice(Block):
#冰
def __init__(self engine who type pos delay layer):
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-10-18 16:26 Tank\
目录 0 2015-09-21 00:58 Tank\nbproject\
目录 0 2015-09-23 22:11 Tank\nbproject\private\
文件 0 2015-09-23 22:11 Tank\nbproject\private\private.properties
文件 658 2015-10-26 21:26 Tank\nbproject\private\private.xm
文件 116 2015-10-18 15:07 Tank\nbproject\project.properties
文件 430 2015-10-18 15:07 Tank\nbproject\project.xm
目录 0 2015-10-26 21:26 Tank\src\
文件 6750 2015-10-18 15:39 Tank\src\block.py
文件 9672 2015-10-18 15:09 Tank\src\const.py
目录 0 2015-10-18 17:52 Tank\src\data\
文件 10536 2015-09-26 02:19 Tank\src\data\add_life.ogg
文件 6856 2015-09-26 02:19 Tank\src\data\add_score.ogg
文件 13886 2015-09-26 02:08 Tank\src\data\game_over.ogg
文件 8880 2015-09-26 02:05 Tank\src\data\game_pause.ogg
文件 33113 2015-09-26 02:05 Tank\src\data\game_start.ogg
文件 8099 2015-09-26 02:19 Tank\src\data\get_props.ogg
文件 4423 2015-09-26 02:19 Tank\src\data\hit_border.ogg
文件 4253 2015-09-26 02:19 Tank\src\data\hit_brick.ogg
文件 7109 2015-09-26 02:18 Tank\src\data\hit_kill.ogg
文件 7673 2015-09-26 02:18 Tank\src\data\hit_special.ogg
文件 4226 2015-09-26 02:18 Tank\src\data\hit_steel.ogg
文件 3936 1999-09-20 16:20 Tank\src\data\ICOIN.FON
文件 4188 2015-09-26 02:18 Tank\src\data\inc_score.ogg
文件 4680 2015-09-26 02:06 Tank\src\data\shoot.ogg
文件 9008 2015-09-26 02:16 Tank\src\data\speed_normal.ogg
文件 7875 2015-09-26 02:17 Tank\src\data\speed_up.ogg
文件 9737 2015-10-11 11:50 Tank\src\data\tank.png
目录 0 2015-10-18 18:21 Tank\src\dist\
文件 6750 2015-10-18 15:39 Tank\src\dist\block.py
文件 9672 2015-10-18 15:09 Tank\src\dist\const.py
............此处省略106个文件信息
- 上一篇:SVD实现代码
- 下一篇:用tkinter写的python GUI注册界面
相关资源
- Instant Pygame for Python Game Development How
- Biopython Tutorial
- Think Python 2nd
- 一个小小的表白程序(python)
- Python课堂笔记(高淇400集第一季)
- 二级考试python试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
评论
共有 条评论