时间紧张,直接贴代码:

/*

* Function: TankGame 1.0

* Draw Tank

*/

package com.test1;

import javax.swing.*;

import java.awt.*;

public class MyTankGame1 extends JFrame {

MyPanel mp = null;

public static void main(String[] args) {

// TODO 自动生成的方法存根

MyTankGame1 myTankGame1 = new MyTankGame1();

}

public MyTankGame1(){

mp = new MyPanel();

this.add(mp);

this.setSize(400, 300);

this.setVisible(true);

}

}

//My Planel

class MyPanel extends JPanel{

//Define a Tank

Hero hero = null;

public MyPanel(){

hero = new Hero(100, 100);

}

public void paint(Graphics g){

super.paint(g);

// Draw my tank. And then encapsulate them into functions.

g.fillRect(0, 0, 400, 300);

this.drawTank(hero.getX(), hero.getY(), g, 0, 0);

}

public void drawTank(int x, int y, Graphics g, int direct, int type){

// judge type

switch(type){

case 0:

g.setColor(Color.cyan);

break;

case 1:

g.setColor(Color.YELLOW);

break;

}

// judge direction

switch(direct){

case 0:

g.setColor(Color.CYAN);

g.fill3DRect(x, y, 5, 30, false);

// Draw right rect

g.fill3DRect(x + 15, y, 5, 30, false);

// Draw middle rect

g.fillRect(x + 5, y + 5, 10, 20);

// Draw circle

g.setColor(Color.green);

g.fillOval(x + 5, y + 10, 10, 10);

// Draw line

g.drawLine(x + 7, y + 15, x + 10, y);

break;

}

}

}

// Tank Class

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);

}

}

运行效果图:

java怎么绘画坦克_坦克游戏教程一:使用java绘图功能绘制简单坦克相关推荐

  1. 坦克射击小游戏(后续将会升级功能)

    坦克射击小游戏(后续将会升级功能) 总体框架 关键技术 未来版本 我的Github 游戏源码在我的Github,感兴趣的的帮忙给颗星呀,并加入我们吧~ 这是我跟着b站韩顺平老师学的一个很锻炼基础的小项 ...

  2. java五子棋技术路线_五子棋游戏程序设计(VB)

    匿名用户 1级 2013-07-19 回答 五子棋的AI构想 有句话叫"当局者迷,旁观者清.",但这句话在由AI所控制的计算机玩家上是不成立的,因为计算机必须知道有那些获胜方式,并 ...

  3. java 英语词汇、视频手把手地教你学习JAVA

    2019独角兽企业重金招聘Python工程师标准>>> 1.java视频教程学习地址 地址:http://how2j.cn/stage/27.html 网易云课堂.尚学堂:可以在线观 ...

  4. java.policy无法修改_如何配置Policy文件进行Java安全策略的设置

    中国人最喜欢访问的网站 只要注册ofo就送你10块钱,还等什么,快来注册吧 Java语言具有完善的安全框架,从编程语言.编译器.解释程序到Java虚拟机,都能确保Java系统不被恶意的代码或敌对的编译 ...

  5. java程序设计清华大学出版社_清华大学出版社-图书详情-《Java程序设计基础》...

    出 版 说 明 我国高等学校计算机教育近年来迅猛发展,应用所学计算机知识解决实际问题,已经成为当代大学生的必备能力. 时代的进步与社会的发展对高等学校计算机教育的质量提出了更高.更新的要求.现在,很多 ...

  6. 中秋节图案 用java代码打出来_这个中秋,我用 Java 画了一个月饼!

    栈长代表微信公众号 "Java技术栈" 祝所有粉丝中秋佳节快乐! 为了用一种特殊的方式表达我的心意,去年中秋节,我写了这篇文章: 没错,去年一天,我学了 20 种编程语言,刺激.. ...

  7. java生成pdf图表_开发员指南:使用Java图表转换为PDF/JPG等图像

    Aspose.Cells for JavaExcel电子表格处理API,它允许Java开发人员在自己的Java应用程序中嵌入可读取.写入和操作Excel电子表格的能力,而无需依赖Microsoft E ...

  8. java枚举 取值_秒懂系列,超详细Java枚举教程!!!

    深入理解Java枚举 一.什么是枚举 1.1 什么是枚举? 至于枚举,我们先拿生活中的枚举来入手,然后再引申Java中的枚举,其实它们的意义很相似. 谈到生活中的枚举,假如我们在玩掷骰子的游戏,在我们 ...

  9. java泛型 简书_一文带你认识Java泛型基础

    Java泛型基础 1. 认识泛型 泛型是在JDK1.5之后增加的新功能. 泛型可以解决数据的安全性问题, 主要的原理是在类声明的时候通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型. ...

最新文章

  1. android proguard 第三方jar,Android Studio代码混淆-第三方jar混淆汇总(持续更新)
  2. Target runtime Apache Tomcat v6.0 is not defined.错误解决方法
  3. Web前端开发怎样学?你需了解这些问题
  4. python测试网络连通性_Python测试网络连通性示例【基于ping】
  5. 计算机诞生发展分类特点及应用,计算机的诞生与发展,及其特点
  6. LeetCode 第 206 场周赛(733/4491,前16.3%)
  7. 这些快捷键要学会使用啊
  8. Vue2.x总结(1)
  9. win10怎么重装系统虚拟机win7
  10. Stanford机器学习---第三讲. 逻辑回归和过拟合问题的解决 logistic Regression Regularization
  11. 渗透测试-弱点扫描工具
  12. 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载
  13. [数据结构与算法 DSA 林轩田] 1. Introduction to Data Structure and Algorithm
  14. 常见html5营销类型有哪些,常见的品牌营销都有哪几种形式
  15. 旋转矩阵列向量的物理含义
  16. html:超文本标记语言的特点
  17. MIPI信号简单介绍
  18. HTML实体的编码和解码
  19. 关于小y商城开源作品
  20. 【电力电子】【2014】三相电压型逆变器在独立和并网模式下的动态建模与分析

热门文章

  1. 顶级OCR神器:福昕扫描王使用全攻略|装机必备
  2. 计算机二级ms office2021教材,全国计算机等级考试二级MS Office高级应用教材(2021年版)...
  3. E-Competitive Seagulls
  4. flutter小说阅读页之爬坑记录-半角转全角字符
  5. Docker容器化技术教程,24小时快速入门
  6. 【攻防世界】十七、ics-05
  7. ICS课程学习(1)——概述
  8. 知识图谱从入门到应用——知识图谱的获取与构建:知识工程与知识获取
  9. 用轻量服务器搭建自己的pdf在线工具箱(支持pdf压缩以及pdf OCR)
  10. activiti 汉化