项目实战
phoenix8956
这个作者很懒,什么都没留下…
展开
-
文档ansi、utf-8、unicode的标志头
在做bt解析种子类时:用记事本打开一个种子文件无法辨认中文,因为中文部分是utf-8编码,而那个种子文件缺少utf-8 标志头,以ansi解析了utf-8所以出错了ansi 无标志头字节utf-8 前面有三个标志字节efbbbfunicode 标志头 fffeunicode big endian 标志头feff...原创 2020-03-09 18:14:21 · 745 阅读 · 0 评论 -
spy++只能读取主窗口句柄而无法读取到子控件句柄的原因
看望DIRECTUI简介就明白了: DirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP,Vista,Windows 7,如浏览器左侧的TaskPanel,控制面板导航界面,Media Player...原创 2018-05-16 07:11:50 · 7449 阅读 · 3 评论 -
C++(qt)游戏实战项目:坦克大战(六源代码)
坦克大战五叙述了如何发射子弹。到此坦克大战的核心功能基本完成到此献上源代码链接qt坦克大战源代码 此源代码敌人和玩家都用的Tank类,如果你们愿意也可以从Tank类继承,即按照C++(qt)游戏实战项目:坦克大战(前言)的类目结构来安排此源代码已实现的功能 地图编辑m,地图加载l,地图保存s 玩家坦克移动asdw 发射子弹j发挥你的才智实现以下功能吧: 关卡设计 坦克打怪升级 坦克魔法攻原创 2017-07-28 20:19:47 · 14081 阅读 · 9 评论 -
C++(qt)游戏实战项目:坦克大战(五)
发射子弹 单独的子弹类根据坦克属性生成相应的子弹对象。//file bullet.h#ifndef BULLET_H#define BULLET_H#include"wanwu.h"#include"tank.h"class Bullet : public Wanwu{public: Bullet(const Tank &tank); // 绘图 void Disp原创 2017-06-19 21:26:06 · 7872 阅读 · 3 评论 -
C++(qt)游戏实战项目:坦克大战(四)
屏幕上光有地图也不行,还需要我们的坦克加入其中 新建tank.h和tank.cpp tank.h里加入#ifndef TANK_H#define TANK_H#include"wanwu.h"#include"main.h"#include"gamemap.h"class Tank : public Wanwu{protected: int steps[8]={4,8,8,16,原创 2017-06-03 07:13:55 · 12844 阅读 · 0 评论 -
C++(qt)游戏实战项目:坦克大战(前言)
坦克游戏,儿时的经典,同样是练手的经典小项目之一! 准备好开发环境 必须 备注1 备注2 window或linux系统 推荐window QT5.5以上 百度一下就知道 整体框架伪代码描述游戏开始游戏初始化while(true){从消息队列收集信号signal swtich(signal){ case: 绘图信号 绘原创 2017-05-23 08:11:07 · 38759 阅读 · 36 评论 -
QT 建立透明背景图像QPixmap
QPixmap pixmap(160,200);pixmap.fill(Qt::transparent);//用透明色填充QPainter paint(&pixmap);//paint.draw....;pixmap.save("bullet.png");列将下面背景透明图片1转变成图片2图1![图片1](http://img.blog.csdn.net/201705201434085原创 2017-05-20 14:14:55 · 14396 阅读 · 0 评论 -
C++(qt)游戏实战项目:坦克大战(三)
前面实现了地图的显示但是地图很单一,这回实现地图的编辑、保存和载入。 我们给地图类Gamemap添加下面几个成员函数 gamemap.h int switchstyle(int i,int j);//改变cells[i][j]地图块的样式 void setstyle(int i,int j,int style);//设置cells[i][j]地图块的样式 void dele原创 2017-05-29 20:02:35 · 5084 阅读 · 8 评论 -
C++(qt)游戏实战项目:坦克大战(二)
地图的表示前面讲到了地图块类,我们想一想地图是地图块or地图包含地图块,是前者用继承,明显这里是包含的关系。地图对象里管理着所有的地图块对象,我们用二维数组cells[INUM][JNUM]存储各个地图块对象的指针(想一想为什么不直接存储地图块对象?),前面说过整个游戏地图被分成很多的地图块,cells[i][j]表示i行j列的地图块。//file gamemap.h #ifndef GAMEMAP原创 2017-05-24 06:45:08 · 6555 阅读 · 3 评论 -
C++(qt)游戏实战项目:坦克大战(一)
地图左到右从上到下依次编号0,1,2,3…28//file:main.h#ifndef MAIN#define MAIN#define JNUM 17//地图块列数#define INUM 13//地图块行数#define PICWIDTH 64//地图块图片宽度#define PICHEIGHT 64//地图块图片高度#define CELLWIDTH 64//地图块宽度#defi原创 2017-05-23 15:58:33 · 12599 阅读 · 9 评论 -
C++实战项目:坦克大战(一)
对坦克大战情有独钟是因为大学时候第一次参加程序设计比赛就做的这个游戏。当时用的语言是Java,那个比赛让我悟出了面向对象的强大之处,我也是从那时开始接触设计模式的。对我而言,坦克大战有着非同寻常的意义,所以一定要带大家用C++实现一下。 知识准备 建议大家先看看面向对象编程的三个重要特性,之后再来学习后面的内容。 代码分享 这个项目中的代码会在Git转载 2017-03-26 08:54:43 · 68881 阅读 · 9 评论