现在在看alwing的俄罗斯方块,整理下所学的。。。
alwing的俄罗斯方块从功能分析 到系统设计然后具体的编码整个过程
分析游戏功能 ——》 做出图样
通过图样进行 ——》 界面设计
搭建整个游戏的框架
从显示的界面层(UI) 到玩家控制器(PlayerControl) 到游戏控制器(GameControl)以及游戏逻辑(GameServer) 游戏数据源(GameDto)组织起来
界面层显示游戏相关的信息
玩家控制器监听键盘事件同时控制游戏控制器
游戏控制器控制界面显示 以及控制逻辑块
游戏逻辑块调用(设置)游戏数据源数据
游戏界面调用(获取)游戏数据源数据
简单回忆下:
建包 --》 src 包层进行管理 界面层,控制层,逻辑层, 数据源,实体,工具类,启动类 (ui, Control, server, dto, entity, util, main) 图片Graphics 第三方jar包lib
建立窗体JFrameGame 面板JPanelGame 在面板上显示的不同层XXLayer(用接口Layer来组织不同层的类,定义需求规范 具体由子类自己实现)
设计 -- 》 按比例 把面板大小及各个层的大小位置确定出来(数据库层,本地记录层,游戏层,按钮层,下一个层,级别层,分数层,版权层)
显示 -- 》 按照计算出的数据在面板上画出不同的层, 然后往层里添加不同的数据,添加逻辑。。。
内容提要:
用Interface Layer 来组织不同层(XXLayer)
添加Config包, 将配置写入xml文件,然后通过dom4j解析xml文件 利用反射生成对象
将常用的GameConfig用ConfigFactory 工厂模式包装下,只能通过工厂模式获取GameConfig对象
然后写游戏的数据源对象GameDto,将不同的属性(dbRecode, DiskRecode, GameMap, GameAct, next, nowPoint, nowLevl, nowRemoveLinel)写入,同时对外提供get和set方法
把数据源连连接到面板(构造方法传值),然后写游戏逻辑GameServer,在构造方法里赋值的同时实例化游戏方块GameAct,并设置GameDto里的gameAct对象的值。。。
下一步。。。明儿接着写