资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

坦克大战java代码报告 java代码实现截图的报告

java课程设计创意小游戏

① 求Java课程设计—小游戏(含源代码)

成都创新互联主要从事成都网站设计、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务万安,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

//hi./srxboys/item/8ce4743da1adc991c2cf29c4

Tank——坦克大战(简洁版)源代码-------(此文档是自己在韩顺平教程总结而来)

*功能:1.防止敌人的坦克重叠运动

*(决定把判断是否碰撞的函数写到EnemyTank类)

*2.可以分关

*2.1(做一个开始的Panel,它是一个空的)

*2.2开始字体闪烁

*3.可以在玩游戏的时候,暂停和继续

*3.1当用户点击暂停时,子弹的速度和坦克速度设为0,并让坦克的方向

*不要发生变化。

*4.可以记录玩家的成绩

*4.1用文件流的方式(小游戏)[大游戏是用的数据库cs,bs结构,三国]

*4.2单写一个记录类,完成对玩家的记录

*4.3先完成保存共击毁了多少辆敌人坦克的功能

*4.4存盘退出游戏,可以记录当时的敌人的坦克坐标,并可以恢复

*5.java如何操作声音文件

*/

② JAVA课程设计,求个能用eclipse实现小游戏或小程序的源代码。感激不尽

你自己来去下自载吧,这里面都有 //oschina/project/java

③ 用JAVA编写一个小游戏

前天写的猜数字游戏,yongi控制猜测次数,有详细解析,用黑窗口可以直接运行,

我试验过了,没问题

import javax.swing.Icon;

import javax.swing.JOptionPane;

public class CaiShuZi4JOptionPane {

/**

* @param args

*/

public static void main(String[] args) {

Icon icon = null;

boolean bl = false;

int put = 0;

int c = (int) (((Math.random())*100)+1); //获取一个1-100的随机数

System.out.println("你获取的随机数是:"+c); //打印你的随机数字

String str1 = (String) JOptionPane.showInputDialog(null,"请输入你的猜测数字(1-100): ","猜数字游戏",JOptionPane.PLAIN_MESSAGE,icon,null,"在这输入"); //第一次输入你的猜测数字

if(str1==null){

JOptionPane.showMessageDialog(null, "你已经取消了本次游戏"); //如果你点取消那么本次游戏结束

}else{

bl = num(str1); //判断是输入的是不是数字或者是整数

if(true==bl){ //如果是数字的话进入与随机数比较的程序

System.out.println("你输入的数字是:"+str1); //打印你输入的数字

put = Integer.valueOf(str1);

for(int i = 4;i 0;i--){ //i是你可以猜测的次数

if(put==c){

JOptionPane.showMessageDialog(null, "恭喜你猜对了,正确答案是:"+c+"。"); //如果你猜对了就直接结束循环

break;

}else if(putc){ //如果输大了就让你再次从新输入

str1 = (String) JOptionPane.showInputDialog(null,"你的输入过大。你还有"+i+"次机会,请重新输入: ","猜数字游戏",JOptionPane.PLAIN_MESSAGE,icon,null,"在这输入");

if(str1==null){

JOptionPane.showMessageDialog(null, "你已经取消了本次输入");

break;

}else{

bl =num(str1);

if(true==bl){

put = Integer.valueOf(str1);

}else{

JOptionPane.showMessageDialog(null, "你的输入不正确,请重新输入");

}

}

}else if(putc){ //如果你输小了也让你从新输入

str1 = (String) JOptionPane.showInputDialog(null,"你的输入过小。你还有"+i+"次机会,请重新输入: ","猜数字游戏",JOptionPane.PLAIN_MESSAGE,icon,null,"在这输入");

if(str1==null){

JOptionPane.showMessageDialog(null, "你已经取消了本次输入");

break;

}else{

bl =num(str1);

if(true==bl){

put = Integer.valueOf(str1);

}else{

JOptionPane.showMessageDialog(null, "你的输入不正确,请重新输入");

}

}

}

}

}else if(bl==false){ //这个 是你第一次如果填写的不是数字的话也会结束本次游戏

JOptionPane.showMessageDialog(null, "请您下次按要求填写。本次游戏结束");

}

if(true==bl c!=put){ //如果你i次都没猜对,那么就直接告诉你这个数十什么

JOptionPane.showMessageDialog(null, "很遗憾你没能猜对,这个数字是:"+c+".");

}

}

}

public static boolean num(String value){ //一个静态方法,判断你输入的是不是数字

try {

Integer.parseInt(value);

return true;

} catch (Exception e) {

return false;

}

}

}

