java版坦克大战_java版坦克大战 - 源码下载|源代码 - 源码中国

压缩包 : MytangGame4.rar 列表

MytangGame4\.classpath

MytangGame4\.project

MytangGame4\.settings\org.eclipse.jdt.core.prefs

MytangGame4\bin\bomd1.gif

MytangGame4\bin\bomd2.gif

MytangGame4\bin\bomd3.gif

MytangGame4\bin\text1\com\cn\Bomb.class

MytangGame4\bin\text1\com\cn\EnemyTank.class

MytangGame4\bin\text1\com\cn\Hero.class

MytangGame4\bin\text1\com\cn\MyPanel.class

MytangGame4\bin\text1\com\cn\MytankGame.class

MytangGame4\bin\text1\com\cn\Shot.class

MytangGame4\bin\text1\com\cn\Tank.class

MytangGame4\src\bomd1.gif

MytangGame4\src\bomd2.gif

MytangGame4\src\bomd3.gif

MytangGame4\src\text1\com\cn\Member.java

MytangGame4\src\text1\com\cn\MytankGame.java

MytangGame4\bin\text1\com\cn

MytangGame4\src\text1\com\cn

MytangGame4\bin\text1\com

MytangGame4\src\text1\com

MytangGame4\bin\text1

MytangGame4\src\text1

MytangGame4\.settings

MytangGame4\bin

MytangGame4\src

MytangGame4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,我们可以看出Java坦克大战是一个很好的学习体验,可以帮助初学者理解面向对象编程、集合、多线程、IO流、GUI编程等知识的运用。下面是一个简单的Java坦克大战源代码: ```java package com.tankgame; import java.awt.*; import java.awt.event.KeyEvent; import java.util.ArrayList; import java.util.List; 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); List<Missile> missiles = new ArrayList<>(); List<Tank> tanks = new ArrayList<>(); List<Explode> explodes = new ArrayList<>(); Wall w1 = new Wall(100, 200, 20, 150, this); Wall w2 = new Wall(300, 100, 300, 20, this); Image offScreenImage = null; 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); for (int i = 0; i < missiles.size(); i++) { Missile m = missiles.get(i); m.hitTanks(tanks); m.hitTank(myTank); m.hitWall(w1); m.hitWall(w2); m.draw(g); } for (int i = 0; i < tanks.size(); i++) { Tank t = tanks.get(i); t.collidesWithWall(w1); t.collidesWithWall(w2); t.collidesWithTanks(tanks); t.draw(g); } for (int i = 0; i < explodes.size(); i++) { Explode e = explodes.get(i); e.draw(g); } myTank.draw(g); w1.draw(g); w2.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.GREEN); gOffScreen.fillRect(0, 0, GAME_WIDTH, GAME_HEIGHT); gOffScreen.setColor(c); paint(gOffScreen); g.drawImage(offScreenImage, 0, 0, null); } public void lauchFrame() { for (int i = 0; i < 10; 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.setBackground(Color.GREEN); this.addKeyListener(new KeyMonitor()); this.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面向对象编程的精髓,例如类的封装、继承、多态等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值