用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

画图1.0版本

2017-03-28 作者: 云代码会员举报

[java]代码库

/*
*画出我的坦克1.0版本
*/
 
package MyTankGame1;
import javax.swing.*;
import java.awt.*;
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(10,10);
 }
  
 //重写paint()
 public void paint(Graphics g)
 {
  super.paint(g);
   g.fillRect(0, 0, 400, 300);
  //画出我的坦克(到时再封装成一个函数)
//  //1.画出左边的矩形
//  g.setColor(Color.CYAN);
//  //g.drawRect(hero.getX(), hero.getY(), 5, 30);
//  g.fill3DRect(hero.getX(), hero.getY(), 5, 30,false);  
//  //2.画出右边矩形
//  g.fill3DRect(hero.getX()+15, hero.getY(), 5, 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()+9, hero.getY()+10, hero.getX()+9, hero.getY()); 
   
   
   this.drawTank(hero.getX(), hero.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.setColor(Color.CYAN);
   //g.drawRect(x, hero.getY(), 5, 30);
   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+9, y+10, x+9, y);
   break;
  }
 }
}
//坦克类
class Tank
{
 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 x=0;
 //坦克的纵坐标
 int y=0;
 
 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);
 }
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...