Java 第16章 坦克大战1-2 思路整理

文章目录

  • 1 绘制坦克
    • 坦克
    • 画板Panel
    • 画框Frame
  • 2 让坦克动起来
    • 画板Panel

1 绘制坦克

坦克

不同坦克有共同属性,可以先提取共同特征(坐标位置)作为父类,然后其他坦克类继承它。

画板Panel

有坦克在画板上显示,所以包含不同的坦克子类,并在构造器初始化时创建该具体对象。

paint方法中:

  1. g.fillRect创建黑色背景
  2. 画坦克,由于代码会进行复用(会画很多坦克),所以在Panel类中专门写方法drawTank实现。其中包括对坦克类型(我方为青色,敌方为黄色)和前进方向(具体绘制,包括上下左右朝向)的设置
    在这里插入图片描述

画框Frame

有画板在画框中,所以包含Panel对象,并在构造器初始化时创建该具体对象。

构造器对于画板对象的设置,包括:

  1. 在Frame类对象中创建并添加画板Panel
  2. 设置Panel大小、默认关闭操作、是否可见

2 让坦克动起来

画板Panel

实现KeyListener接口,在keyPressed方法中通过WSAD键实现对坦克上下左右的控制,并调用this.repaint();重新绘制坦克。

上下左右的控制:

keyPressed中,以向上移动举例:

  1. 将坦克对象的方向设置好,然后朝该方向移动一定位置(坐标±speed)
  2. 由上引出方向direct和速度speed两个变量,均加入Tank类进行实现。
  3. 同时,移动位置也集成到Tank类中,可以直接对类中的坐标进行操作。

在Frame中添加this.addKeyListener(mp);(mp是Panel)用于监听。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/340683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java object转泛型_为什么Java的泛型要用擦除实现

在 Java 中的 泛型 ,常常被称之为 伪泛型 ,究其原因是因为在实际代码的运行中,将实际类型参数的信息擦除掉了 (Type Erasure) 。那是什么原因导致了 Java 做出这种妥协的呢?下面我就带着大家以 Java 语言设计者的角度,…

java lambda函数_Java SE 8新功能介绍:使用Lambda Expression进行函数式编程

java lambda函数“ Java SE 8新功能浏览 ”系列的这篇文章将深入了解Lambda表达式 。 我将向您展示Lambda表达式的几种不同用法。 它们都具有功能接口的共同实现。 我将解释编译器如何从代码中推断信息,例如特定类型的变量以及后台实际发生的情况。 在上一篇文章“…

Apache Camel 3.1 –更多骆驼核心优化(第2部分)

我以前曾在博客中介绍我们在下一个Camel 3.1版本(第1部分)中所做的优化 。 今天,我想发布大约4周后的最新状态更新。 我们集中在三个方面优化骆驼核心: 不必要的对象分配 不必要的方法调用 提高绩效 换句话说,我…

计算机系统的指令系统,计算机指令系统指的是什么呢?

2014-12-27计算机系统的指令由你哪两部分组成?共作用分别是什么?1。8086汇编语言指令由标号、操作码、操作数和注释组成,其中标号和注释可以省略,操作码指出指令要过盛的功能,操作数指出完成的对象。2。变量和标号的区别是变量由伪指令定义&a…

echarts怎么保存图片到剪切板上_在电脑上怎么批量给图片编号以及怎么自动记录记事本txt文档时间...

电脑日益成为我们日常办公不可或缺的工具,除了必要的软件使用之外,也有一些直到今天还不那么为人所熟知的小技巧。而小编今天就暂时为大家介绍两个颇为常用的小技巧~分别是如何将图片批量编号以及自动记录记事本时间。技巧一、图片批量编号旅行或者活动结…

计算机类qq网名,最帅的qq名字

qq这个聊天工具已经成为人们电脑里必备的软件,上到40~50的叔叔阿姨,下至8~9岁的小学生,都有qq这个聊天工具。qq是有可以随意改名字的功能,最长可以输入十几个字符作为名字。就是因为取名没有太多的限制,反而让人不知道…

c++中求解非线性方程组_齐次线性方程组的基础解系的简便算法

线性方程组的求解是线性代数中的基本技能,而齐次线性方程组的基础解系的求法又是基础。本文给出一个计算齐次线性方程组的基础解系的公式,从而简化计算过程。01 符号说明 n元线性方程组的矩阵形式:(1)齐次线性方程组;(2)非齐次线性方程组;系数…

python的if语句例句_Python入门之if条件语句

