快速编程java:游戏架构,俄罗斯方块

阅读: 评论:0

快速编程java:游戏架构,俄罗斯方块

快速编程java:游戏架构,俄罗斯方块

前面有一篇网页版俄罗斯方块,看懂,难,修改,难。如果用java做,功能拆分,每个类单独负责一部分功能,耦合性低,这就叫架构良好。做起来,反而简单,还可以后续改进,增加功能。

运行效果:

功能拆分,总体功能是三种MVC。V,View显示。M,Model数据,C,Control,程序控制。

java版 工程结构:窗口部分,游戏具体功能,图片基础功能。

游戏的组成:舞台(scene,stage),演员(actor,role, sprite)

游戏三件事:初始化Init, 绘制paint, 数据刷新update

详细功能划分:

1.地图初始化:二维数组20x10,初始值为0; 方块初始化,在屏幕上方。

2.地图绘制:画出所有方块。 活动方块:画出4个小块。

3.地图刷新:找整行,消整行。

活动方块刷新:下落。下落结束后,产生新块。

俄罗斯方块A1版:
有时间片,可以动态掉落方块。绘制背景图片、方块图片。
没有键盘、鼠标事件,只能看,供初学者参考。

俄罗斯方块A2版:
完整的业务逻辑:时间片,碰撞检测(掉落新块,消除整行),键盘事件(移动和旋转)
关键技术:1.二维数组的使用 2. 状态机,状态改变 3.架构,功能拆分
辅助的技术:方块的坐标表示,图片的输出,全局数据的管理

俄罗斯方块这样的格子类游戏,坐标的表示是这样:

一、架构

1.窗口、面板,按键事件

2.初始化、绘制、数据刷新 (地图、游戏元素的各自初始化、绘制、刷新)

java版和网页版的比较:
java版,功能拆分,每个类负责单独的功能,架构好,更容易做出新功能
网页版,如果没有架构,全靠一个个函数堆积,修改、改进,都困难。
网页版,新的技术,也有类、成员变量、成员函数、库。靠好的架构,才有大型页游。

二、状态

1.游戏状态:游戏进行,游戏失败
public static int  STATE_PLAY=0;    
public static int  STATE_OVER=1;    

2.方块的状态:正在移动,不能移动
状态很重要,用状态能划分流程、子流程,实现各种功能。UML有状态图,设计模式有状态模式。

public static int ACTIVEBLOCK_PLAY=0;
public static int ACTIVEBLOCK_FINISH=1;

三、尝试作业:
1. 完善玩家成绩
2. 用状态机的方法,做暂停功能

以java为例,我们继续做更多功能。
1.类的设计:拆分功能,找出公共部分。
2.具体程序:状态、子状态,流程,子流程。

乐创快速编程

代码资源 

本文发布于:2024-01-28 09:49:40,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064065846558.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:架构   俄罗斯方块   快速   游戏   java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23