坦克大战_坦克绘制
2016-07-23 15:07
627 查看
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); } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树