zoukankan      html  css  js  c++  java
  • java课程设计--坦克大战

    java课程设计--坦克大战

    一. 团队课程设计博客链接

    https://www.cnblogs.com/zwtcyt/p/12173572.html

    二.个人负责模块和任务说明

    墙体类,子弹类,道具类以及音效类的编写,部分GUI的编写

    三.代码的提交记录截图

    四.负责模块和任务详细说明

    墙体类

    主墙体即不可摧毁的墙体


    该类为所有障碍物的父类,子类继承时改变里面draw方法

    草地类

    河流类

    可摧毁的墙类

    音效类

    子弹类


    子弹与碰撞检测


    利用javafx中shape的intersect方法来得出两个组件重叠的部分,比较重叠部分的宽度来判断是否碰撞

    部分GUI




    利用Timeline来进行地图的绘制

    绘制效果

    五.课程设计感想

    因为这一次我们编写界面用的是javafx而不是swing,我们需要学习一遍javafx再来写代码。在编写碰撞检测时,swing的语句和javafx语句并不相同,需要查找fx中特有的方法来实现。Java swing中的判断检测只需要调用Rectangle中的intersection方法,而fx并没这个方法,需要特别调用shape中的intersect方法,通过计算重叠部分的长宽来检测是否碰撞。
    写音乐类的时候我方坦克被击中的时候,会同时播放子弹击中和
    基地爆炸的音效,所以想到利用synchronized防止线程之间的互相干扰。
    在经过大一的两个课设中,我深深体会到了,课设对于我们来说,就是一次期末总结以及对自己的锻炼,在课设中不仅仅老师可以清楚的看清我们本学期所学到的知识,还可以加强自己的能力,对自己的不足进一步学习,查缺补漏,在平时学习中,我们只是简单地在课本上学习知识,只有在课设中,我们才能根据需求来写代码,所以可以趁着课设我们既可以对自己平时的不足进行弥补,又可以得到电联。我还深深体会到了,在遇到问题时,可以先去百度寻求问题的答案,然后再根据自己的需求来改写代码。这样可以锻炼我们阅读代码的能力,这对于我们工作以后也是有益处的。

  • 相关阅读:
    OC-为何用copy修饰block
    OC-RunLoop运行循环
    苹果审核之遇到IPV6问题被拒的解决方法
    LeetCode学习_day1:原地算法
    OC-加载h5富文本的代码,并计算高度
    OC-bug: Undefined symbols for architecture i386: "_OBJC_CLASS_$_JPUSHRegisterEntity", referenced from:
    了解iOS各个版本新特性总结
    iOS 快速打包方法
    iOS tableView侧滑删除的第三方控件
    Object_C 集成环信时,中文环境下不显示中文
  • 原文地址:https://www.cnblogs.com/ls1272397716/p/12174039.html
Copyright © 2011-2022 走看看