java基础 绘图技术.坦克大战 之java绘图坐标体系(二)

    功能:在坐标系上绘制坦克

  1 /*
  2  * 功能:坦克游戏的1.0
  3  * 1. 画出坦克
  4  * */
  5 package com.tank;
  6
  7 import javax.swing.*;
  8
  9 import java.awt.*;
 10 public class demo2 extends JFrame{
 11
 12     /**
 13      * @param args
 14      */
 15     Mypanel mp =null;
 16     public static void main(String[] args) {
 17         // TODO Auto-generated method stub
 18         demo2 demo2= new demo2();
 19     }
 20
 21     //构造函数
 22     public demo2()
 23     {
 24         mp =new Mypanel();
 25
 26         this.add(mp);
 27         this.setSize(400,300);
 28         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 29         this.setVisible(true);
 30     }
 31
 32 }
 33
 34 //我的面板
 35 class Mypanel extends JPanel
 36 {
 37     //定义一个我的坦克
 38     Hero hero =null;
 39
 40     //构造函数
 41     public Mypanel()
 42     {
 43         hero = new Hero(10,10);
 44     }
 45
 46     //重写paint函数
 47     public void paint(Graphics g)
 48     {
 49         super.paint(g);
 50         g.fillRect(0,0,400, 300);
 51         this.drawTank(hero.getX(), hero.getY(), g, 0, 1);
 52     }
 53     //画出坦克的函数
 54     public void drawTank(int x,int y,Graphics g,int direct,int type)
 55     {
 56         //判断是什么类型的坦克(敌人的还是自己的)
 57         switch(type)
 58         {
 59         case 0:
 60             g.setColor(Color.cyan);
 61             break;
 62         case 1:
 63             g.setColor(Color.yellow);
 64             break;
 65         }
 66
 67         //判断方向
 68         switch(direct)
 69         {
 70             //向上
 71             case 0:
 72
 73                 //画出我的坦克(到时再封装成一个函数 )
 74                 //1. 画出左边的矩形
 75                 g.fill3DRect(x, y, 5,30,false);
 76                 //2. 画出右边矩形
 77                 g.fill3DRect(x+15, y, 5, 30,false);
 78                 //3. 画出中间矩形
 79                 g.fill3DRect(x+5, y+5, 10, 20,false);
 80                 //4. 画出圆形
 81                 g.fillOval(x+5, y+10, 10, 10);
 82                 //5. 画出线
 83                 g.drawLine(x+10, y+15, x+10, y);
 84                 break;
 85         }
 86     }
 87 }
 88
 89 //坦克类
 90 class Tank
 91 {
 92     //表示坦克的横坐标
 93     int x=0;
 94
 95     //坦克的从纵坐标
 96     int y=0;
 97     public int getX() {
 98         return x;
 99     }
100     public void setX(int x) {
101         this.x = x;
102     }
103     public int getY() {
104         return y;
105     }
106     public void setY(int y) {
107         this.y = y;
108     }
109     public Tank(int x,int y)
110     {
111         this.x=x;
112         this.y=y;
113     }
114 }
115
116 //我的坦克
117 class Hero  extends Tank
118 {
119     public Hero(int x,int y)
120     {
121         super(x, y);
122     }
123 }
时间: 2024-10-05 23:47:47

java基础 绘图技术.坦克大战 之java绘图坐标体系(二)的相关文章

java基础 绘图技术.坦克大战 之java绘图坐标体系(一)

坐标体系介绍 下图说明了java坐标体系.坐标原点位于左上角,以像素为单位,像素是计算机屏幕上最小的显示单位.在java的坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素:第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素. 绘图还必须要搞清楚一个非常重要的概念,像素: 计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成.例如,计算机显示器的分辨率是800*600,表示计算机屏幕上的每一行由800个点组成,共600行,整个计算机屏幕共有480 000个像素.现在