④ 用java制作一个小游戏 教学

static Scanner in =new Scanner(System.in);

public static int aaa(){

int c = 0;

while(true){

try {

if(c999c10000){

break;

}else{

// System.out.println("请输入4位整数");

c= in.nextInt();

if(c999c10000){

break;

}else{

System.out.println("输入有误,请重新输入4位整数");

}

}

} catch (Exception e) {

System.out.println("请输入整数");

c= in.nextInt();

}

}

//in.close();

return c;

}

public static void cai(){

//Scanner sa =new Scanner(System.in);

int haoma=(int)(Math.random()*10000);

if(haoma999)

{

haoma = Integer.parseInt(String.valueOf(haoma)+"0");

}

System.out.println(haoma);

System.out.println("请输入一位4位整数");

int aa = 0;

while(true){

aa= aaa();

String pd=String.valueOf(aa);

if(pd.length()!=4){

aa = aaa();

}else{

break;

}

}

while(true){

if(aa==haoma){

System.out.println("你猜对了,可以去买彩票了");

}else{

System.out.println("抱歉 , 你猜错了");

}

System.out.println("是否继续1继续 其他结束");

try {

int ss = in.nextInt();

if(ss==1){

cai();

}else{

break;

}

} catch (Exception e) {

in.close();

break;

}

}

}

public static void main(String[] args) {

System.out.println("欢迎来到猜号小游戏");

cai();

System.out.println("over");

}

⑤ 想做一个java小游戏 谁能给几个创意啊 注意 是创意!!!!! 不是已有的有创意的小游戏

比如有东西扔过来,选择吃掉或者躲开,考反应吧。

⑥ 急求java课程设计,内容可以是小游戏的,如(迷宫,计算器,停车场之恋的),要能运行,谢谢

俄罗斯方块,贪吃蛇。推箱子。

⑦ 求JAVA期末课程设计,要那种开发的小项目软件。可以是像记事本那种,也可以是小游戏那种。

网上搜不到的一般是不可共享的资源,建议去图书馆找本专门针对课程设计的书,里面的资料很丰富,你可以照着做一下,并作功能上适当的增减,这样网上就很难找到了

java 坦克大战 一段代码 关于图像绘制 不懂 求解?

这个是双缓冲的绘制方法

if (offScreenImage == null)

{

offScreenImage = this.createImage(GAME_WIDTH, GAME_HEIGHT);

}

这里是先在内存中创建一个 offScreenImage 的缓冲图像

gOffScreen.drawImage(imgs, 0, 0, GAME_WIDTH, GAME_HEIGHT,null);

这里是将背景图片绘制到刚才创建的这块缓冲区上

paint(gOffScreen);

g.drawImage(offScreenImage, 0, 0, null);

这里是将缓冲区再绘制到实际屏幕上

采用双缓冲可以保证画面不会闪烁 因为图片的刷新都是发生在内存区上的 实际屏幕上用户是感觉不出来的 所以人眼感觉不到闪烁

求Java课程设计—小游戏(含源代码)

Tank——坦克大战(简洁版)源代码-------(此文档是自己在韩顺平教程总结而来)

*    功能: 1.防止敌人的坦克重叠运动

*             (决定把判断是否碰撞的函数写到EnemyTank类)

*          2.可以分关

*              2.1 (做一个开始的Panel,它是一个空的)

*              2.2 开始字体闪烁

*          3.可以在玩游戏的时候,暂停和继续

*              3.1当用户点击暂停时,子弹的速度和坦克速度设为0,并让坦克的方向

*                 不要发生变化。

*          4.可以记录玩家的成绩

*              4.1用文件流的方式(小游戏)[大游戏是用的数据库cs,bs结构,三国]

*              4.2单写一个记录类,完成对玩家的记录

*              4.3先完成保存共击毁了多少辆敌人坦克的功能

*              4.4存盘退出游戏,可以记录当时的敌人的坦克坐标,并可以恢复

*          5.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;

}

