RIA坦克大战Word文件下载.docx

上传人:b****3 文档编号:15878311 上传时间:2022-11-16 格式:DOCX 页数:13 大小:47.99KB
下载 相关 举报
RIA坦克大战Word文件下载.docx_第1页
第1页 / 共13页
RIA坦克大战Word文件下载.docx_第2页
第2页 / 共13页
RIA坦克大战Word文件下载.docx_第3页
第3页 / 共13页
RIA坦克大战Word文件下载.docx_第4页
第4页 / 共13页
RIA坦克大战Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

RIA坦克大战Word文件下载.docx

《RIA坦克大战Word文件下载.docx》由会员分享,可在线阅读,更多相关《RIA坦克大战Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

RIA坦克大战Word文件下载.docx

3.1.6功能演示…………………………………………………………………….……11

  3.3存储分配……………………………………………………………………………..…11

  3.4限制条件…………………………………………………………………………………12

  3.5测试要点…………………………………………………………………………………13

4总结………………………………………………………...................................….….....13

1.引言

随着社会的进步,现在人们工作的压力越来越大,休息的时候很少,为了让疲惫的心灵得以休息,开发了坦克大战的小游戏来让玩家轻松一会,该游戏操作十分简单,只要操作键盘上的方向键按住攻击键就可以玩该游戏,轻松享受玩游戏的喜悦,可操作性好,而且不会使玩家沉溺于该游戏,对玩家的学习和工作都起到极的作用。

1.1编写目的

为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。

本文档供项目经理、设计人员、开发人员参考。

1.2项目背景

a.项目名称:

简单坦克大战游戏

b.产品用户:

对该游戏感兴趣的玩家

c.项目和系统的关系:

本项目旨在编写出一个操作简单但可玩性良好的小游戏来让玩家放松一下心情,对系统硬件配置要求低。

实现简单。

1.3参考资料

《HTML5和RIA网站设计》

2.总体设计

1.1程序概述

本程序是一个坦克游戏程序,游戏开始时,用户通过键盘操纵坦克移动,转弯和射击,与敌人坦克进行交战,直到消灭所有敌人就可以过关

敌方坦克:

我方坦克:

子弹:

音乐播放:

2.1需求概述

游戏包括的范围:

本游戏包括主类、坦克类、子弹类。

要求游戏能有效、快速、安全、可靠和无误的完成上述操作。

并要求客户端的界面要简单明了、易于操作,服务器程序利于维护。

需求

模块

产生游戏的屏幕

主类模块

将坦克大战的过程呈现在屏幕上

画出坦克

坦克类模块

控制坦克的移动并让坦克可以攻击

画出子弹

子弹类模块

控制子弹的移动

2.2坦克游戏程序总体框架

总体框架图

2.3功能总述

游戏开始:

进入游戏后,需要在右方点击一个m按钮,方能开始游戏。

坦克控制:

接下来你可以按键盘的上、下、左、右键来控制自己的坦克上、下、左、右移动。

坦克发子弹:

按空格键可以发射子弹。

坦克爆炸:

自己的子弹打到了敌方坦克会爆炸,敌方坦克子弹打中自己坦克也会爆炸。

敌人坦克:

敌人会随机的上、下、左、右移动,以及发射子弹,敌人坦克移动也遵循坦克移动规则。

游戏声音:

根据用户选择是否开启音乐,声音让游戏变得更有乐趣。

游戏暂停与继续:

当你有事的时候,需要暂停游戏,点击n的暂停按钮,游戏便暂停了,再点击游戏继续。

声音控制:

点击右方的声音控制按钮来实现游戏声音的开关和大小。

游戏结束:

当自己的生命数为0,或者强行关闭。

3.程序描述

3.1.1画地图

主类是要画出屏幕,并且要将坦克之间打斗的全过程都呈现出来的,所以要先产生一个窗口。

<

canvasid='

tankMap'

width='

500px'

height='

300px'

style='

background-color:

black'

>

3.1.2坦克类模块

