资源简介
实验目的:学会使用多线程进行并发程序设计。
实验内容:编写一个应用程序模拟大炮打飞机。在GUI界面上,飞机水平飞行,用界面上的按钮控制大炮的运行方向(如向左,向右,向上,向下)。当炮弹碰着飞机后,飞机坠落。

代码片段和文件信息
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.util.List;
public class Bullet {
public static final int SPEED = 10;
public static final int WIDTH = 10;
public static final int HEIGHT = 10;
int x y;
boolean live=true;
Client client;
public Bullet(int x int y Client client) {
this.x = x;
this.y = y;
this.client = client;
client.bulletCount++;
}
public void draw(Graphics g) {
if (!live) return;
Color c = g.getColor();
g.setColor(Color.orange);
g.fillOval(xyWIDTH HEIGHT);
g.setColor(c);
move();
}
public void move() {
y-=SPEED*Math.cos(Math.PI * Cannon.angel/180);
x-=SPEED*Math.sin(Math.PI * Cannon.angel/180);
if (x < 0 || y < 0 || x > client.GAME_WIDTH || y > client.GAME_HEIGH) {
client.bullets.remove(this);
}
}
public boolean hitPlane(Plane p) {
if (this.live && this.getRect().intersects(p.getRect()) && p.isLive()) {
//Explode e = new Explode(x y client);
//client.explodes.add(e);
Crash c = new Crash(xyclient);
client.crashs.add(c);
client.planes.remove(p);
client.bullets.remove(this);
client.score++;
return true;
} else
return false;
}
public boolean hitPlanes(List planes) {
for (int i = 0; i < planes.size(); ++i) {
if (hitPlane(planes.get(i))) {
return true;
}
}
return false;
}
public Rectangle getRect() {
return new Rectangle(x y WIDTH HEIGHT);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-08 14:25 images\
文件 38295 2018-06-07 12:09 images\boom.gif
文件 15895 2018-06-08 13:44 images\crash.png
文件 13602 2018-06-08 00:47 images\fire.png
文件 17259 2018-06-07 18:43 images\left.png
文件 1839 2018-06-06 23:27 images\plane.gif
文件 3931 2018-06-06 20:30 images\plane.png
文件 17480 2018-06-08 00:38 images\right.png
文件 1528 2018-06-08 14:04 Bullet.java
文件 1596 2018-06-07 18:03 Cannon.java
文件 5355 2018-06-08 14:02 Client.java
文件 948 2018-06-08 13:44 Crash.java
文件 1637 2018-06-08 13:44 Explode.java
文件 1047 2018-06-08 00:55 Plane.java
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论