资源简介
用单片机c51编写的坦克大战,在proteus仿真通过,有坦克大战游戏的基本功能,只有一关的游戏地图,可以另行绘制其他关的地图。程序大约24KB左右,需要外部扩展程序区才能实现。但是程序编写时考虑到移植性的问题,所以方便移植到其他嵌入式系统中,像ARM中。
代码片段和文件信息
#include “reg51.h“
#include“lcd12864.h“
#include
sbit P1_row1 = P1 ^ 0;
sbit P1_row2 = P1 ^ 1;
sbit P1_col1 = P1 ^ 2;
sbit P1_col2 = P1 ^ 3;
sbit P2_row1 = P1 ^ 4;
sbit P2_row2 = P1 ^ 5;
sbit P2_col1 = P1 ^ 6;
sbit P2_col2 = P1 ^ 7;
#define Up 1 //定义上下左右方向
#define Right 2
#define Down 3
#define Left 4
#define Up_Left 1 //定义炮弹炸毁效果4个方向(但是由于炮弹的非对称性导致比如“上左“与“左上“坐标计算有区别)
#define Up_Right 2
#define Down_Left 3
#define Down_Right 4
#define Left_Up 5
#define Left_Down 6
#define Right_Up 7
#define Right_Down 8
#define Steel 1 //定义障碍物属性
#define Brick 2
#define Prefect 1 //定义基地状态
#define Destroy 2
#define Tank_Count 2 //坦克数量
#define Barrier_Count 8 //障碍物数量
#define Computer 1 //坦克的阵营
#define Human 2
uint8 code Human_Tank1_Up[8] ={0xFF0xFF0x7C0x7F0x7F0x7C0xFF0xFF}; //玩家模型1的上下左右的贴图
uint8 code Human_Tank1_Right[8] ={0xC30xFF0xFF0xFF0xFF0xFF0xDB0xDB};
uint8 code Human_Tank1_Down[8] ={0xFF0xFF0x3E0xFE0xFE0x3E0xFF0xFF};
uint8 code Human_Tank1_Left[8] ={0xDB0xDB0xFF0xFF0xFF0xFF0xFF0xC3};
uint8 code Human_Tank2_Up[8] ={0xFF0xCC0x780x3F0x3F0x780xCC0xFF}; //玩家模型2的上下左右的贴图
uint8 code Human_Tank2_Right[8] ={0xC30xE70xBD0xBD0xFF0xDB0x990x99};
uint8 code Human_Tank2_Down[8] ={0xFF0x330x1E0xFC0xFC0x1E0x330xFF};
uint8 code Human_Tank2_Left[8] ={0x990x990xDB0xFF0xBD0xBD0xE70xC3};
uint8 code Human_Tank3_Up[8] ={0xFF0xFC0x700x7F0x7F0x700xFC0xFF}; //玩家模型3的上下左右的贴图
uint8 code Human_Tank3_Right[8] ={0xC30xFF0xFF0xFF0xDB0xDB0x990x99};
uint8 code Human_Tank3_Down[8] ={0xFF0x3F0x0E0xFE0xFE0x0E0x3F0xFF};
uint8 code Human_Tank3_Left[8] ={0x990x990xDB0xDB0xFF0xFF0xFF0xC3};
uint8 code Computer_Tank1_Up[8] ={0xFF0xFC0xF80x430x430xF80xFC0xFF}; //电脑模型1的上下左右的贴图
uint8 code Computer_Tank1_Right[8] ={0xE70xFF0xE70xE70xE70xC30x990x99};
uint8 code Computer_Tank1_Down[8] ={0xFF0x3F0x1F0xC20xC20x1F0x3F0xFF};
uint8 code Computer_Tank1_Left[8] ={0x990x990xC30xE70xE70xE70xFF0xE7};
uint8 code Computer_Tank2_Up[8] ={0xFF0x620x300xDF0xDF0x300x620xFF}; //电脑模型2的上下左右的贴图
uint8 code Computer_Tank2_Right[8] ={0x990xDB0xE70xBD0x990x990xDB0x99};
uint8 code Computer_Tank2_Down[8] ={0xFF0x460x0C0xFB0xFB0x0C0x460xFF};
uint8 code Computer_Tank2_Left[8] ={0x990xDB0x990x990xBD0xE70xDB0x99};
uint8 code Computer_Tank3_Up[8] ={0xE70x3C0xC60xF30xF30xC60x3C0xE7}; //电脑模型3的上下左右的贴图
uint8 code Computer_Tank3_Right[8] ={0xBD0xBD0xDB0x5A0x420xE70xBD0x99};
uint8 code Computer_Tank3_Down[8] ={0xE70x3C0x630xCF0xCF0x630x3C0xE7};
uint8 code Computer_Tank3_Left[8] ={0x990xBD0xE70x420x5A0xDB0xBD0xBD};
uint8 code Prefect_Home[8]={0xE70xFF0x990x810xC30x660x3C0x18}; //正常基地的
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 158073 2009-07-30 12:19 坦克大战\Last Loaded Phone Game P87C51RD.DBK
文件 175124 2009-10-02 14:21 坦克大战\Last Loaded tank.DBK
文件 2036 2009-09-25 13:52 坦克大战\lcd12864.h
文件 131129 2009-10-02 15:10 坦克大战\main.c
文件 303473 2009-10-02 15:45 坦克大战\main.LST
文件 101522 2009-10-02 15:45 坦克大战\main.OBJ
文件 1028 2009-09-19 12:41 坦克大战\Phone Game P87C51RD.PWI
文件 5115 2002-04-16 15:32 坦克大战\STARTUP.A51
文件 11665 2009-10-02 15:45 坦克大战\STARTUP.LST
文件 749 2009-10-02 15:45 坦克大战\STARTUP.OBJ
文件 15744 2009-09-22 11:28 坦克大战\t2
文件 38 2009-09-22 11:28 坦克大战\t2.lnp
文件 40145 2009-09-22 11:28 坦克大战\t2.M51
文件 1622 2009-10-02 14:39 坦克大战\t2.Opt
文件 869 2009-09-22 11:29 坦克大战\t2.plg
文件 2040 2009-10-02 14:21 坦克大战\t2.Uv2
文件 1620 2009-10-02 14:21 坦克大战\t2_Opt.Bak
文件 2041 2009-10-02 11:28 坦克大战\t2_Uv2.Bak
文件 55537 2009-10-02 15:45 坦克大战\tank
文件 175124 2009-10-02 16:04 坦克大战\tank.DSN
文件 69060 2009-10-02 15:45 坦克大战\tank.hex
文件 56 2009-10-02 15:45 坦克大战\tank.lnp
文件 148507 2009-10-02 15:45 坦克大战\tank.M51
文件 583 2009-10-02 16:04 坦克大战\tank.plg
文件 1364 2009-10-02 16:04 坦克大战\tank.PWI
目录 0 2009-10-02 16:20 坦克大战
----------- --------- ---------- ----- ----
1404264 26
相关资源
- 基于单片机的温室大棚温湿度亮度自
- 电风扇模拟控制系统设计
- 基于AT89C51单片机的电子计时牌设计
- 用51单片机设计的GPS定位系统论文
- 基于89c51的等精度频率计lcd1602显示
- 基于C51智能小车设计
- 基于51单片机的CC1100CC1101发送和接收的
- 基于C51单片机的简单控制灯光的程序
- C51的数字时钟.rar
- 51单片机 经典4位数码管显示,带闪烁
- 基于单片机的智能交通灯控制系统设
- 基于单片机的液位控制系统设计
- 51单片机控制BMP180气压传感器 并通过
- 单片机控制冒泡排序 数码管显示
- max197的程序与单片机通讯含protel原理
- DS18B20温度采集+串口发送+模块化编程
- 基于AT89C51数字时钟设计过程与仿真
- 基于单片机设计的脉搏测量仪(毕设
- 用汇编语言写的51单片机电子闹钟
- 基于单片机的9999秒倒计时器的设计
- 基于单片机的简易数字电压表的设计
- LED点阵 4位16*16LED点阵广告牌 Proteus单
- 基于AT89S52单片机LCD数字测速仪的设计
- 基于51单片机带时间及声光提示单片机
- 51单片机课程设计数字温度计报告
- 基于430单片机的万年历程序
- 51单片机4×4键盘proteus仿真51单片机4×
- 51单片机控制LED点阵显示Proteus仿真
- 基于51单片机的计算器Proteus仿真.rar
- 51+bmp180+lcd1602+proteus.zip
评论
共有 条评论