贪食蛇小项目记录

一些制作贪食蛇小游戏中遇到的问题

写在前面

整个小项目通俗上说是在画板上不断的画画,所以每当画完一次变化后,一定要repaint();!repaint();!repaint();!以及需要时间和动画一起进行,所以要让time动起来time.start();

1.在data_input资料类中若先创建一组头部URL运行start类后,再添加后面的URL对象后,会报空指针异常?

解决方法:1.有可能是你的资源路径选择有问题,相对路径换成绝对路径可能会解决问题。

​ 2.如果不是因为路径问题,那么就是因为idea中后面对象创建但并没有被加载进start启动类中,这时需要删除项目下的out文件夹下的项目.class文件,重启idea再编译运行就不再报错了。

2.当按下空格后,屏幕中间的字体并没有变换?

解决方法:一定注意在构造方法中设置捕获键盘监听函数!!!

一定注意在构造方法中设置捕获键盘监听函数!!!

一定注意在构造方法中设置捕获键盘监听函数!!!

没有捕获键盘,输入再多也没有进来。。。

在这里插入图片描述

3.当设置吃食物看起来明明吃到了,但是系统判断没有吃到的原因?

解决方法:这里的原因是没有完全按照要求的坐标去判断。

//食物碰撞判断
if(snakeX[0]==foodx&&snakeY[0]==foody){
    length++;
    score+=10;
    //重新生成食物
    foodx =25+ 25*random.nextInt(10);
    foody =75+25*random.nextInt(10);
	//foody=70+25*random.nextInt(10);
}

如代码中所示,若设置foody的坐标不是严格对照头部对应中心坐标,这里就会判断成没有碰撞,所以坐标对应计算精确很重要!

注:还有一种解决办法,就是允许蛇头可以在目标食物坐标小范围出现,不一定要精准定位到相等。但是,随之而来的可能是由于精准度带来的误判问题,有想法的小伙伴可以尝试一下。

4.打包成jar包

参考狂神视频教学:链接: link

最后

虽然是一个很小很小的小项目,但是当自己动手还是会出现各种各样的问题,感谢B站狂神的视频教学!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值