坦克大战-部分

通过键盘操控坦克移动,转弯,射击

消灭所有敌人可以过关

23个类,3个gif图片

wsad控制移动

j射击

砖墙限制移动,可以打穿;铁墙,限制移动,不能打穿;水,限制移动,炮弹穿过

8个关卡

下方数字表示坦克数量,打死一个少一个,减为0可以进入下一关

用户坦克生命值,减为0,游戏结束

每个关卡结束有分数统计-》可以用io保存到文件/数据库编程保存到数据库中

Java事件处理机制:委派处理模型。事件的发生地方与事件的处理地方不同 (信息传递)-》依靠java.awt.event库中的监听器

坦克移动 用keyListener键盘监听器 画纸实现,画板添加

坦克转向给tank类加一个属性direct

封装画坦克的方法,判断direct,

【注意】:KeyListener不能单独使用,必须使用组件(JFrame)当作中间媒介(就好比监视器要装在房屋上一样)

封装思想:操作什么,方法就写在什么里面,然后给public方法,可能在其他地方调用

多个坦克一起动,-》线程的知识

每个人机的坦克是一个线程,每颗子弹也是一个线程

射击方法是不是应该直接NEW一个子弹啊,不然会覆盖上一个子弹

相关推荐
tqs_123451 分钟前
Agent智能体+Skill插件引擎+Milvus混合检索 技术沉淀
java·python·milvus
严同学正在努力42 分钟前
从备份到恢复:我用 30 分钟恢复了误删的核心业务表
android·java·数据库·ai
QQ_21696290962 小时前
Spring Boot 养老院管理系统:从入住、护理到费用结算的全流程实现(源码可领)
java·spring boot·后端
cxoptics2 小时前
冰洲石分束器设计与应用
java
ck-joker2 小时前
M1 Pro跑LLM实测:Ollama+LangChain4j零成本本地大模型开发,比云端API快在哪?
java·语言模型
丙氨酸長鏈3 小时前
[Bukkit插件开发]手持发射器箭矢机枪 教学文档 面向Python/C#开发者入门Java与Bukkit API
java·python·c#
Nontee3 小时前
设计模式:模板方法与策略,从“每个字都认识“到能说清它们在干嘛
java·数据库·设计模式
我是唐青枫3 小时前
Java ReentrantLock 实战详解:比 synchronized 更灵活的可重入锁
java·开发语言
自强的小白4 小时前
Docker命令
java·docker·容器
晨曦中的暮雨4 小时前
Virtual Thread 优化 Spring AI 阻塞式 LLM I/O:对照压测报告
java·并发·个人项目