iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何在Android应用中利用数据模型实现一个连连看小游戏
  • 470
分享到

如何在Android应用中利用数据模型实现一个连连看小游戏

androidroi 2023-05-31 07:05:56 470人浏览 薄情痞子
摘要

这期内容当中小编将会给大家带来有关如何在Android应用中利用数据模型实现一个连连看小游戏,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、定义数据模型连连看的界面是一个NxM的“网格”,每个网格上显示

这期内容当中小编将会给大家带来有关如何在Android应用中利用数据模型实现一个连连看小游戏,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

1、定义数据模型

连连看的界面是一个NxM的“网格”,每个网格上显示一张图片。而这个网格只需要一个二维数组来定义即可,而每个网格上所显示的图片,对于底层数据模型来说,不同的图片对于着不同的数值即可。

如何在Android应用中利用数据模型实现一个连连看小游戏

对于上图所示的数据模型,只要让数值为0的网格上不绘制图片,其他数值的网格则绘制相应的图片,就可以显示出连连看的游戏界面了。

本程序采用Piece[][]来保存游戏的状态模型,因为Piece对象封装的信息不仅包含了该方块的左上角的X、Y坐标。而且还包含了该Piece所显示的图片、图片ID,这个图片ID就是该Piece的数据。

2、初始化游戏状态数据

为了初始化游戏状态,程序需要创建一个 Piece[][]数组,为此程序定义一个AbstractBoard抽象类,该抽象类代码如下:cn\oyp\link\board\AbstractBoard.java

