战舰游戏设计课程报告+源码


战舰游戏设计课程报告.采用Java语言基于IDEA开发工具完成,有音效,使用的是自定义的线程,信能不太好,可以自己下载下来使用线程池优化一下.源码也包含在压缩包里面了,有直接使用Maven打的jar包运行.
资源截图
代码片段和文件信息
package com.game.submarine.action;

import com.game.submarine.hit.Blast;
import com.game.submarine.panel.MyPanel;
import com.game.submarine.ship.Submarine;
import com.game.submarine.ship.WarShip;

import javax.swing.*;
import java.awt.*;
import java.net.URL;
/**
 * title: com.game.submarine.action
 * @author: lixing
 * date: 2018/6/2 15:06
 * description:潜艇发射鱼雷对象
 */
public class Torpedo implements Runnable {
    private MyPanel panel;
    private WarShip ship;
    private Submarine sm;
    /** 默认长度和宽度 参数来自图片*/
    private int  weight = 5;
    private int  height = 5;
    /** 位置xy*/
    private int  X;
    private int  Y;
    /** 移动距离*/
    private int  dy = 1;
    /** 运行标记*/
    public   boolean flag = false;
    private Image image;
    private Blast blast;

    public Torpedo(MyPanel p WarShip ws Submarine sm)
    {
        this.panel = p;
        this.ship  = ws;
        this.sm    = sm;
        URL url=Torpedo.class.getResource(“/images/鱼雷.png“);
        image = Toolkit.getDefaultToolkit().getImage(url);
        image = new ImageIcon(image).getImage();
        this.weight = image.getWidth(panel);
        this.height = image.getHeight(panel);
        this.X     = this.sm.getX() + this.weight/ 2;
        this.Y     = this.sm.getY();

    }
    public void drawTorpedo(Graphics2D g)
    {
        g.drawImage(image this.X this.Y panel);
    }

    public void upMove()
    {
        this.Y -= this.dy;
        if(this.Y <= 150)
        {
            this.hitting();
            this.flag = true;
        }
        if(this.sm.flag == true)
        {
            if(this.Y < 150)
            {
                this.flag = true;
            }
        }
    }
    @Override
    public void run()
    {
        while(!flag)
        {
            this.upMove();
            if(this.panel.isStop() == true)
            {
                synchronized(MyPanel.subLock)
                {
                    try
                    {
                        MyPanel.subLock.wait();
                    }
                    catch(Exception e)
                    {
                        e.printStackTrace();
                        this.flag = true;
                    }
                }

            }

            try
            {
                Thread.sleep(10);
            }
            catch(Exception e)
            {

                e.printStackTrace();
                this.flag = true;
            }
        }
    }

    /** 判断是否击中战舰*/
    public void hitting()
    {
        if(this.X > (this.ship.getBeginX() - this.weight) && this.X < (this.ship.getBeginX() + this.ship.getWidth()-this.getWeight()))
        {

            int num = this.panel.getLiveNum();

            blast  = new Blast(this.ship.getBeginX() + this.ship.getWidth() /2 this.ship.getBeginY() + this.ship.getHeight() / 2);
            Thread t = new Thread(blast);
            thi

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-02-09 13:41  战舰游戏设计课程报告
     目录           0  2019-02-09 13:41  战舰游戏设计课程报告fight
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fight.idea
     文件         622  2018-06-11 21:19  战舰游戏设计课程报告fight.ideacompiler.xml
     文件         654  2018-06-13 18:47  战舰游戏设计课程报告fight.ideaencodings.xml
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fight.ideainspectionProfiles
     文件        1551  2018-06-09 13:27  战舰游戏设计课程报告fight.ideainspectionProfilesProject_Default.xml
     文件         457  2018-06-09 11:15  战舰游戏设计课程报告fight.ideamisc.xml
     文件         250  2018-06-09 11:15  战舰游戏设计课程报告fight.ideamodules.xml
     文件       67066  2018-06-17 12:14  战舰游戏设计课程报告fight.ideaworkspace.xml
     文件        1134  2018-06-12 23:36  战舰游戏设计课程报告fightfight.iml
     文件        2785  2018-06-13 21:02  战舰游戏设计课程报告fightpom.xml
     文件        1027  2019-02-09 13:41  战舰游戏设计课程报告fight
eadme.md
     文件        1018  2018-06-15 11:16  战舰游戏设计课程报告fight
eadme.md.bak
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fightsrc
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fightsrcmain
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fightsrcmainjava
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fightsrcmainjavacom
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fightsrcmainjavacomgame
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarine
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarineaction
     文件        4160  2018-06-15 16:04  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarineactionTorpedo.java
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarineumb
     文件        3029  2018-06-16 18:36  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarineumbBumb.java
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarineutton
     文件        3126  2018-06-13 12:04  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarineuttonMyButton.java
     目录           0  2019-02-09 13:40  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarinedialog
     文件        6574  2018-06-16 19:25  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarinedialogHelpDialog.java
     文件        7013  2018-06-15 12:49  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarinedialogInfoDialog.java
     文件       10000  2018-06-15 12:49  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarinedialogInputDialog.java
     文件        4102  2018-06-15 12:49  战舰游戏设计课程报告fightsrcmainjavacomgamesubmarinedialogMyDialog.java
............此处省略150个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)