资源简介
完整的游戏开发源代码,赚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注册界面
相关资源
- 用tkinter写的python GUI注册界面
- SVD实现代码
- python爬取维基百科程序语言消息盒(
- easygui-0.96
- python坦克大战分步骤源码及素材
- django+mysql家具购物网站,包含部署教
- python新浪微博爬虫
- Python3.5.2的IDLE汉化版计算机等级考试
- 12306爬虫实现
- Python求解数独并输出求解过程
- python程序设计基础课件
- 西电python网络处理上机题答案
- VMD变分模态分解算法
- Python网络编程 3版 高清扫描版 完整中
- 使用python编写的打飞机游戏源码
- 计算24点python
- 扑克小游戏python代码
- Python黑客攻防入门.pdf
- 《Python语言程序设计基础第二版PDF+课
- Python-PySimpleGUI一个建立在tkinter之上简
- python3.5 百度ai人脸识别
- python编程从入门到实践的案例和动手
- 编译原理词法分析器、语法分析器p
- python3实现的国密SM2+SM3
- 50G金融资料包python源码包
- Python爬虫相关书籍.zip
- Windows64下通过python调用海康SDK实现登
- Python-使用DeepFakes实现YouTube视频自动换
- python_web实战-源码
- Python-100-Days-master.zip
评论
共有 条评论