樱花落尽雪未央 樱花落尽雪未央
关注数: 1 粉丝数: 8 发帖数: 216 关注贴吧数: 7
请教吧里的同学前辈们关于类似《天天爱消除》游戏的图片交换问题 最近有个作业是要写一个类似天天爱消除的游戏,游戏的规则啥的改了点。 是要求用java语言在客户端上写,先后点击相邻的宠物,完成图片交换,如果能够出现“三连”等,就会被消除掉,而如果交换后没有出现三连,就要换回来 遇到的代码问题是两次相邻的点击之后,宠物图片交换,检测完不能消除时,则再把图片换回来。。。。。。一开始不写换回来,还能交换的,后来加上换回的代码,整个两次点击,图片都是不动的。 想问下各位,有没有写过这个游戏的或者写过遇到图片交换的项目的,能不能指导下小弟,方法或者代码贴来看下,感激不尽啊。 附代码片段如下: /* * 将相邻的点击之后的宠物放在一个队列中,pet1是后点击的,pet2是先点击的 * 这是它们的交换方法 */ Pet pet1=list.get(1); Pet pet2=list.get(0); //先保存下来各自的行列 int row1=pet1.row; int col1=pet1.col; int row2=pet2.row; int col2=pet2.col; //这个是检测两个相邻,先点左边,再点右边 if(pet1.row==pet2.row&&pet1.col-pet2.col==1){ //图片交换 pet1.setCol(pet1.col-1); pet2.setCol(pet2.col+1); /*这是包装了Thread.sleep(millis)方法的工具类,主要经常用到,要抛异常 *等到图片运动到位之后,把游戏界面上的数组里的宠物对象更新一下 */ Util.sleep(200); //更新宠物对象 PlayStation.pets[row2][col2]=pet1; PlayStation.pets[row1][col1]=pet2; //如果不能消除掉 if(!ps.eliminate("row",pet2,pet1)){ //把宠物图片换回来,跟上边的类似 pet1.setCol(pet1.col+1); pet2.setCol(pet2.col-1); Util.sleep(200); PlayStation.pets[row1][col1]=pet1; PlayStation.pets[row2][col2]=pet2; } return; }
1 下一页