Java小游戏,防止物体跑出四周边界的算法

因为本人是JAVA初学者,所以下面说的这个算法会比较简单,也可能其他地方早就存在。但是,这是我自己想出来的,所以还是觉得发个文章做个纪念,嘻嘻。
算法本身很简单,其他地方就不过多叙述,直接从添加键盘监听开始。

public class QiZi extends GameObject{boolean left, right, up, down;
//添加键盘监听,增加和去掉方向控制public void addDirection(KeyEvent e) {switch(e.getKeyCode()) {case KeyEvent.VK_LEFT:left = true;break;case KeyEvent.VK_RIGHT:right = true;break;case KeyEvent.VK_UP:up = true;break;case KeyEvent.VK_DOWN:down = true;break;default:break;}}public void minusDirection(KeyEvent e) {switch(e.getKeyCode()) {case KeyEvent.VK_LEFT:left = false;break;case KeyEvent.VK_RIGHT:right = false;break;case KeyEvent.VK_UP:up = false;break;case KeyEvent.VK_DOWN:down = false;break;default:break;}}//这个就是防止和边界碰撞的代码,原理很简单//多看两遍就能看懂,speed是按一次方向键,x或y变换的次数public void draw(Graphics g) {super.drawMyself(g);if(x>10 && x<1680 && y>20 && y<870) {if(left) {x -=speed;}if(up) {y -=speed;}if(right) {x +=speed;}if(down) {y +=speed;}}else if(x<=10 && y>20 && y<870) {if(up) {y -=speed;}if(right) {x +=speed;}if(down) {y +=speed;}}else if(x>=1680 && y>20 && y<870) {if(left) {x -=speed;}if(up) {y -=speed;}if(down) {y +=speed;}}else if(x>10 && x<1680 && y>=870) {if(left) {x -=speed;}if(right) {x +=speed;}if(up) {y -=speed;}}else if(x>10 && x<1680 && y<=20) {if(left) {x -=speed;}if(right) {x +=speed;}if(down) {y +=speed;}}else if(x<=10 && y>=870) {if(right) {x +=speed;}if(up) {y -=speed;}}else if(x>=1680 && y>=870) {if(up) {y -=speed;}if(left) {x -=speed;}}else if(x>=1680 && y<=20) {if(down) {y +=speed;}if(left) {x -=speed;}}else if(x<=10 && y<=20) {if(down) {y +=speed;}if(right) {x +=speed;}}else {}
}