JAVA入门到精通-第33讲-绘图技术.坦克大战1

    用的是Access数据库,安全性不够好,性能也不够强大:   躲在这里,坦克很少过来,做了一个随机数: 把得分的记录保存在数据库里面: SQLServer2005中型数据库:    (x,y)坐标:     800x600:     表示计算机屏幕上的每一行由800个点组成,共有600行:   共有480000个像素:   java绘图技术:   绘图一般在JPane上画: 覆盖JPanel的paintat方法 Graphics是一个图形画笔类,绘图的重要类,可以理解为一只画笔 supe

Java基础系列1:深入理解Java数据类型

Java基础系列1:深入理解Java数据类型 当初学习计算机的时候,教科书中对程序的定义是:程序=数据结构+算法,Java基础系列第一篇就聊聊Java中的数据类型. 本篇聊Java数据类型主要包括四个内容: Java基本类型 Java封装类型 自动装箱和拆箱 封装类型缓存机制 Java基本类型 Java基本类型分类.大小及表示范围 Java的基本数据类型总共有8种,包括三类:数值型,字符型,布尔型,其中 数值型: 整数类型:byte.short.int.long 浮点类型:float.doubl

java基础思维导图,让java不再难懂

java基础思维导图,让java不再难懂 原链接:https://my.oschina.net/u/3080373/blog/873056#0-sqq-1-75211-9737f6f9e09dfaf5d3fd14d775bfee85 思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具.了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板. 思维导图不仅仅只有简单明了这个好处,它还能加深人对主题的印象和理解,能

JAVA课程设计(坦克大战)

2019-01-16 坦克大战游戏背景: 1. 需求分析 1.1环境要求 操作系统:Windows 7(SP1)以上 JAVA虚拟机:JDK1.8以上 开发环境:Eclipse(4.5以上) 1.2角色设定 用户在系统中扮演的角色,以及可以执行的职责. 玩 家 操纵玩家坦克,与敌方坦克作战,同时保护本基地.敌方坦克随机移动,发射子弹. 1.3设定玩家(玩家一,玩家二,即一个人玩还是两个人玩),我方坦克的方向和子弹由用户控制,所有墙块都可以打碎,但是铁墙是打不碎的,草地不能阻止坦克和子弹的前进,河

加强版坦克大战(java版)

转载自:http://blog.csdn.net/lihongxun945/article/details/6275581 这个坦克大战参考了初学java时看的马士兵的一个教程和小霸王上的坦克大战,并且加入了很多在魔兽中的英雄属性(移动速度,攻击速度,攻击力,生命上限等),还加入了一个小巧的地图编辑器. 废话不多说,先上图: 游戏界面: 地图编辑器: 详细说明: 1,除了坦克的图片外,其他图片全部为自己手绘,可能有点丑,特别是那个基地——! 2,游戏主界面,右边为属性窗口,在主界面按F4打开地图

java制作简单的坦克大战

坦克大战是我们小时候玩红白机时代的经典游戏,看到有不少小伙伴都使用各种语言实现了一下,手痒痒,也使用java做的一个比较简单的坦克大战,主要面向于学过Java的人群,与学了一段时间的人,有利于面向对象思想的提高,推荐给大家. 详情请参照注释,这里就不多废话了,实现一下儿时的经典而已. Blood.java ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3

夯实Java基础系列10:深入理解Java中的异常体系

目录 为什么要使用异常 异常基本定义 异常体系 初识异常 异常和错误 异常的处理方式 "不负责任"的throws 纠结的finally throw : JRE也使用的关键字 异常调用链 自定义异常 异常的注意事项 当finally遇上return JAVA异常常见面试题 参考文章 微信公众号 Java技术江湖 个人公众号:黄小斜 - Java异常 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.c

夯实Java基础系列13:深入理解Java中的泛型

目录 泛型概述 一个栗子 特性 泛型的使用方式 泛型类 泛型接口 泛型通配符 泛型方法 泛型方法的基本用法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型方法总结 泛型上下边界 泛型常见面试题 参考文章 微信公众号 Java技术江湖 个人公众号:黄小斜 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star.Fork.Watch三连哈,感谢你的