Android源码下载:五子消除游戏
创始人
2025-01-09 12:31:58
0

功能分类:休闲益智

支持平台:Android

运行环境:Android

开发语言:Java

开发工具:Ecppse

源码大小:5.43MB

源码下载地址:http://down.51cto.com/data/1975239

源码简介

一款过去比较流行的五子消除游戏源码。早期研究过,希望有兴趣的朋友们可以一起研究+探讨一下。

源码运行截图

游戏Splash界面

游戏初始双方对阵

游戏成功时,计分,并且控件消失

源码片段:

  1. //游戏涉及到的部分算法片段 
  2. /** 
  3.      * 宽度优先搜索方法 
  4.      * @param from 开始点 
  5.      * @param to 结束点 
  6.      * @param beads 珠子二维数组 
  7.      * @return 
  8.      */ 
  9.     private boolean isLink(Point from, final Point to, Bead[][] beads) { 
  10.         // 第一步:记录走过的点 
  11.         invalidPoints.add(from); 
  12.         // 第二步:获取上、右、左、下四个点。 
  13.         Point[] points = { 
  14.             new Point(from.x, from.y - 1), 
  15.             new Point(from.x, from.y + 1), 
  16.             new Point(from.x - 1, from.y), 
  17.             new Point(from.x + 1, from.y) 
  18.         }; 
  19.         // 第三步:判断四个点是否有效或者是目的点。 
  20.         List temp = new ArrayList(); 
  21.         for (Point p : points){ 
  22.             // 是不是到了目地点 
  23.             if (p.equals(to)){ 
  24.                 pathPoints.add(p); 
  25.                 return true; 
  26.             } 
  27.             if (isCheck(p,  beads)){ 
  28.                 temp.add(p); 
  29.             } 
  30.         } 
  31.         // 第四步:判断有效点是否全部占完。 
  32.         if (temp.isEmpty()) return false; 
  33.           
  34.         // 第五步:对有效点进按最短路径排序。 
  35.         Collections.sort(temp, new Comparator() { 
  36.             @Override 
  37.             public int compare(Point p1, Point p2) { 
  38.                 double r1 = Math.sqrt((p1.x - to.x) * (p1.x - to.x) + (p1.y - to.y) * (p1.y - to.y)); 
  39.                 double r2 = Math.sqrt((p2.x - to.x) * (p2.x - to.x) + (p2.y - to.y) * (p2.y - to.y)); 
  40.                 return r1 < r2 ? -1 : 0; 
  41.             } 
  42.         }); 
  43.         // 第六步:递归找出有效点及到搜索到目的点或有效点全部搜索完毕。 
  44.         for (Point p : temp){ 
  45.             boolean flag = isLink(p, to, beads); 
  46.             if (flag){ 
  47.                 pathPoints.add(p); 
  48.                 return true; 
  49.             } 
  50.         } 
  51.         return false; 
  52.     } 

源码下载地址:http://down.51cto.com/data/1975239

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...