package cn.oyp.link.board;  import java.util.List;  import cn.oyp.link.utils.GameConf; import cn.oyp.link.utils.ImageUtil; import cn.oyp.link.view.Piece; import cn.oyp.link.view.PieceImage;    public abstract class AbstractBoard {  // 定义一个抽象方法, 让子类去实现    protected abstract List<Piece> createPieces(GameConf config,   Piece[][] pieces);    public Piece[][] create(GameConf config) {  // 创建Piece[][]数组  Piece[][] pieces = new Piece[config.getXSize()][config.getYSize()];  // 返回非空的Piece集合, 该集合由子类去创建  List<Piece> notNullPieces = createPieces(config, pieces);  // 根据非空Piece对象的集合的大小来取图片  List<PieceImage> playImages = ImageUtil.getPlayImages(   config.getContext(), notNullPieces.size());  // 所有图片的宽、高都是相同的  int imageWidth = playImages.get(0).getImage().getWidth();  int imageHeight = playImages.get(0).getImage().getHeight();  // 遍历非空的Piece集合  for (int i = 0; i < notNullPieces.size(); i++) {   // 依次获取每个Piece对象   Piece piece = notNullPieces.get(i);   piece.setPieceImage(playImages.get(i));   // 计算每个方块左上角的X、Y座标   piece.setBeginX(piece.getIndexX() * imageWidth    + config.getBeginImageX());   piece.setBeginY(piece.getIndexY() * imageHeight    + config.getBeginImageY());   // 将该方块对象放入方块数组的相应位置处   pieces[piece.getIndexX()][piece.getIndexY()] = piece;  }  return pieces;  } } 

--结束END--

本文标题: 如何在Android应用中利用数据模型实现一个连连看小游戏

本文链接: https://www.lsjlt.com/news/224222.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在Android应用中利用数据模型实现一个连连看小游戏
    这期内容当中小编将会给大家带来有关如何在Android应用中利用数据模型实现一个连连看小游戏,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、定义数据模型连连看的界面是一个NxM的“网格”,每个网格上显示...
    99+
    2023-05-31
    android roi
  • 如何在android中利view实现一个推箱子小游戏
    如何在android中利view实现一个推箱子小游戏?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。自定义view:package com.jisai.materialdes...
    99+
    2023-05-31
    android view roi
  • 如何在python中利用pygame实现一个愤怒的小鸟游戏
    这篇文章将为大家详细讲解有关如何在python中利用pygame实现一个愤怒的小鸟游戏,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码展示import pygame,syspyg...
    99+
    2023-06-06
  • 如何利用Three.js实现跳一跳小游戏
    目录前言游戏规则Three.js整个程序的结构实现html文件引入three.js引擎页面结构场景相机几何体光源渲染添加第二块跳块鼠标按下状态鼠标松开弹起状态落在哪里结尾前言 跳一跳...
    99+
    2024-04-02
  • 怎么在Android应用中利用ListView实现一个选择模式
    怎么在Android应用中利用ListView实现一个选择模式?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ListView 定义了choiceMode属性,描述是这样的:用于...
    99+
    2023-05-31
    android roi listview
  • 如何在Android应用中利用SDK实现一个地图功能
    这期内容当中小编将会给大家带来有关如何在Android应用中利用SDK实现一个地图功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。找到控制台创建一个应用添加key名称,注意命名规范,还有就是下面的SHA...
    99+
    2023-05-31
    android sdk roi
  • 如何在Android应用中利用ListView实现一个分页功能
    今天就跟大家聊聊有关如何在Android应用中利用ListView实现一个分页功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android ListView分页简单实现分页,开发...
    99+
    2023-05-31
    android listview roi
  • 如何在Android应用中利用节点实现一个进度条
    如何在Android应用中利用节点实现一个进度条?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。main.xml<RelativeLayout xmlns:a...
    99+
    2023-05-31
    android 节点 roi
  • 如何在Android应用中利用Dialog实现一个动画效果
    今天就跟大家聊聊有关如何在Android应用中利用Dialog实现一个动画效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 创建两个动画文件window_in.xml:<&a...
    99+
    2023-05-31
    android dialog roi
  • 怎么在Android应用中利用模板实现一个Popwindow弹出框
    本篇文章为大家展示了怎么在Android应用中利用模板实现一个Popwindow弹出框,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 Pop弹出框public class ProductS...
    99+
    2023-05-31
    android popupwindow roi
  • 怎么在Android中使用WebSocket实现一个多人游戏
    今天就跟大家聊聊有关怎么在Android中使用WebSocket实现一个多人游戏,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。webSocket流程客户端开始连接------->...
    99+
    2023-05-30
    android websocket
  • 怎么在Android中使用ViewDragHelper实现一个拼图游戏
    本篇文章给大家分享的是有关怎么在Android中使用ViewDragHelper实现一个拼图游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。ViewDragHelper其实V...
    99+
    2023-05-30
    android viewdraghelper
  • 利用C语言如何实现一个扫雷游戏
    利用C语言如何实现一个扫雷游戏?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。菜单的实现代码:int main(){int input =&nb...
    99+
    2023-06-06
  • 如何在android应用中利用service实现一个计时器功能
    本篇文章给大家分享的是有关如何在android应用中利用service实现一个计时器功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先建立主页面的设计:activity_t...
    99+
    2023-05-31
    android service roi
  • 如何利用C语言实现猜数字小游戏
    这篇文章主要讲解了“如何利用C语言实现猜数字小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用C语言实现猜数字小游戏”吧!实现猜数字的游戏:要用程序完成以下几步:电脑自动生成随机数...
    99+
    2023-06-20
  • 如何在Android应用中利用Spinner实现一个下拉列表功能
    这期内容当中小编将会给大家带来有关如何在Android应用中利用Spinner实现一个下拉列表功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Spinner  Spinner是一个列表选择框,会在用户选...
    99+
    2023-05-31
    android spinner roi
  • 如何在Android应用中利用ADT实现一个离线下载功能
    今天就跟大家聊聊有关如何在Android应用中利用ADT实现一个离线下载功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android ADT 离线下载操作步骤可以利用在线安装地址...
    99+
    2023-05-31
    android adt roi
  • Android应用中怎么利用SharedPreferences实现一个数据存储功能
    这期内容当中小编将会给大家带来有关Android应用中怎么利用SharedPreferences实现一个数据存储功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。除了SQLite数据库外,SharedPr...
    99+
    2023-05-31
    android sharedpreferences roi
  • 如何在Android应用中利用ProgressBar实现一个直线进度条功能
    今天就跟大家聊聊有关如何在Android应用中利用ProgressBar实现一个直线进度条功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java代码:package com.ex...
    99+
    2023-05-31
    android progressbar gr
  • 如何在Android应用中利用DrawerLayout实现一个侧拉菜单栏功能
    如何在Android应用中利用DrawerLayout实现一个侧拉菜单栏功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。activity_main.xml<&#...
    99+
    2023-05-31
    android drawerlayout roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作