/*功能:坦克大战
* 1.画坦克
*
*
* */
package com.gxd.tank;
import java.awt.*;
import javax.swing.*;
public class DrawTank extends JFrame{
MyPanel mp=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
DrawTank tank=new DrawTank();
}
public DrawTank()
{
mp=new MyPanel();
this.add(mp);
this.setTitle("画坦克");
this.setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
class MyPanel extends JPanel
{
//定义一个我的坦克
Hero hero=null;
//构造函数
public MyPanel()
{
hero=new Hero(10, 10);
}
//重写paint函数
public void paint(Graphics g)
{
//画出我的坦克
super.paint(g);
g.fillRect(1, 1, 398, 298);
this.drowTank(hero.getX(), hero.getY(), g, 0, 0);
}
//画出坦克的函数
public void drowTank(int x,int y,Graphics g,int dic,int type)
{
switch (type)
{
case 0:
g.setColor(Color.red);
break;
case 1:
g.setColor(Color.yellow);
break;
}
switch (dic)
{
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.drawOval(x+5, y+10, 9, 10);
g.fill3DRect(x+8, y, 4, 10, false);
}
}
}
//定义我的坦克
class Hero extends Tank
{
public Hero(int x,int y)
{
super (x,y);
}
}
class Tank
{
int x=0;//坦克的横坐标
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;
}
int y=0;//坦克的纵坐标
public Tank(int x,int y)
{
this.x=x;
this.y=y;
}
}
画图1
最新推荐文章于 2024-05-09 16:52:22 发布