分享好友 天南地北首页 网站导航

android扫雷有什么推荐吗

网友发布 2023-07-29 21:46 · 头闻号游戏应用

1.游戏规则

扫雷是玩法极其简单的小游戏,点击玩家认为不存在雷的区域,标记出全部地雷所在的区域,即可获得胜利。当点击不包含雷的块的时候,可能它底下存在一个数,也可能是一个空白块。当点击中有数字的块时,游戏会展现当前点击块所包含的数字。当点击空白块时,地图会展开,形成一个大小和形状不规则的图形,该图形的边界时数字块,也可以想成展开的是一个被数字包围着的不规则图形。

1.1? 数字生成规则

扫雷游戏中是通过数字来判断雷的位置的,那么,数字的生成规则是什么呢?假设游戏中只有一个雷,那么,他的将被1这个数字包围着,如果遇到边界就忽略。如图:

1

1

1

1

1

1

1

1

1

1

1

可见,游戏是先生成雷然后再根据雷的位置生成数字的,我们再看下面的图:

1

1

1

1

2

1

2

1

1

1

在上图中,块中有两个数字为2的块,它是数字叠加的结果,围绕着雷的区域重合了,重合的区域块的数字相加,该块的数字就会变成相加后的数字。

1.2? 本博文的例子扫雷的规则

玩家需要把所有的空白块点开,留下玩家认为有雷的块,当所剩余的块数和雷的数量相等时,玩家胜利。如果在此之前,点到有雷的方块,玩家失败。

2. 游戏的算法和数据结构

2.1? 空白块展开算法

空白块的展开几乎是扫雷游戏的核心了。上面说到,扫雷游戏时,点中空白块,游戏的地图块就会展开,我们可以观察到:空白块是一层一层展开的,所以,地图展开算法我们就用广度优先搜索。也许有人会问:可以用深度优先搜索算法吗?答案是可以的,但是如果在这里用的话,效率会比广度优先搜索算法效率低。

2.2 扫雷的数据结构

(1)方向数组

int[][] dir={

{-1,1},//左上角

{0,1},//正上

{1,1},//右上角

{-1,0},//正左

{1,0},//正右

{-1,-1},//左下角

{0,-1},//正下

{1,-1}//右下角

};

方向数组在展开空白块的时候回用到,因为广度优先遍历就是在地图中朝各个方向走。

(2)Tile类

该类表示游戏中的“块”,我们给它声明三个成员。

short? value;

boolean flag;

boolean open;

value存储该块的值。-1表示雷块;0表示空白块;>0代表数字块。

flag存储该雷是否被玩家标记(在本例子中无作用,保留,方便扩展)。

open存储该块是否被用户点开过。

(3)Tile数组

Tile数组代表块的集合,及游戏的地图,存储着游戏的主要数据。

(3)Point类

Point类代表“位置”,声明Point类方便我们在地图中生成随机位置的雷。Point类还要重写hashCode和equals方法,为了比较位置与位置是否相同。

(4)Mine类

对上面的数据结构的封装。

Mine构造函数:对游戏地图的参数设置,比如绘制的位置,绘制的大小,块的大小,生成的雷数等。

init()方法:清空并初始化游戏地图。

create(Point p)方法:在地图中随机生成雷的位置,并产生数字。参数p是不产生雷的位置,p点可以传入用户第一次点击时的位置。生成随机位置的雷比较快速的办法是:先把地图中除p位置外所有的位置加入到链表中,然后生成0到链表大小-1之间的随机数,根据生成的随机数在链表中取元素,取完元素就把该位置从链表中移除,并把Tile数组中该位置的Tile的value设为-1。重复执行以上操作,直到生成的雷个数满足要求。产生数字的办法:遍历Tile数组,遇到雷就将他身边的八个的位置的value值加1,如果八个位置中有雷,或者该位置不存在,不执行任何操作。

open(Point p,boolean isFirst)方法:p代表点开某个位置的块,即Tile数组的索引。isFirst传入是否是第一次点击屏幕。该方法要对是不是第一次点击而作不同的操作,当玩家第一次点击块时,调用create函数生成地图。否则就进行展开地图等操作。

(5)MainView类

视图类,负责绘图和操作Mine对象。

3. 代码示例

Mine.java

详细

android系统7.0寸的平板,有哪些好玩的游戏推荐?

手机游戏可以根据游戏本身的不同,而分成文字类游戏和图形类游戏两种。 1.概述

