• 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防止线程之间的互相干扰。
    在经过大一的两个课设中,我深深体会到了,课设对于我们来说,就是一次期末总结以及对自己的锻炼,在课设中不仅仅老师可以清楚的看清我们本学期所学到的知识,还可以加强自己的能力,对自己的不足进一步学习,查缺补漏,在平时学习中,我们只是简单地在课本上学习知识,只有在课设中,我们才能根据需求来写代码,所以可以趁着课设我们既可以对自己平时的不足进行弥补,又可以得到电联。我还深深体会到了,在遇到问题时,可以先去百度寻求问题的答案,然后再根据自己的需求来改写代码。这样可以锻炼我们阅读代码的能力,这对于我们工作以后也是有益处的。

  • 相关阅读:
    MySQL 卸载
    Mysql(压缩包)下载与安装
    sqlserver一次性修改多条
    mysql一些操作
    SQL函数集合
    js时间转换相关
    easyui grid中翻页多选方法
    easyui combobox筛选(拼音)
    wpf图片切换,幻灯效果
    openfire搭建IM
  • 原文地址:https://www.cnblogs.com/ls1272397716/p/12174039.html
Copyright © 2020-2023  润新知