坦克大战编程

Posted helloworld2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了坦克大战编程相关的知识,希望对你有一定的参考价值。

Demo1:

技术图片
package demo1;

//横着x 竖着y
import java.awt.*;
import javax.swing.*;


public class Demo2 extends JFrame {
    Myframe mp;

    public static void main(String[] args) {
        Demo2 demo = new Demo2();
    }

    public Demo2() {
        mp = new Myframe();
        this.add(mp);
        this.setSize(400, 300);

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
}

// Myframe定义的面板用于绘图
class Myframe extends JPanel {
    Hero hero;

    public void paint(Graphics g) {
        super.paint(g);
        g.fillRect(0, 0, 400, 300);
        this.drawTank(hero.getX(), hero.getY(), g, 0, 1);//可以实现坦克的类型0 1
    }

    public Myframe() {
        hero = new Hero(100, 50);//可以实现改变位置
    }

    // 画出坦克的函数
    public void drawTank(int x, int y, Graphics g, int direct, int type) {
        switch (type) {
        case 0:// 我的坦克
            g.setColor(Color.CYAN);
            break;
        case 1:
            g.setColor(Color.YELLOW);
            break;
        }
        // 判断方向
        switch (direct) {
        // 向上
        case 0:
            // 左边的矩形
            g.fill3DRect(x, y, 5, 30, false);
            // 右边的矩形
            g.fill3DRect(x + 15, y, 5, 30, false);
            // 画出中间矩形
            g.fill3DRect(x + 5, y + 5, 10, 20, false);
            // 画出圆形
            g.fillOval(x + 5, y + 10, 10, 10);
            // 画出线
            g.drawLine(x + 10, y, x + 10, y + 15);
            break;
        }
    }
}

class Tank {
    int x;
    int y;

    public Tank(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

}

class Hero extends Tank {

    public Hero(int x, int y) {
        super(x, y);

    }

}
View Code

 

以上是关于坦克大战编程的主要内容,如果未能解决你的问题,请参考以下文章

坦克大战编程

Java坦克大战

Java__线程---基础知识全面实战---坦克大战系列为例

神还原「欢乐无穷的双人坦克大战」小程序游戏,上手开玩

坦克大战游戏设计(C++)

学习 Python 之 Pygame 开发坦克大战