练习02创建型+结构型+其它(以fromsrc目录中的代码为基础)1.在game中维护着curMenu,见下图:在运行时,应只有一个curMenu对象。
而MenuMgr作为所有menu的管理器,也可以管理curMenu。
请将curMenu从Game类,移到MenuMgr中,使得运行结果不变。
2.道理同1.请建立MapMgr类,并将curMap从Game类,移到MapMgr中,使得运行结果不变。
3.查看Map.h其中各Block以二维数组的方式组织。
事实上,各Block的组织方式是多种多样的,如既可以用二维数组的方式表示布局结构,也可以用链表、有向图等表示,甚至各Block是通过立体的关系构成Map。
请使用桥接模式分离Map的接口和具体实现。
同时,为保持Map接口的一般性,改为通过线性索引的方式读取/添加Block。
即Map可如下:MapImp类可如下:(当需要不同的实现时,从MapImp派生即可)既然Map不再记录Block的二维位置信息,那么可以让Block记录自己的二维位置信息,即Block类可修改为:请完成相关代码的修改,使得程序功能不变。
4.前边的代码中,地图的布局是由二维数组给出的,如:很明显,其隐含地指出:相邻的两个非空Block是相通的,不相邻两个非空Block是不能直接连通的。
但实际上,地图的布局不一定以数组方式给出,可以用其它方式给出,例如下图(地图B)中的布局,可能以下表的方式给出:(地图B的布局含义)AAAAABBBCCCCDDDAAAAABBB(对应地图B布局实际给出的数据表)类型序号行列LEFTRIGHTUPDOWNA1000206A2011300A3022407A4033500A5044008B6100019B71200310B81400512C92000613C1022011714C1123101200C1224110815D133000916D1432001018D1534001220A1640017130A1741161800A18421719140A1943182000A20441921150B2145202200B2246212300B234722000若希望每个Block“知道”其相邻的各Block,请扩展3中MapDirector、MapBuilder、Block类,同时改写MapMgr中的createMap函数,使得新的程序能够根据给定数据表正确创建并显示地图(可在global.h中添加常量)。
5.回看3中的MapImp类:请问“MapImp类的设计中,使用了适配器模式”,这句话对吗?如果正确,回答适配了什么?采用类适配器模式可以吗?如果不正确,回答为什么?
2022/9/30 20:10:21 632KB 吉林大学 设计模式
1
(含源码及报告)本程序分析了自2016年到2021年(外加)每年我国原油加工的产量,并且分析了2020年全国各地区原油加工量等,含饼状图,柱状图,折线图,数据在地图上显示。
运转本程序需要requests、bs4、csv、pandas、matplotlib、pyecharts库的支持,如果缺少某库请自行安装后再运转。
文件含6个excel表,若干个csv文件以及一个名字为render的html文件(需要用浏览器打开),直观的数据处理部分是图片以及html文件,可在地图中显示,数据处理的是excel文件。
不懂可以扫文件中二维码在QQ里面问。
2022/9/30 16:40:52 29.75MB 爬虫 python 源码软件 开发语言
1
二维稳态流固耦合传热的例子二维稳态流固耦合传热的例子
2020/4/25 6:58:04 100KB 流固耦合 传热
1
JS连接tsc打印条形码可也以打印二维码,内含打印这两种的源码,整理好的,亲测可用。
压缩包里的驱动是tscTTP-244-Pro的驱动,你可以根据本人的机型下载对应的驱动安装。
其他配置不变。
2018/11/7 2:46:25 21.22MB JS 条形码 TSC 二维码
1
将qrencode4.0.0添加到QT环境中(非调用qrencode.lib方式)完成QR二维码生成
2016/5/9 21:11:32 125KB qrencode QT
1
此软件用于计算二维图形的分形维数等分形参数,解压把它放入matlab的工具箱文件夹中即可运用。
具体运用参考:https://zhuanlan.zhihu.com/p/37419809
2015/6/17 18:20:34 15.55MB 分形维数 matlab
1
使用C言语涡格法计算任意二维翼型的升力、阻力、俯仰力矩系数等等
2019/7/2 11:56:04 5KB 涡格法 气动
1
该例子包含halcon测试代码和图片,可以矫正不规则二维码后进行辨认
2019/2/9 5:33:30 83KB halcon 二维码 不规则形状
1
计算一副RGB图像的二维信息熵,具有详细的正文。
可以正常运行。
matlab版本的
2018/11/6 11:07:26 2KB 二维信息熵 matlab
1
使用VS2017中的Xamarin.Android进行开发,主要实现功能为:扫描二维码,并将扫描结果显示出来,如果结果为网址,则自动跳转到相应的网站。
【注意,该项目使用VS2017,低版本的VS无法直接打开处理方案】
2020/1/5 5:03:31 42.46MB Xamarin VS2017 二维码 C#
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