重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
有不少错,我重新写了一个……
创新互联服务项目包括柳南网站建设、柳南网站制作、柳南网页制作以及柳南网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,柳南网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到柳南省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
你这里,首先
String"布"=String.valueOf(n);
这句话很诡异,“布”是字符串常量,就不能放在变量的位置,可以写成String bu = String.valueOf(n);其余类似。
然后,你定义了m为char类型的,应该是不能和String类型的相比较的。在双引号里的就是String的,要单引号才是字符型的。
然后,定义了pa(int) ,在调用的时候就不能无参调用,但是你main()函数里写的pa调用就是无参调用,这样会找不到函数。
再然后,既然pa(int),这个主要的函数都跑完了,不知道你再调用pb()是想做什么。
因为你定义了pa是static的,所以实际上也就不需要再创建Cai的对象出来了。
此外,random方法是定义了0-1的随机数,你乘以2取整的话,是不是只能取到0和1呢?(嗯,即使能取到2,这个取到2的几率也会比较小吧?呃,这个我不清楚,纯粹在怀疑)
然后,下面写了一个,结果由用户的输入决定,界面稍微友好了一点。但是还有很多问题,比如不能处理错误,而且游戏不能重复玩,这些都有点麻烦,所以就没写了,基本的你可以参考下。
if (point.lng = Math.min(curPt.lng, nextPt.lng) point.lng = Math.max(curPt.lng, nextPt.lng)
point.lat = Math.min(curPt.lat, nextPt.lat) point.lat = Math.max(curPt.lat, nextPt.lat)){
//判断点是否在直线上公式
var precision = (curPt.lng - point.lng) * (nextPt.lat - point.lat) -
(nextPt.lng - point.lng) * (curPt.lat - point.lat);
if(precision 2e-10 precision -2e-10){//实质判断是否接近0
return true;
}
}
当前位置:首页 知识 正文
Java实现经典游戏之大鱼吃小鱼
目录
一、项目演示
二、项目实现
1.创建游戏窗口
2.添加背景图片
3.制作封面
4.启动页面的点击事件
5.游戏开始时的背景添加
6.双缓存解决闪屏问题
7.敌方第一条小雨的添加
8.敌方左方小鱼的批量添加
9.我方鱼的生成
10.我方鱼与敌方小鱼的碰撞测试
11.游戏积分的实现
12.关卡的设置
13.界面优化
14.右侧敌方鱼和多种敌方鱼的生成
15.boss鱼的添加
16.游戏暂停功能和重新开始功能的实现
一、项目演示
点击观看项目演示视频
二、项目实现 1.创建游戏窗口
创建一个游戏窗口类 GameWin,创建一个 launch() 启动方法,在其中设置窗口相关属性:
import javax.swing.*;
public class GameWin extends JFrame {
int width = 1440;
int height = 900;
//创建一个启动方法,设置窗口信息
public void launch() {
this.setVisible(true); //设置窗口可见
this.setSize(width, height); //设置窗口大小
this.setLocationRelativeTo(null); //设置窗口居中
this.setResizable(false); //设置窗口大小不可改变
this.setTitle("大鱼吃小鱼"); //设置窗口标题
this.setDefaultCloseOperation(EXIT_ON_CLOSE); //设置窗口按钮
}
}
创建一个游戏窗口测试类 GameWinDemo,进行窗口对象的创建和启动方法的调用:
public class GameWinDemo {
public static void main(S
先定义坐标,当大鱼的坐标和小鱼相同时,加载小鱼图片的控件的VISIBLE属性=FALSE