关闭

简单匹配游戏的制作

标签: android游戏eclipse
191人阅读 评论(0) 收藏 举报
分类:

刚接触安卓时写下的一个匹配小游戏,只要有初步的安卓的基础就可以实现。(所谓的初步基础:即了解开发环境eclipse的使用,

了解安卓项目下的目录结构,理解安卓的Activity的生命周期,会拖拉界面和基本的布局,能对控件进行事件监听等等)
友情提示:本篇针对刚刚接触安卓的童鞋,大牛可直接忽视。
废话不多说,直接说正题:


游戏玩法

点击相应的牌,即可实现翻转的效果,点击到两张相同的牌即可实现消除,一直到所有图片都被消除,游戏即通关。
游戏较简单就只有2个界面,一个主菜单界面一个游戏界面,如下所示:
这里写图片描述
这里写图片描述

主要实现逻辑

翻牌的效果实现:利用一个xml文件,配置一个图片状态的资源,在界面中拉一个ImageView,资源引用为刚刚创建的xml文件,即

可实现点击就翻牌的效果,由于这个xml文件相当于一个图片资源,所以要在资源文件夹中的相应的图片资源中建立xml,因为做的是点击翻牌的效果,选择selector元素类型,如下图所示:
这里写图片描述
内容为:
这里写图片描述
设置不同状态时的图片内容,state_pressed值为true表示点击时(牌的正面),为false表示无点击时(松开时,牌的背面图片)
之后根据图片的数量建立其/2的图片状态文件(即上述的xml文件),拉出同数量的图片个数的ImageView,相应的按钮等,布局要调整好。

为了能够打乱顺序,建立一个图片状态资源(引用的是上述建立的xml)的数组,
建立资源数组:
这里写图片描述
获取所有相应的控件,给每个ImageView都设置事件监听:
这里写图片描述
img1.setImageDrawable为给每个ImageView资源

然后需定义一个整型的成员变量touchTimes(即点击图片次数),分别根据点击次数奇偶来进行判断,初值为0在onCreate记得赋值,即偶数次时需获得所触摸图片的资源,奇数次时判断是否匹配,每次有点击都需touchTimes++。(增加点击次数)
另外两个方法解释:
gettouchR();用来获取所触摸的ImageView和资源ID,代码如下:
这里写图片描述
vId为获取到的ImageView控件,rId为整型变量,用来存储其点击的图片资源,两个均为定义的成员变量。

judgesame();判断两张图片是否匹配,与偶数次保存的图片资源进行比较,若相同,则调整图片资源透明度为0(消失效果),并设置两个ImageView都为不可点击。(怎么会有两个?因为另一个为作为成员变量的vId在偶数次中赋值保存,gettouchR中方法获取到的。设置不可点击是因为这样就不会再相应监听的点击事件而出现图片又再次出现的bug.)并做了游戏通关的判断,用匹配成功的次数,也是定义一个整形成员变量success,每次匹配成功自增,当完成为所要求的配对次数或其倍数时通关。(在这里还做了匹配成功和失败的相应音效即成功的音乐)
这里写图片描述

再写一个重置游戏的方法,里面调用了打乱顺序的方法,并要恢复ImageView的透明度,使其显示,并把按钮恢复成可以点击的状态,这样游戏的基本逻辑也就全部完成。

程序源码下载

0
0
查看评论

python 简单游戏制作

原文 http://forum.codecall.net/topic/50892-tic-tac-toe-in-python/ I will in this tutorial show how to make a Tic-Tac-Toe game in Python. It...
  • redmoon729
  • redmoon729
  • 2015-04-09 17:29
  • 700

游戏实例——简单小地图制作

任何的学习,光看不练是学不好的。所以这次就总结回顾下怎么制作MMROPG类游戏中的小地图。在MMROPG类游戏里,主角在游戏世界里走动时,一般在屏幕右上角都会有一个区域来显示当前游戏场景的小地图。主角在游戏世界里走动,小地图里代表着主角的小标记也会随之移动。那怎么实现咧? 首先需要确定两个贴图...
  • XYK0318
  • XYK0318
  • 2016-03-31 09:37
  • 1652

Java课程学习十一:图片匹配游戏

图片匹配游戏 引用转载请注明出处,Thanks! 通过为标签空间添加图形以及鼠标事件,完成图片配对的游戏。[1]JFrame 简介:Swing的三个基本构造块:标签、按钮和文本字段;但是需要个地方安放它们,并希望用户知道如何处理它们。JFrame 类就是解决这个问题的——它是一个容器,允许程序...
  • iceyung
  • iceyung
  • 2017-11-24 16:11
  • 298

自己做的一个超级简单的小游戏

自己做了一个简单的uniy3d小游戏方向键控制一个小球躲避别的小球,撞到指定的墙胜利,被别的球撞到失败。初学者练手 Playermove Enemymove Islose_Trigger Spawn Camera follow_player UI WallIsWin游戏图片 代码playerp...
  • zhuguoqinglo
  • zhuguoqinglo
  • 2017-04-14 10:14
  • 763

如何制作一个简单的游戏(3) Cocos2d-x 2.0.4

在第一篇《如何制作一个简单的游戏》和第二篇《如何制作一个简单的游戏(2)》基础上,增加游戏难度和关卡。原文《How To Make A Simple iPhone Game with Cocos2D 2.X Part 3》,在这里继续以Cocos2d-x进行实现。有关源码、资源等在文章下面给出了...
  • akof1314
  • akof1314
  • 2012-12-14 09:42
  • 8060

Flash制作简单塔防游戏(一)

玩过塔防游戏,基本上就是一堆大小怪物沿着固定路径行走,玩家在地图上某些点放置武器歼灭他们。 首先让我们准备一张简陋的地图 黄色的表示怪物行走路径,箭头表示行走的方向,路上的红色圆点坐标用来作为路径的数据,怪物根据这些数据进行行走。 行走的实现原理如下: 物体要从A点移动到B点,速率为...
  • MeetLunay
  • MeetLunay
  • 2013-06-26 10:19
  • 2857

java 简单的扫雷游戏

//扫雷游戏 package Bible001; import javax.swing.*; import java.awt.event.*; import java.awt.*; public class Mine extends MouseAdapter { private JFrame m...
  • u014657292
  • u014657292
  • 2014-04-27 20:33
  • 2526

java小游戏第一弹 简易俄罗斯

简易俄罗斯方块
  • jrdgogo
  • jrdgogo
  • 2016-03-02 14:51
  • 4061

使用UE4制作简单的局域网对战小游戏

原帖地址:https://arcecho.github.io/2017/04/28/使用UE4制作简单的局域网对战小游戏/ 大多数文章都是只讲到大致的UE4网络的概念,并未涉及实际使用。事实上在使用的时候还是有很多要注意的地方。这篇文章会展示如何使用蓝图制作一个简单的局域网对战小游戏及使用UE...
  • qq_24835213
  • qq_24835213
  • 2017-05-06 09:32
  • 2503

Unity3D 创建一个简单的2D游戏

http://www.cnblogs.com/sunxun/p/4889462.html 开始研究Unity3d 中的2D游戏。 首先创建出一个项目: 然后创建出一个场景: 然后添加一个背景: 然后创建一个主人公对象: 可以是自己做的素...
  • y13156556538
  • y13156556538
  • 2016-10-02 12:36
  • 3885
    个人资料
    • 访问:183次
    • 积分:12
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档
    阅读排行