Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 630|回复: 0

android连连看开发技巧(9)

[复制链接]

该用户从未签到

发表于 2012-4-5 11:57:58 | 显示全部楼层 |阅读模式
android游戏开发之连连看(9)
实现游戏逻辑
       GameService组件则是整个游戏逻辑实现的核心,而且GameService是一个可以复用的业务逻辑类,它与游戏实现平台无关,既可在java Swing程序中使用,也可在Android游戏中使用;甚至只要稍做修改,GameService也可移植到基于C#平台的连连看游戏中。
       备注:征得《疯狂java实战演义》作者杨恩雄的同意,本游戏的GameService组件基本上使用了《疯狂Java实战演义》第7章案例的GameService组件。
定义GameService组件接口
根据前面程序对GameService组件的依赖,程序需要GameService组件包含如下方法:
1.start():初始化游戏状态,开始游戏的方法。
2. Piece[][] getPieces():返回表示游戏状态的Piece[][]数组。
3.boolean hasPieces():判断Piece[][]数组中是否还剩Piece对象;如果所有Piece都被消除了,游戏也就胜利了。
4.Piece findPiece(float touchX, float touchY):根据触碰点的X、Y座标来获取
5.LinkInfo link(Piece p1, Piece p2):判断p1、p2两个方块是否可以相连。
为了考虑以后的可扩展性,先为GameService组件定义如下接口:
程序清单:android游戏开发之连连看(9)
实现游戏逻辑
GameService组件则是整个游戏逻辑实现的核心,而且GameService是一个可以复用的业务逻辑类,它与游戏实现平台无关,既可在Java Swing程序中使用,也可在Android游戏中使用;甚至只要稍做修改,GameService也可移植到基于C#平台的连连看游戏中。
备注:征得《疯狂Java实战演义》作者杨恩雄的同意,本游戏的GameService组件基本上使用了《疯狂Java实战演义》第7章案例的GameService组件。
定义GameService组件接口
根据前面程序对GameService组件的依赖,程序需要GameService组件包含如下方法:
1.start():初始化游戏状态,开始游戏的方法。
2. Piece[][] getPieces():返回表示游戏状态的Piece[][]数组。
3.boolean hasPieces():判断Piece[][]数组中是否还剩Piece对象;如果所有Piece都被消除了,游戏也就胜利了。
4.Piece findPiece(float touchX, float touchY):根据触碰点的X、Y座标来获取
5.LinkInfo link(Piece p1, Piece p2):判断p1、p2两个方块是否可以相连。
为了考虑以后的可扩展性,先为GameService组件定义如下接口:
程序清单:android游戏开发之连连看(9)
实现游戏逻辑
GameService组件则是整个游戏逻辑实现的核心,而且GameService是一个可以复用的业务逻辑类,它与游戏实现平台无关,既可在Java Swing程序中使用,也可在Android游戏中使用;甚至只要稍做修改,GameService也可移植到基于C#平台的连连看游戏中。
备注:征得《疯狂Java实战演义》作者杨恩雄的同意,本游戏的GameService组件基本上使用了《疯狂Java实战演义》第7章案例的GameService组件。
定义GameService组件接口
根据前面程序对GameService组件的依赖,程序需要GameService组件包含如下方法:
1.start():初始化游戏状态,开始游戏的方法。
2. Piece[][] getPieces():返回表示游戏状态的Piece[][]数组。
3.boolean hasPieces():判断Piece[][]数组中是否还剩Piece对象;如果所有Piece都被消除了,游戏也就胜利了。
4.Piece findPiece(float touchX, float touchY):根据触碰点的X、Y座标来获取
5.LinkInfo link(Piece p1, Piece p2):判断p1、p2两个方块是否可以相连。
为了考虑以后的可扩展性,先为GameService组件定义如下接口:
程序清单:codes\18\Link\src\org\crazyit\link\board\GameService.java
public interface GameService
{
/**
* 控制游戏开始的方法
*/
void start();
/**
* 定义一个接口方法, 用于返回一个二维数组
* @return 存放方块对象的二维数组
*/
Piece[][] getPieces();
/**
* 判断参数Piece[][]数组中是否还存在非空的Piece对象
* @return 如果还剩Piece对象返回true, 没有返回false
*/
boolean hasPieces();
/**
* 根据鼠标的x座标和y座标, 查找出一个Piece对象
* @param touchX 鼠标点击的x座标
* @param touchY 鼠标点击的y座标
* @return 返回对应的Piece对象, 没有返回null
*/
Piece findPiece(float touchX, float touchY);
/**
* 判断两个Piece是否可以相连, 可以连接, 返回LinkInfo对象
* @param p1 第一个Piece对象
* @param p2 第二个Piece对象
* @return 如果可以相连,返回LinkInfo对象, 如果两个Piece不可以连接, 返回null
*/
LinkInfo link(Piece p1, Piece p2);
}(未完.摘自[疯狂Android讲义.李刚])
public interface GameService
{
/**
* 控制游戏开始的方法
*/
void start();
/**
* 定义一个接口方法, 用于返回一个二维数组
* @return 存放方块对象的二维数组
*/
Piece[][] getPieces();
/**
* 判断参数Piece[][]数组中是否还存在非空的Piece对象
* @return 如果还剩Piece对象返回true, 没有返回false
*/
boolean hasPieces();
/**
* 根据鼠标的x座标和y座标, 查找出一个Piece对象
* @param touchX 鼠标点击的x座标
* @param touchY 鼠标点击的y座标
* @return 返回对应的Piece对象, 没有返回null
*/
Piece findPiece(float touchX, float touchY);
/**
* 判断两个Piece是否可以相连, 可以连接, 返回LinkInfo对象
* @param p1 第一个Piece对象
* @param p2 第二个Piece对象
* @return 如果可以相连,返回LinkInfo对象, 如果两个Piece不可以连接, 返回null
*/
LinkInfo link(Piece p1, Piece p2);
}(未完.摘自[疯狂Android讲义.李刚])
public interface GameService
{
/**
* 控制游戏开始的方法
*/
void start();
/**
* 定义一个接口方法, 用于返回一个二维数组
* @return 存放方块对象的二维数组
*/
Piece[][] getPieces();
/**
* 判断参数Piece[][]数组中是否还存在非空的Piece对象
* @return 如果还剩Piece对象返回true, 没有返回false
*/
boolean hasPieces();
/**
* 根据鼠标的x座标和y座标, 查找出一个Piece对象
* @param touchX 鼠标点击的x座标
* @param touchY 鼠标点击的y座标
* @return 返回对应的Piece对象, 没有返回null
*/
Piece findPiece(float touchX, float touchY);
/**
* 判断两个Piece是否可以相连, 可以连接, 返回LinkInfo对象
* @param p1 第一个Piece对象
* @param p2 第二个Piece对象
* @return 如果可以相连,返回LinkInfo对象, 如果两个Piece不可以连接, 返回null
*/
LinkInfo link(Piece p1, Piece p2);
}(未完.摘自[疯狂Android讲义.李刚])
原文出处:疯狂软件教育java培训http://www.fkjava.org/newsView-420.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-12 00:47 , Processed in 0.325492 second(s), 38 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表