用Java写的连连看小游戏——步骤分析

很多人写游戏都是从连连看或者五子棋这类的简单小游戏入手的,最近我也尝试着写了一个连连看,想要再梳理一遍其中的思路。

连连看的规则

连连看要求在一定范围内找到两个特征一样并且能够通过空白的通道在两折(直角)以内相连的东西,连续点击两个东西之后消除。
通常我们会选择用图片来进行匹配,这样更直观有趣。

如何存储连连看的数据

使用二维数组进行存储,每一个数组元素对应一个位置上的图片种类。
例如我们分别用1,2,3,4代表四个不同的图片,用0代表没有图片;那么二维数组{ {},{},{},{}}就相应地存储对应位置的数据。如果要对图片进行变更(连连看中的消除),那么只需要改变该位置对应的数组元素的值就行了(在这个例子中,消除就改为0)。

如何实现数组数据的初始化

  1. 一般来说连连看开始都会随机生成图片,此处的随机生成需要用到Random类里面的nextInt方法,能随机生成给定范围内的随机一个整数。
  2. 我们生成数组的时候要考虑一个问题:连连看相同的图片个数是偶数,这样才不会到最后形成落单的尴尬局面。
//随机给出数组值,初始化游戏数据
		public int[][] DATA(int[][] data){
   
			
			int[][] d=data;
			Random random=new Random();
			for(int i=0;i<8;i++){
   
				d[0][i]=0;
				d[7][i]=0;
			}
			for(int i=1;i<7;i++){
   
				d[i][0]=0;
				d[i][7]=0;
			}
			for(int i=0;i<18;i++){
   
				
			
				int m=random.nextInt(Const.Const_TYPECOUNNT)+1;
				int x1=random.nextInt(Const.COL)+1;
				int y1=random.nextInt(Const.COL)+1;
				
				while(d[x1][y1]!=0){
   
					
					x1=random.nextInt(Const.COL)+1;
					y1=random.nextInt(Const.COL)+1;
				}
				d[x1][y1]=m;	
				int x2=random.nextInt(Const.COL)+1;
				int y2
  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值