游戏的高级功能,都依赖数据结构、设计模式实现。
大地图移动。
1. 游戏的业务逻辑最复杂
应用软件:大二数据库,大四实训:增删改查。
网站、APP-->RABC多种用户权限,
工作流:购物过程,审批手续,进销存管理、事务的阶段和负责人
论坛管理内容管理
游戏软件:用尽数据结构和算法。
快捷的工具。超出工具的高级部分,只能用数据结构和算法。
2. 介绍
腾讯天美工作室游戏资源。慕课,教程,学习资源。
3. 编程,程序是打出来的。课程设计、毕业设计。
单机版、联机版。
服务端、数据库。
实战题目:培训班坦克大战1.0(类 ,对象)
设计模式--> 通用的工程架构、模板,批量制作一系列游戏。
培训班坦克大战2.0(父类、子类,封装、多态,多个类组成的一个模式)
我是大二 设计模式+小游戏的程序作者。
2017级学生,2019年6月,单件、工厂、备忘录。 23个设计模式。
状态模式,模板方法,策略。
装饰,观察。适配,迭代。命令模式。外观。都有应用情景。
更高级的模式:代理。
- 实战:Java做游戏。
查阅技术手册 ------ 设计能力、编码能力、调试能力。
看网上教程资料、样例代码,快速的项目实战:
语言无关。C++,JAVA, javascript/html5, python字符界面,pygame图形界面.
python字符界面+ 高级技术难度。
不了解的语言,新语言。只差一个查阅技术手册的步骤。
阅读:多关卡java坦克大战。
阅读:C++扫雷。C++扫雷外挂。java,python改写。
做js王者荣耀的地图部分:大地图的移动,已经完成。
高级版:js/python/c++/java王者荣耀的客户端、服务端,网络数据传输部分。
不是从零做起。基于教程、手册、代码,做更好的功能,做新的项目。
java游戏案例代码。python游戏代码。JavaScript/html5游戏代码。
改进功能、新功能,创新游戏。
单机版、联机版。
服务端、数据库。
拓展:奖励红包。左上角,人物标记,随着地图移动而移动。边界值问题。
例题要点
大地图移动技术,具体技术要点:
- 画布:<canvas id="myCanvas" width="850" height="450" style="border:2px solid #0000aa;">
JAVA的窗口,python的窗口
二、新建一个Image对象
var img = new Image(); 设置素材图片。 java也一样,读取图片文件。
三、计时器,启动循环。
setInterval('gameloop();', 300);// 每隔300ms,执行一个函数
java启动一个线程,开启循环。
- 按照MVC架构组织数据、函数。Java,C++, 类、对象、数组......
库文件,xx.js 模块。
function gameloop()
{
update(); //control,刷新数据,改变地图坐标,判断边界值
//view,绘图显示,各种游戏单元
}
Model: 数据:位置,大小等等
var gridw=200;
var gridh=100;
model
var viewh=450;
var vieww=850;
var mapx=0;
var mapy=-(2200-viewh);
var mapw=11;// 11*200
var maph=22; // 22*100
主文件、主函数/首页。
其他库文件、模块、库函数:XX.JS, xx.H, xx.java
多个关卡、地图的数据配置文件。
已经完成的作品:https://blog.csdn.net/weixin_42644456/article/details/103092496
有限状态机:https://blog.csdn.net/weixin_42644456/article/details/103241929
树状结构:https://blog.csdn.net/weixin_42644456/article/details/90758600
格子类地图:https://blog.csdn.net/weixin_42644456/article/details/101766935
腾讯游戏学院
腾讯商业技术:设计、开发、运营 https://gameinstitute.qq.com/
免费付费慕课,java贪吃蛇、坦克大战。IMOOC, 腾讯课堂,java游戏开发(20集、30集),python游戏开发。
初学者的独自摸索,走弯路,踩坑,时间成本。
目标:基本功提高了,数据结构、设计模式,知识的消化理解、应用?
目标:做其他功能、做其他项目?
考察工具熟练不熟练,是初级岗位、加班的状态。
工具,更新换代,比电视剧的更新都快。
能设计、能解决高级问题,才可能晋升为设计师、架构师。