package com.wxh.tank1;
import javax.swing.*;
import java.awt.*;
//我的坦克大战游戏1.0版本
public class MyTankGame1 extends JFrame {
MyPanel mp = null;
public static void main(String[] args) {
MyTankGame1 mtg = new MyTankGame1();
}
// 构造函数
public MyTankGame1() {
mp = new MyPanel();
this.add(mp);
this.setSize(400, 300);
this.setVisible(true);
}
}
// 我的面板
class MyPanel extends JPanel {
// 定义一个我的坦克
Hero hero = null;
// 构造函数
public MyPanel() {
hero = new Hero(100, 100);
}
// 重写paint
public void paint(Graphics g) {
super.paint(g);
// 把背景色变成黑色
g.fillRect(0, 0, 400, 300);
g.setColor(Color.CYAN);
this.drawTank(hero.getX(), this.getY(), g, 0, 0);
}
// 画出坦克的函数
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:
// 画出我的坦克
// 1.画出左边的矩形
g.fill3DRect(x, y, 5, 30, false);
// 2.画出右边的矩形
g.fill3DRect(x + 15, y, 5, 30, false);
// 3.画出中间矩形
g.fill3DRect(x + 5, y + 5, 10, 20, false);
// 4.画出圆形
g.fillOval(x + 5, y + 10, 10, 10);
// 5.画出线
g.drawLine(x + 10, y + 15, x + 10,
y);
break;
}
}
}
// 坦克类,父类
class Tank {
// 表示坦克的横坐标
int x = 0;
// 坦克的纵坐标
int y = 0;
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);
}
}
坦克大战_坦克绘制
原创
©著作权归作者所有:来自51CTO博客作者hoho_12的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
将任务栏图标设置为只显示小图标
任务栏图标修改
任务栏 小图标 -
python小游戏————坦克大战
python期末大作业------坦克大战
python 加载 方向键 坦克大战 -
Java 坦克大战游戏
Java 坦克大战游戏 Socket
游戏 服务器 运维 坦克大战 客户端 -
【Kotlin】坦克大战10:游戏结束
销毁后特效销毁后显示特效,所以在Destroyable中增加一个showDestroy()方法interface D
kotlin ide ico 坦克大战 -
【Kotlin】坦克大战11:打包游戏
1
kotlin 重新运行 java maven -
【Unity】超级坦克大战(二)游戏流程
更新日期:2020年6月8日。项目源码:在终章发布索引本章最佳实践正式开始登录流程本章最=
Unity 游戏开发 HTFramework ide 右键 -
坦克大战_坦克移动
坦克大战_坦克移动
java 游戏 ide 构造函数