用Java做坦克大战暂停我出了个大问题

你应该用wait方法来停止线程的执行

或者是你的循环里在暂停的时候没有做延时,所以死循环了

还有一种方法,你可以在暂停的时候记录子弹和坦克的信息保存起来,然后结束掉线程,这样做你还可以实现保存的功能

(100分)Java写“坦克大战”

package com.bjsxt.tank;

import java.awt.Color;

import java.awt.Frame;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import java.util.Properties;

/**

* 这个类的作用是坦克游戏的主窗口

* @author mashibing

*

*/

public class TankClient extends Frame {

/**

* 整个坦克游戏的宽度

*/

public static final int GAME_WIDTH = 800;

public static final int GAME_HEIGHT = 600;

Tank myTank = new Tank(50, 50, true, Direction.STOP, this);

Wall w1 = new Wall(100, 200, 20, 150, this), w2 = new Wall(300, 100, 300, 20, this);

ListExplode explodes = new ArrayListExplode();

ListMissile missiles = new ArrayListMissile();

ListTank tanks = new ArrayListTank();

Image offScreenImage = null;

Blood b = new Blood();

public void paint(Graphics g) {

/*

* 指明子弹-爆炸-坦克的数量

* 以及坦克的生命值

*/

g.drawString("missiles count:" + missiles.size(), 10, 50);

g.drawString("explodes count:" + explodes.size(), 10, 70);

g.drawString("tanks count:" + tanks.size(), 10, 90);

g.drawString("tanks life:" + myTank.getLife(), 10, 110);

if(tanks.size() = 0) {

for(int i=0; iInteger.parseInt(PropertyMgr.getProperty("reProduceTankCount")); i++) {

tanks.add(new Tank(50 + 40*(i+1), 50, false, Direction.D, this));

}

}

for(int i=0; imissiles.size(); i++) {

Missile m = missiles.get(i);

m.hitTanks(tanks);

m.hitTank(myTank);

m.hitWall(w1);

m.hitWall(w2);

m.draw(g);

//if(!m.isLive()) missiles.remove(m);

//else m.draw(g);

}

for(int i=0; iexplodes.size(); i++) {

Explode e = explodes.get(i);

e.draw(g);

}

for(int i=0; itanks.size(); i++) {

Tank t = tanks.get(i);

t.collidesWithWall(w1);

t.collidesWithWall(w2);

t.collidesWithTanks(tanks);

t.draw(g);

}

myTank.draw(g);

myTank.eat(b);

w1.draw(g);

w2.draw(g);

b.draw(g);

}

public void update(Graphics g) {

if(offScreenImage == null) {

offScreenImage = this.createImage(GAME_WIDTH, GAME_HEIGHT);

}

Graphics gOffScreen = offScreenImage.getGraphics();

Color c = gOffScreen.getColor();

gOffScreen.setColor(Color.BLACK);

gOffScreen.fillRect(0, 0, GAME_WIDTH, GAME_HEIGHT);

gOffScreen.setColor(c);

paint(gOffScreen);

g.drawImage(offScreenImage, 0, 0, null);

}

/**

* 本方法显示坦克主窗口

*

*/

public void lauchFrame() {

int initTankCount = Integer.parseInt(PropertyMgr.getProperty("initTankCount"));

for(int i=0; iinitTankCount; i++) {

tanks.add(new Tank(50 + 40*(i+1), 50, false, Direction.D, this));

}

//this.setLocation(400, 300);

this.setSize(GAME_WIDTH, GAME_HEIGHT);

this.setTitle("TankWar");

this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

this.setResizable(false);

this.setBackground(Color.GREEN);

this.addKeyListener(new KeyMonitor());

setVisible(true);

new Thread(new PaintThread()).start();

}

public static void main(String[] args) {

TankClient tc = new TankClient();

tc.lauchFrame();

}

private class PaintThread implements Runnable {

public void run() {

while(true) {

repaint();

try {

Thread.sleep(50);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

private class KeyMonitor extends KeyAdapter {

public void keyReleased(KeyEvent e) {

myTank.keyReleased(e);

}

public void keyPressed(KeyEvent e) {

myTank.keyPressed(e);

}

}

}


分享标题:坦克大战java代码报告 java代码实现截图的报告
网页路径:http://cdkjz.cn/article/dooeeph.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220