Besides the while statement just introduced, Python knows the usual control flow statements known from other languages, with some twists.除了之前介绍的while语句,Python同样支持其他语言通常用的控制流语句,但也有一些区别。 if Statements P…

esp32 怎么分配freertos 堆栈大小_深度解剖~ FreeRtos阅读笔记2 任务创建、内核链表初始化...

2.FREERTOS任务创建、内核链表初始化硬件环境:cortex m4FreeRTOS版本:v8.0.1今天开始阅读freertos,阅读同时做下笔记,等哪天碰到移植问题再翻出来看看。2.1 任务、链表结构体源码中使用tskTCB来存储一个任务的所有信息,xLIST存储内…

Sigma IDE现在支持Python无服务器Lambda函数!

想想无服务器,使用Pythonic –全部在您的浏览器中! (好吧,这则新闻已经过了几周了,但是仍然……) 如果您沉迷于整个无服务器的“事物”中 ,您可能已经注意到我们,一个在SLAppForge臭…

idle不是python自带的开发工具_Python的开发工具

通常情况下,为了提高开发效率,需要使用相应的开发工具。进行Python开发也可以使用开发工具。下面将详细介绍Python自带的IDLE 一使用自带的IDLE 在安装Python后,会自动安装一个IDLE。它是一个Python shell(可以在打开的IDLE窗口的标题栏上看到…

java se 导原码_Java SE 8新功能导览:Java开发世界中的重大变化

java se 导原码我很自豪,像其他专业团队成员一样,是采用OpenJDK的成员之一,但是从过去8个月就加入了,我们经历了Java SE 8 开发,编译,编码,讨论等各个阶段,直到将其付诸实践为止。 。…

linux将日期和日历信息追加到文件中_Linux任务调度

crontab 任务调度crontab 进行定时任务的设置概述 任务调度:是指系统在某个时间执行的特定的命令或程序。任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行,如病毒扫描等 。2.个别用户工作:个别用户可能希望…

android sdk build-tools_从零开始仿写一个抖音App——视频编辑SDK开发(一)

本文首发于微信公众号——世界上有意思的事,搬运转载请注明出处,否则将追究版权责任。交流qq群:859640274。大家好久不见,又有一个多月没有发文章了。不知道还有哪些读者记得我的 从零开始仿写抖音App 的系列文章,这个…

爱默生E系列服务器机柜托盘,艾默生通信电源PS48300-3B/1800 一体化室内机柜

PS48300-3B/1800电源系统PS48300-3B/1800电源系统是艾默生网络能源集多年开发和网上运行经验,采用 DSP控制技术,为满足3G网络需求而设计的高可靠、高功率密度、高性能、全数 字化通信电源系统。根据交流配电和机柜高度。一、特点 1、休眠节能专利技术&am…

功能Java示例 第8部分–更多纯函数

这是第8部分,该系列的最后一部分称为“ Functional Java by Example”。 我在本系列的每个部分中发展的示例是某种“提要处理程序”,用于处理文档。 在上一期文章中,我们已经使用Vavr库看到了一些模式匹配,并且还将故障也视为数据…

tensorflow 小于_坐姿不对,屏幕就变模糊!教你用TensorFlow做一款“隐形背背佳”...

大数据文摘出品作为一个上班族,每天坐在电脑前那么久,难免出现腰酸背痛的情况,时间长了甚至脊柱都歪曲变形了,这可不行!一定要克制住自己的坐姿。这里有款“隐形背背佳”,要不要了解一下?一位名…

python里随机抽取样本_概率分布和抽样分布基础知识及Python实现

本文主要介绍推论统计中的概率分布和抽样分布,本文结构如下: 一、概率分布 随机变量:在一定条件下,某件事情可能发生或者不发生,这个事件就叫随机事件。例如抛硬币哪面朝上。随机变量X就是用来量化随机事件的函数,是将随机事件每一个可能出现的结果映射到数值的一个函数。…

php 创建目录_使用SMB绕过PHP远程文件包含限制

译文声明本文是翻译文章,文章原作者mannulinux,文章来源:mannulinux.org 原文地址:http://www.mannulinux.org/2019/05/exploiting-rfi-in-php-bypass-remote-url-inclusion-restriction.html译文仅供参考,具体内容表达…

eas系统服务器地址,EAS7.0EAS7.5服务端及其客户端标准配置介绍

金蝶EAS是基于JavaEE的大型企业应用。目前服务端支持以下主流软硬件环境。适用版本:EAS7.0 EAS703 EAS7.51.金蝶EAS服务端支持的软硬件环境注:标志为部署支持的环境,可以正常安装配置,但是正式运行前需联系金蝶技术支持。2.客户端…