当前位置: 首页 > news >正文

企业为什么要建立自己的网站小程序变成网页链接

企业为什么要建立自己的网站,小程序变成网页链接,网站集约化建设讲话,园区网络规划与设计按:因为自控力和能力的原因,这个其实是在和代码同时进行的。 主要 类 说明 这一层是整个项目的基础,将对未来的算法的效率产生重要影响。为了和界面隔离,以及自身逻辑的清晰,下面的两个类是必须的,棋子类…

按:因为自控力和能力的原因,这个其实是在和代码同时进行的。

主要 类 说明

这一层是整个项目的基础,将对未来的算法的效率产生重要影响。为了和界面隔离,以及自身逻辑的清晰,下面的两个类是必须的,棋子类和游戏类。棋子类定义了棋子相关属性,游戏类中重点是算法方面的方法设计。

UML 略图如下
在这里插入图片描述
生成一个HrdGame的实例,就可以进行基本的处理了。HrdGame有默认的布局,即经典的“横刀立马”布局,并且实现了UI部分的功能,只要传入标准的C#控件,就可以进行图形部分的渲染。主要的Class 即HrdGame和Prece,其余类都是辅助类,用于对棋子形状和尺寸的刻画,以及求解过程中队列或者堆栈元素的记录。

Piece Class

在这里插入图片描述

PIece中的Key property 是 位置和形状,由于华容道形状都是矩形,因此形状属性弱化为SIze,即只保留了形状中的尺寸属性。
这两个属性是
HrdPos :位置
HrdSize:大小
具体刻画使用 HrdPoint 进行定义,HrdPoint 是一个用户定制类的基本类,定义如下:

在这里插入图片描述
使用这个定制类的目的,是为了和系统的Point 类进行区分。
这里的X,Y属性一个抽象的数据,它表示系统用于显示棋子控件的相对大小。并不对应屏幕的像素数值,是一个相对的数据。这样做的目的,是便于将棋子显示在不同大小的控件中。

#HRDGame 类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
该类集中了华容道算法的布局和处理已经UI渲染的全部功能,这里主要介绍其核心方法。

构造函数

      public HRDGame(Form form,Control ctrl){_mainForm = form;_ctrl = ctrl;this._ctrl.Paint += new System.Windows.Forms.PaintEventHandler(this.HrdPaint);this._ctrl.Resize += new System.EventHandler(this.Resize);_setDefayultLayout();InitializeTimer();}

构造函数中需要传入 两个参数,调用的Form已经用于显示棋盘的控件。注意构造函数中对Paint 和Resize属性进行了调用,这样就最大程度地减少外部函数对UI的控制。
其中 _setDefayultLayout() 进行了基础布局,即“横刀立马”布局;

(基本)布局函数

布局函数的核心代码如下:

     private void _setDefayultLayout(){for (int i = 0; i < gameState.pieces.Length; i++){gameState.pieces[i] = new Piece();}gameState.pieces[0].CreatePiece("空", 0, new HrdPoint(2, 5), new HrdPoint(1, 1), 5, PieceClr[5], "单元方块");gameState.pieces[1].CreatePiece("白", 1, new HrdPoint(3, 5), new HrdPoint(1, 1), 5, PieceClr[5], "单元方块");....// represent the entity. foreach (var pcs in gameState.pieces){FillLayoutArr(pcs);}}

该函数完成对所有棋子的初始逻辑定义,然后根据传进来的控件进行渲染,渲染在 FillLayoutArr(pcs)中完成基本的数据设定,然后调用Paint函数进行具体的施画过程。
FillLayoutArr 函数完成棋子的具体描述。棋盘的底层数据为一个5*4的数组,每个数组元素表示一个单位正方形,利用这些单位正方形来刻画具体的棋子。例如: 小卒 就是一个基本的单位正方形,而曹操由4个单位正方形构成。我们因为棋子的左上角坐标表示整个棋子的位置,其余单位正方形的位置彩色与固定位置描述的方法,具体由棋子的 HrdType 属性决定。

Hrdtype的定义采用Hard Code 定义的,具体如下:

 ///  _type = 5 , the blank block on the board, size is (1,1) (width, height)///        = 1, the soldier block , size is (1,1)///        = 2, the vertical blcok, size is (2,1) 张飞,赵云,马超,黄忠 ///        = 3, the horizaontal blcok , size is (1,2) 关羽///        = 4 , the biggest block , size is (2,2) 曹操///        = 0, null, this area is out of the board 

这样做是为了简化程序的数据结构和过程,我们不处理其余更复杂和灵活的布局以及棋子形状。

布局完成后,就进入了求解过程。(待续)

马拉孙于BJFWDQ
2024-03-04

http://www.yayakq.cn/news/863355/

相关文章:

  • 大公司网页设计用什么软件好如何进行搜索引擎优化 简答案
  • 成都建设二维码网站深圳模板网站建设公
  • 建设造价信息网站直播软件app下载免费
  • 企业微网站与手机微信做品牌折扣微信推广的网站
  • 做网站怎样使图片自由移动wordpress怎么修改logo尺寸
  • 网站设计就业中山网站建设找阿 n 2
  • 做网站的出路纯html5网站源码
  • 网投网站制作上海优化网站公司哪家好
  • 深圳网站建设网络公司wordpress单页主题营销
  • 互助网站制作公司抚州购物网站开发设计
  • 漯河哪个网站推广效果好怎么样才算是一个网站页面
  • 企业网站营销的优缺点及案例南平市建设集团网站
  • 甘肃网站建设推广服务wordpress 增加侧边栏
  • word文档做网站小型企业网站设计教程
  • 网站做业务赚钱吗三种人不适合做程序员
  • 有源码手机怎么搭建网站哪些网站做农产品电子商务
  • 济南建网站送400电话互联网公司加盟
  • 南京网站维护公司有哪些苏州新区网站制作公司
  • 咋么做网站百度关键词优化多久上首页
  • 网络上如何推广网站更换dns能上国外网站吗
  • 网站首页快照应该怎么下拉框关键词软件
  • 商丘网站建设公司白云区建网站设计
  • dede网站建站教程外贸的订单在哪个网站找
  • 手机如何制作网站教程科技小制作一等奖
  • 网站建设类课题的研究方法烟台制作网站的公司
  • 沙坪坝网站开发外贸seo建站
  • 学做网站看什么书网络营销的推广策略
  • 怎么制作网站教程图片崇信县门户网站留言首页
  • 保定自助建站软件定制手机网站
  • 网站访问量什么意思wordpress你没有权限设置