java坦克游戏代码(java小游戏代码)
admin 发布:2022-12-31 21:15 46
今天给各位分享java坦克游戏代码的知识,其中也会对java小游戏代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA 坦克大战
- 2、java坦克大战源代码 怎么导入
- 3、java版本坦克大战源代码
- 4、在java编写坦克大战游戏时,如何判断两辆坦克不能重叠运动,有什么简单的算法
- 5、java 编写坦克大战
JAVA 坦克大战
import java.awt.*;
import javax.swing.*;
public class Tank extends JFrame {
mypane mp=null;
Obj[] objs=new Obj[0];
public Tank() {
setTitle("坦克大战");
setSize(800,600);
pro();
add(new mypane(objs));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
//在这里添加键盘事件、鼠标事件、让坦克移动,修改objs数组对象让他们移动
setVisible(true);
}
private void pro(){
Obj[] tmp=new Obj[objs.length+1];
System.arraycopy(objs,0,tmp,0,objs.length);
tmp[tmp.length-1]=new Obj(1,1,0,1);
objs=tmp;
int num=(int)(Math.random()*5)+1;
for(int i=0;inum;i++){
int x=(int)(Math.random()*getWidth())+1;
int y=(int)(Math.random()*getHeight())+1;
int dir=(int)(Math.random()*4);
Obj[] dst=new Obj[objs.length+1];
System.arraycopy(objs,0,dst,0,objs.length);
dst[dst.length-1]=new Obj(x,y,1,dir);
objs=dst;
}
}
public static void main(String[] args) {
new Tank();
}
}
class Obj{
int x,y;//坦克坐标
int type;
int dir;
public Obj(int x,int y,int type,int dir){
this.x=x;
this.y=y;
this.type=type;
this.dir=dir;
}
}
class mypane extends JPanel{
Obj[] objs;
public mypane(Obj[] objs){
this.objs=objs;
}
public void paint(Graphics g) {
super.paint(g);
for(int i=0;iobjs.length;i++){
Obj obj=objs[i];
drawtank(obj.x,obj.y, g, obj.type, obj.dir);
}
g.dispose();
}
public void drawtank(int x,int y,Graphics g, int type,int direct) {
/*type 为坦克类型,敌方,我方*/
switch(type) {
case 0://我方坦克,设置为红色
g.setColor(Color.red);
break;
case 1://敌方坦克,设置为蓝色
g.setColor(Color.blue);
break;
}
switch(direct) {
case 0://坦克方向朝上
g.drawRect(0+x, 0+y, 5, 30);
g.drawRect(5+x, 5+y, 10,20);
g.drawRect(15+x,0+y, 5,30);
g.drawLine(10+x, 15+y, 10+10+x, 15+y);
break;
case 1://坦克方向朝右
g.drawRect(0+x, 0+y, 30, 5);
g.drawRect(5+x, 5+y, 20, 10);
g.drawRect(0+x, 15+y, 30, 5);
g.drawLine(15+x, 10+y, 30+15+x, 10+10+y);
break;
case 2://方向向下
g.drawRect(0+x, 0+y, 5, 30);
g.drawRect(5+x, 5+y, 10,20);
g.drawRect(15+x,0+y, 5,30);
g.drawLine(10+x, 15+y, 10+10+x, 30+15+y);
break;
case 3://方向向左
g.drawRect(0+x, 0+y, 30, 5);
g.drawRect(5+x, 5+y, 20, 10);
g.drawRect(0+x, 15+y, 30, 5);
g.drawLine(15+x, 10+y, 15+x, 10+10+y);
break;
}
}
}
java坦克大战源代码 怎么导入
坦克大战源代码应该是个完整的项目吧。
对于完整的带项目配置文件的java源码,按步骤操作即可:
File - Import - General
选择Existing Projects into Workspace,选择要导入的文件,点击“finish",OK。
java版本坦克大战源代码
给你一个猜数字游戏代码。辛辛苦苦打的,希望采纳。谢谢。 package caishuzi.java; import javax.swing.JOptionPane; public class caishuzi { public static void main (String args[ ]) { JOptionPane.showMessageDialog(null,"给你一个1至100...
在java编写坦克大战游戏时,如何判断两辆坦克不能重叠运动,有什么简单的算法
对于这个小游里面的类的抽象很重要,对坦克及其它类我在这里面就不定义了,其实J2SE的API里面就有关于图形重叠的算法,就是这个intersects()方法,具体伪代码如下:
public boolean collidesWithTanks(java.util.ListTank tanks) {
for(int i=0; itanks.size(); i++) {
Tank t = tanks.get(i);
if(this != t) {
if(this.live t.isLive() this.getRect().intersects(t.getRect())) {
this.stay();
t.stay();
return true;
}
}
}
return false;
}
您可以根据自己的实际需求来改写,在我的百度文库里面有关于“坦克大战”的所有代码,如果有需要我可以把代码发给你,可以通过百度HI联系我。
java 编写坦克大战
需要看你的tank的draw方法里的内容代码和碰撞检测代码。
一般二维碰撞检测基本都是以单位格,也就是坦克的大小格作为单位,提前一格判断两个方格是否交叉,如果交叉则在当前,也就是交叉后退后一格这个位置让它停止当前方向的移动。
关于java坦克游戏代码和java小游戏代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 06-03常见刮刮乐代码含义(刮刮乐上的代码)
- 08-03派出所代码表(派出所代码表大全两位数)
- 07-05派出所的组织代码(派出所机构代码在哪查)
- 05-19酒店代码在那里(酒店代码是什么)
- 09-03网易云音乐代码(网易云音乐代码大全)
- 08-01源代码查看答案(源代码怎么看答案)
- 09-22查看手机屏幕代码(手机查询屏幕代码)
- 08-22qq强行聊天代码(强制聊天器在线使用)
- 07-28网页代码怎么呼出(怎么样调出网页代码)
- 09-13怎么查看app源代码(如何查看手机app源代码)
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接