文字类游戏是以文字交换为游戏形式的游戏。这种游戏一般都是通过玩家按照游戏本身发给您的手机的提示,来回复相应信息进行的游戏。举一个简单的例子,短信游戏“虚拟宠物”就是典型的文字类游戏。在游戏中,游戏服务商会给您一些短信提示,比如服务商可能会给你发送如下短信“您的宠物饥饿度:70,饥渴度:20,疲劳度:20,喂食请回复内容为数字‘1’的信息,喂水请回复内容为数字‘2’的信息,休息请回复数字‘3’……”等等,那么,您回复数字“1”之后,游戏会给您回一个信息“您的宠物已经喂食完毕,您的宠物的饥饿度变为20”,如此类推,您便可以通过手机短信的方法来进行游戏了。

2.文字类游戏主要分为两种 A,短信游戏 B,Wap浏览器游戏 就好像“虚拟宠物”那样。短信游戏是通过玩家和游戏服务商通过短信中的文字的内容来交流,达到进行游戏的目的的一种文字游戏。

由于短信游戏的整个游戏过程都是通过文字来表达,造成短信游戏的娱乐性较差。但是短信游戏却是兼容性最好的手机游戏之一。只要您的手机可以发短信,您就可以畅快的享受短信游戏给您带来的快乐了。 Wap是一种手机拨号上网的网络服务。而Wap浏览器游戏就好像我们用电脑上网,并通过浏览器浏览网页来进行的简单游戏一样,也属于一种文字游戏。其进行方法和短信游戏类似,玩家可以根据Wap浏览器浏览到的页面上的提示,通过选择各种不同的选项的方法来进行游戏。Wap游戏也有短信游戏不够直观的缺点。

综观文字类游戏,其都有着一个共同的特点,即游戏是通过文字描述来进行的。游戏过程中,需要玩家进行过多的想象,使得游戏相对比较单调。虽然已经有彩信等特服务可以让这类游戏更加人性化,但是其本质依然无法改变。而且,对于文字类游戏来说,其不低的价格门槛依旧是制约其发展的一大瓶颈。 1.概述

图形类游戏更接近我们常说的“电视游戏”,玩家通过动画的形式来发展情节进行游戏。由于游戏采用了更为直观且更为精美的画面直接表现,因此图形类游戏的游戏性和代入感往往较文字类游戏高。因此广受玩家们的欢迎。

2.图形类游戏主要分为:

(仅包含国内出现的游戏类型)

A,嵌入式游戏

B,java游戏

C,Brew游戏

D,Uni-java游戏

E,android小游戏 嵌入式游戏是一种将游戏程序预先固化在手机的芯片中的游戏。由于这种游戏的所有数据都是预先固化在手机芯片中的,因此这种游戏无法进行任何修改。也就是说,您不能更换其它的游戏,只能玩您的手机中已经存在的游戏,且您也不能将它们删除。

诺基亚早期手机中的“贪吃蛇1、2”就是嵌入式游戏的典型例子。 Java是一种程序语言,具体是什么程序语言我们完全没有必要知道。作为游戏一族,我们只需要知道两件事:

第一,您的手机是否支持Java,要了解这一点您可以查阅您的手机的说明书,或者直接询问经销商。

第二,您挑选的Java游戏是否支持您的手机,要了解这一点,您可以参阅“为什么手机游戏也会有兼容性问题”。

在这里,有一个误区需要解释,那就是有时候我们说起java游戏,往往第一个想到的可能就是高端的手机配置,事实上这是一个意识形态上大大的误区。因为手机并不是电脑,“配置”这个词对于我们来说根本没有意义。 Uni-Java是中国联通刚刚为其手机准备的一个新的通用开发平台,2003年9月26日成立的开发团,还没有基于Uni-java的手机推出。但是在不久的将来,Uni-java必将是联通的一把利器。

Android小游戏

随着android手机的兴起,android游戏也开始慢慢火热起来,比如出名的有会说话的tom猫,捕鱼达人等.2012年众多互联网企业开始界入手机业务,以前受性能限制的手机游戏随着硬件的提高也会有很大的发展.

不知道你的平板是什么牌子配置怎么样,先推荐几款好一点的3D游戏吧

1,武士II

2,地牢守护者2

3,黑帮时代

4,外星人Zixxby

v0.1

Beta

5,现代战争2:黑色飞马

6,混沌与秩序(这个是网游,画面挺不错的)

如果以上游戏你的机器跑不起来,那再推荐几个一般手机平板都能玩的小游戏

1,愤怒的小鸟

2,水果忍者

3,忍者跳跳跳

4,植物大战僵尸

5,虫虫部落

以上全是我个人喜欢玩的,推荐给你

免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报

举报
反对 0
打赏 0
更多相关文章

收藏

点赞