Java小游戏,防止物体跑出四周边界的算法相关推荐

  1. java小游戏-java小游戏-大鱼吃小鱼

    java小游戏-java小游戏-大鱼吃小鱼 1 创建窗口 2 添加背景图 3 启动封面 4 启动页面的点击事件 5 游戏开始时的背景添加 6 双缓存解决闪屏问题 7 地方第一条小鱼的添加 8 敌方左方 ...

  2. Java小游戏——贪吃蛇

    Java小游戏之贪吃蛇 系统目标 贪吃蛇是一个益智类游戏,通过本游戏的设计和实现,可以提升Java技术能力,提升自己独立开发的能力及掌握项目的开发流程. 开发环境 系统环境:Windows 开发工具: ...

  3. java小游戏-java小游戏-飞机大战

    java小游戏-java小游戏-飞机大战 1 窗口创建 2 背景图片添加 3 启动页面制作 4 启动页面点击事件 5 游戏物体父类的编写 6 背景的移动 7 双缓存的添加 8 背景图片的循环出现 9 ...

  4. java游戏牛仔炮筒,《Java小游戏实现》:坦克大战(续2)

    <Java小游戏实现>:坦克大战(续2) 相关博文: 博文<Java小游戏实现>:坦克大战(续1)中已经实现到了坦克可以发射一颗子弹了.这篇博文在此基础上继续实现更多的功能. ...

  5. JAVA小游戏推球球

    图形化界面的简单应用 先看效果 java小游戏推球球 代码如下 import javax.swing.*; import java.awt.*; import java.awt.event.*;pub ...

  6. java小游戏-java小游戏-黄金矿工

    java小游戏-java小游戏-黄金矿工 1 窗口绘制 2 绘制图片 3 红线绘制 4 红线摇摆 5 红线抓取 6 创建金块 7 双缓存技术 8 抓取判断 9 抓取返回 10 多个金块 11 Bug金 ...

  7. Java小游戏——是男人就坚持20秒

    Java小游戏--是男人就坚持20秒 给大家分享一个小游戏,这是一个Swing项目,先用代码画界面板,然后依次添加飞机.子弹.计时器等: 代码如下: /** 程序的主窗体*/ public class ...

  8. 各种经典java小游戏_Java是这个世界上最好的语言!

    为什么? 请看TIOBE最新发布的编程语言排行榜: TIOBE开发语言排行榜每月更新一次,其结果可以用来检阅开发者的编程技能能否跟上趋势,或是否有必要作出战略改变,以及什么编程语言是应该及时掌握的. ...

  9. Java小游戏:模仿微信群发红包

    Java小游戏:模仿微信群发红包 微信群主发普通红包,普通红包规则: 群主的一笔金额,从群主余额中扣除,平均分成n等分,让群员领取. 成员领取红包后,保存到余额中. 请根据规则,完成案例中所有类的定义 ...

  10. 《Java小游戏实现》:坦克大战

    <Java小游戏实现>:坦克大战 前面写了一个简单的聊天小程序,今天开始就写一个坦克大战的游戏,算是对Java相关小知识点的一个应用. 这个游戏的完成,我们也是分步完成,逐步累加,一个一个 ...

最新文章

  1. 【Docker】容器的几种网络模式
  2. workunit 的指的工作单元是什么_三支一扶指的是什么?主要工作内容有哪些?
  3. 无线传输系统功率LCC功率补偿系统设计
  4. linux 脚本 ,shell中的与
  5. 在Eclipse中的Android项目里实现代码“.NET研究”复用
  6. 4.API的调用过程(系统服务表)
  7. c语言6字符宽度和小数位数,2017年计算机二级C语言考点复习
  8. linux下iostat命令无效,linux iostat命令详解
  9. python函数式编程读取数据时出现错误_Python编程中,函数遇到问题是抛出错误好还是约定返回值好?...
  10. 解决PhoneGap在Android手机上的全屏问题
  11. bean json转kotlin_Android--------kotlin插件神器Json直接生成javaBean
  12. 信息学奥赛C++语言:平方值
  13. Linux: 不用密码直接用ssh 登入到远端电脑(RAS/DSA认证)
  14. 【ElasticSearch】Es 源码之 IndicesModule 源码解读
  15. 任正非:华为的岗位没有年龄限制;腾讯微博将于9月28日停止运营;微软关闭Visual Studio Online|极客头条
  16. linux系统修复找不到原安装,Linux 系统用安装盘来修复GRUB 详解
  17. Java推断文本文件编码格式以及读取
  18. 盘点阿里巴巴 33 个牛逼的开源项目,你用过哪几个?
  19. uclinux 嵌入式linux,2017最新嵌入式操作系统uCLinux分析
  20. 常用计量单位及其换算

热门文章

  1. 自动白平衡(AWB)基础
  2. Webx系列之文件上传
  3. nbiot电信平台android,nbiot之bc26 连接电信网联网平台
  4. B树,B+树,树,二叉树,满二叉树,完全二叉树,二叉搜索树,平衡二叉树,
  5. unity3d深入学习笔记4:AnySdk接入
  6. Cocos2d-JS 项目接入AnySDK
  7. Cesium资料大全
  8. 重庆金域 :新系统成功上线!重庆金域第一份新系统的报告单2017年9月21日13:00正式发出
  9. S1 data forwarding测试方法
  10. 单片机IO口低电平不为0V