[黑马] 第2天 --Swing编程--坦克大战1.0版 (画出坦克)&&继续关注

来源:互联网 发布:金税数据导出软件 编辑:程序博客网 时间:2024/05/20 14:27
------- android培训 java培训期待与您交流! ----------
package com.Tank1;/* * 坦克大战  QQ交流群:254626551 新手进 */import java.awt.*;import javax.swing.*;public class Tank1 extends JFrame{MyPanel mp = null;public static void main(String[] args) {Tank1 t  = new Tank1(); }/* * 构造函数 */public Tank1(){mp = new MyPanel();this.add(mp);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(0, 0, 400, 300);//g.setColor(Color.YELLOW);////画出我的坦克(到时候再封装成函数)////1.画出左面的矩形//g.fill3DRect(hero.getX(), hero.getY(), 5, 30, false);////2.画出左边的矩形//g.fill3DRect(hero.getX()+15, hero.getY(), 3, 30, false);////3.画出中间矩形//g.fill3DRect(hero.getX()+5, hero.getY()+5, 10, 20,false);////4.画出圆形//g.fillOval(hero.getX()+5, hero.getY()+10, 10, 10);////5.画出线//g.drawLine(hero.getX()+10, hero.getY()+10, hero.getX()+10, hero.getY());//this.drawTank(hero.getX(), hero.getY(), g, 0, 1);}//画出坦克的函数public void drawTank(int x, int y, Graphics g, int direct, int type){//判断是什么类型的坦克switch(type){case 0://我的坦克g.setColor(Color.RED);break;case 1:g.setColor(Color.YELLOW);break;}//判断方向switch(direct){//向上case 0://g.setColor(Color.YELLOW);//画出我的坦克(到时候再封装成函数)//1.画出左面的矩形g.fill3DRect(x, y, 5, 30, false);//2.画出左边的矩形g.fill3DRect(x+15, y, 3, 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+10, x+10, y);break;}}}//定义一个坦克类class Tank{int x = 0; //表示坦克的横坐标int y = 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;}/* * 构造函数 */public Tank(int x,int y){this.x = x;this.y = y;}}//我的坦克class Hero extends Tank{public Hero(int x, int y){super(x,y);}}

未完待续、、继续关注、、QQ交流群 254626551





------- android培训 java培训期待与您交流! ----------
原创粉丝点击