1 项目概述

1.1 项目背景

《坦克大战》(Battle City)是1985年日本南梦宫Namco 游戏公司开发并且在任天堂FC平上,推出的一款多方位平面射击游戏。游戏以坦克战斗及保卫基地为主题,属于策略型联机类。本项目(《坦克大战最短路》)就是以《坦克大战》作为背景并结合广度优先算法实现的一款“最短路”游戏。

该游戏包含的游戏对象

坦克

砖块

钢墙

河水

子弹

星星

该游戏目标

坦克要在尽可能小的消耗到达星星的位置。在此约定,坦克每前进一步或是改变一次方向都消耗一个能量值。坦克不能穿过砖块、钢墙、河水等障碍物,但是可以发射子弹(保证坦克拥有足量的子弹)对砖块、钢墙进行摧毁。其中摧毁砖块需要消耗一个能量值,摧毁钢墙需要消耗两个能量值。

1.2 功能需求

1.2.1 核心功能

开始新游戏

绘制地图: 手动绘制和自动绘制

模式选择:自动模式和手动模式

1.2.2 其他功能

自带截图

实时显示当前能量消耗

1.3 非功能需求

1.3.1 界面

图形界面,具有良好的菜单层次结构,简单清晰

实时显示当前系统时间

实时显示当前鼠标坐标和当前坦克坐标

1.3.2 操作

操作方式友好,支持鼠标和键盘操作,并且具有较好的容错能力,用户在使用过程中,除了规定的按键外,其他按键均忽略,不予处理。<br>

1.3.3 运行环境(软件)

操作系统:Windows XP 及以上版本

框架:.NET Framework V4.0 及以上版本

源码下载地址:https://www.write-bug.com/article/1453.html

转载于:https://my.oschina.net/u/4185264/blog/3087429

[源码和文档分享]基于C#实现的坦克大战游戏的最短路相关推荐

  1. java rpg对战_[源码和文档分享]基于java的RPG回合制游戏

    一.工作积累总结 该项目是一个回合制RPG游戏,讲述了动物主角对抗人类,自逃出动物园开始,一路与人类对抗,提升能力,并寻找新队友组成团体,逼得人类不得不与之谈判,最终与人类达成了和平协议的故事.玩家可 ...

  2. java模拟回合制游戏大小姐_[源码和文档分享]基于java的RPG回合制游戏

    一.工作积累总结 1.1 简介 该项目是一个回合制RPG游戏,讲述了动物主角对抗人类,自逃出动物园开始,一路与人类对抗,提升能力,并寻找新队友组成团体,逼得人类不得不与之谈判,最终与人类达成了和平协议 ...

  3. mfc 怎么让键盘上下左右控制图片移动_[源码和文档分享]基于MFC的陨石撞飞机游戏设计与实现...

    摘 要 用MFC设计一个陨石撞飞机的平面游戏,陨石不断下落,飞机通过键盘的上下左右键移动以躲避陨石.当陨石撞到飞机时,显示游戏结束提示对话框.设计开始要对开发环境VC 6.0的熟悉,需要学会如何添加资 ...

  4. python下俄罗斯方块的游戏设计_[源码和文档分享]基于Python的PyGame的俄罗斯方块游戏设计与实现...

    摘 要 近年来,随着游戏产业的突飞猛进,游戏玩家的技术也是与日俱增,当你看见游戏高手完美的表演时,你是否想过我也能达到那种水平,本程序用Python语言编写俄罗斯方块,左侧显示正在运行的游戏,右边显示 ...

  5. [源码和文档分享]基于C++的鬼脚图抽签游戏

    一.问题描述 抽签是日常生活中一种十分常用的决策方式,具有着良好的随机性与公平性.我们本次设计的目的就是通过鬼脚图来编程实现简单的抽签过程.鬼脚图本身具有公平性和唯一性,通过随机生成的矩阵来表示鬼脚图 ...

  6. [源码和文档分享]基于WIN32 API实现的超级玛丽游戏

    游戏中用到的类结构介绍 图像层 图像基类MYBITMAP 游戏背景MYBKSKY->MYBITMAP 游戏图片MYANIOBJ->MYBITMAP 魔法攻击MYANIMAGIC->M ...

  7. [源码和文档分享]基于WIN32 API实现黄金矿工游戏单人版

    三.游戏功能设计 1.开屏 显示内容: 程序启动后,显示初始化图片,计时结束,进入菜单界面. 逻辑处理: 控制图片从左至右显示. 2.菜单 显示内容: 显示菜单背景图片,显示"开始" ...

  8. [源码和文档分享]基于JavaFx的多线程葫芦娃打斗游戏

    关键词 战斗 JavaFx Maven 多线程 过程记录和过程复现 一.故事背景 狭路相逢勇者胜,葫芦兄弟和老爷爷在山洞中与众妖精决一死战!一断江湖,啊不,葫芦山恩怨! 在武侠的BGM下,葫芦娃和妖精 ...

  9. java记事本技术参数_[源码和文档分享]基于JAVA的记事本

    一.绪论 现如今,电脑已经成为了每家每户甚至是每个人手头都必有的一种实用性工具,它改变了人们的生活,大大提高了人们的工作效率.在此基础上,电脑端的记事本应用一直是每台电脑所必备的实用性应用,不管是在台 ...

最新文章

  1. python和c++的相互调用教程
  2. 比赛杀器LightGBM常用操作总结!
  3. 是什么浪费了我的时间
  4. mybatis 获得一个map的返回集合
  5. java接口等待几秒再返回_怎样才能在UI线程中等待okhttp返回结果才进行下一步
  6. div靠边隐藏_css如何隐藏div不占位置?
  7. java jar apktool,ShakaApkTool.jar v3.0.0(反编译显示中文的apktool)下载
  8. [图像]张正友论文翻译(2)
  9. Django开发利器——django-debug-toolbar
  10. PHP Include文件
  11. 显示控件——图标类之图标旋转
  12. MIME类型 swfupload 及 php
  13. 欧姆龙NJ/NXPLC 全ST程序案例
  14. android 微信缩小通话界面_Android仿微信多人音视频通话界面
  15. 利用twitter官网提供的api 及tweepy库 爬取tweets
  16. 2018-09-20直播笔记
  17. 域名购买amp;备案amp;解析
  18. 计算机相近专业职称,计算机专业技术职称有哪些?
  19. Word文档多级标题编号及编号前黑条解决方案
  20. php网站动态设计代码,玩转PHP动态网页设计

热门文章

  1. solidwork学习
  2. 安卓面试之自定义View流程及原理
  3. 常用的织梦调用时间标签
  4. 掌握这些PPT快捷键,提供工作效率不是问题
  5. sam/bam格式说明
  6. 因果推断dowhy之-401(k)资格对净金融资产的影响
  7. 黑马程序员JAVA基础-第一个程序
  8. Qt多线程调用gdal库接口
  9. 怎么可以让div不换行
  10. jquery html() 乱码,jquery中文乱码怎么解决?