该类实现在屏幕上画出坦克,并控制坦克的移动,让坦克可以发射炮弹打对方等功能。

画出坦克的方法如下:

functiondrawTank(hero){

switch(hero.direct){

case0:

case2:

//alert(ctx);

ctx.fillStyle=hero.color[0];

ctx.fillRect(hero.x,hero.y,5,30);

ctx.fillRect(hero.x+15,hero.y,5,30);

ctx.fillRect(hero.x+6,hero.y+5,8,20);

//需要注意,画圆的时候需要重新开启路径

ctx.fillStyle=hero.color[1];

ctx.beginPath();

ctx.arc(hero.x+10,hero.y+15,3,0,Math.PI*2,true);

ctx.closePath();

ctx.fill();

//画出炮筒(直线)

ctx.strokeStyle=hero.color[1];

ctx.lineWidth=2;

ctx.moveTo(hero.x+10,hero.y+15);

if(hero.direct==0){

ctx.lineTo(hero.x+10,hero.y);

}elseif(hero.direct==2){

ctx.lineTo(hero.x+10,hero.y+30);

}

ctx.stroke();

break;

case1:

case3:

ctx.fillRect(hero.x,hero.y,30,5);

ctx.fillRect(hero.x,hero.y+15,30,5);

ctx.fillRect(hero.x+5,hero.y+6,20,8);

ctx.arc(hero.x+15,hero.y+10,3,0,Math.PI*2,true);

ctx.moveTo(hero.x+15,hero.y+10);

if(hero.direct==1){

ctx.lineTo(hero.x+30,hero.y+10);

}elseif(hero.direct==3){

ctx.lineTo(hero.x,hero.y+10);

该方法里实现了一个move方法,可以将坦克的移动都画出来,坦克的move方法如下:

这里就涉及了随机数的概念了,用随机数来控制敌军坦克在屏幕上移动的频率,让敌军坦克显得更加的智能一些,让我军坦克无法预料敌军运动的轨迹,从而增添可玩性。

//改变方向,走2次,再改变方向

if(this.count>

2){

this.direct=Math.round(Math.random()*3);

//随机生成0,1,2,3

this.count=0;

}

this.count++;

对按键的处理也是很讲究的,应该是按下某个键或抬起某个键的时候激发事件,而不应该是按下某个键就一直激发事件,让坦克不停的移动或者开火。

实现激发按键事件的代码如下:

switch(keycode){

case38:

hero.moveUp();

case39:

hero.moveRight();

case40:

hero.moveBottom();

case37:

hero.moveLeft();

case32:

hero.shotEnemy();

case77:

for(vari=0;

i<

3;

i++){

varenemyTank=newEnemyTank((i+1)*50,0,2,enemyColor);

enemyTanks[i]=enemyTank;

window.setInterval("

enemyTanks["

+i+"

].run()"

300);

//启动这个敌人的坦克

case78:

begin=!

begin;

以上代码实现了按下键的时候激发事件,抬起键的时候不激发事件,这样就可以控制坦克的移动方向和发射炮弹要不停的按键才能转换了。

坦克发射炮弹应该在坦克的中心位置开始发射的,不应该是在坦克的左边或是右边还是在后边,这些地方都不合适,实现坦克的发射的代码如下:

functiondrawHeroBullet(bullets){

bullets.length;

varheroBullet=bullets[i];

if(heroBullet.isLive&

&

heroBullet!

=null){

ctx.fillStyle='

#FEF26E'

;

ctx.fillRect(heroBullet.x,heroBullet.y,2,2);

3.1.3子弹类模块

该类实现在屏幕上画出子弹和子弹的移动轨迹以及实现了坦克攻击墙壁与攻击敌方坦克的功能。

里面有一个move方法,与前面的坦克类相似,都是画出物体移动的轨迹,这里是画出子弹在屏幕上移动的轨迹。

functionBullet(x,y,direct){

this.x=x;

this.y=y;

this.speed=3;

this.timer=null;

this.isLive=tru

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1