关键词不能为空

当前您在: 作文首页 > 小学作文 >

亲哥哥毕业论文 网络小游戏

作者:高考题库网
来源:https://bjmy2z.cn/zuowen
2021-01-26 11:19
tags:

亲哥哥-关于春天的作文

2021年1月26日发(作者:诗歌散文集)
网络小游戏
----
连连看


摘要





因特网的发展使人类进入了一个全新的世界,
人与人之间可以 远隔万里为了
同一兴趣爱好而交流,
做到了网络无国界,
信息无国界。
随着因 特网的不断发展,
网络游戏作为一个新的名词融入到了人们的日常生活当中。网络游戏来源于

onlinegame
”,更直接的翻译是“在线游戏”,亦即必须在大家联网而且都在
线的时候,才能够团队互动,否则就属于单机游戏了。

网络游戏产业作为现代电脑电子技 术的产物,
正在以其独特的魅力在全世界
的娱乐领域占据主流位置,
我们在承认广大娱 乐网民的选择空间狭小的同时,

必须明确的一点就是网络游戏本身所具有的强大的吸引力。< br>网络游戏的吸引力主
要在于,
它在让玩家打发时间的同时,
可以让人实现在显示 生活中不能实现的理
想,
得到在显示中不能得到的东西。
而且网游产业促动高科技技术 不断升级,

为经济增长的一大支撑点,已经成为经济腾飞的“第四产业”。近年来,世界网< br>络游戏市场高速发展。
根据统计,
全球网络玩家所占互联网人群的比例已经超过
30%
。网络游戏凭借其信息双向交流,速度快,不受空间限制等互联网有时,具
有诱人的互动 性、仿真性和竞技性,已经成为网络业盈利优厚的三大领域之一。
网络平台的发展,为网络游戏奠定了坚 实的“物质”基础。宽带的迅猛发展为网
络游戏提供了
“高速公路”

而专用 游戏服务器则为网络游戏提供了容量巨大的
“加油站”。前不久,网络游戏还被视为一个“高风险”的行 业,但随着人们对
网络游戏的重新认识,网络游戏正在恢复其应有的地位。

关键字





连连看、网络游戏、网络对战。

目录

1
选题背景
.............................................. ...................
1

1.1
课题来源

................................. ..........................
1

1.2
目的

................................... ............................
1

1.3
意义

................................... ............................
1

1.4
主要问题

................................. ..........................
1

1.5
技术要求

................................. ..........................
2

1.6
发展概况

................................. ..........................
2

1.7
指导思想

................................. ..........................
2

2
方案 论证
............................................ .....................
2

2.1
设计原理................................................ ............
2

2.2
方案选择

. .................................................. ........
3

2.3
数据流图

..... .................................................. ....
3

3
系统设计

............ .................................................. ...
4

3.1
基本思路

.......... .................................................
4

3.1.1
解决游戏区域问题
............. .................................
4

3.1.2
获取图片位置的思路
....................... .....................
4

3.1.3
网络通 信协议的思路
........................................ ....
5

3.1.4
其它功能的思路
......... .......................................
5

3.2
界面的设计和图片的随机生成

.........................................
5

3.2.1
界面的设计
................ ....................................
5

3.2.3
单机控件的事件触发
....................... .....................
7

3.2.4
其它控 件与功能
.......................................... ......
9

3.3
图片是否可消除的判断

..............................................
10

3.3.1
两张图片是否相同
............ .................................
10

3.3.2
图片路径的判断
......................... ......................
12

3.4
网络通信 与对战
........................................... ..........
13

3.4.1
概要
....... ..................................................
13

3.4.2
读取对家发送的数据
........... ................................
13

3.4.3
网络通信控件事件触发
...................... ...................
16

4
结果分析

.............................................. ..................
18

4.1
数据分析

................................. .........................
18

4.2
运行结果分析

............................... .......................
19

4.2.1
游戏同时开始问题
...................................... .......
19

4.2.2
游戏结束时的判断
.... .........................................
19

5
总结

.................. ..................................................
20

谢辞
............................ ..........................................
20

参考文献
......................... ........................................
20

1
选题背景

1.1
课题来源



网络游戏起源早期电子游戏中的
RP G
游戏(角色扮演游戏)。
RPG
游戏是
电子游戏中历史最为悠久的一种,< br>也是数量最为庞大的一种,
因为
RPG
游戏相对
于其他类型的游戏,< br>技术要求最低,
电脑配置要求也最低,
因此开发起来相对容
易很多。
在 电子游戏发展史中,
也留下了许许多多的经典作品,
像家用电视游戏
机上的最终幻想系 列,
PC
机上魔法门系列,还有中文电脑
RPG
游戏的经典仙剑
奇侠 传。
正是因为
RPG
游戏的竞争十分激烈,
许多厂商开始力图在
RP G
游中引入
一些新鲜的因素。
1997
年,暴雪公司发布了
DIAB LO
(暗黑破坏神),这其实是
一款全新的游戏类型,
严格意义上来说这并不是一款传 统的
RPG
游戏,
它更像是
即时战略游戏与传统
RPG
的结 合,但它又确实包含了许多传
RPG
的因素在里面,
最为关键的就是完整包括了角色的 升级系统,所以业界给这种游戏定义为
ARPG
(动作角色扮演游戏)。
DIABLO
对游戏界的贡献还不只于此,这款游戏还首创
了战网游戏系统,所有正版游戏用户都可以得到一 个
CDKEY
,用这个
CDKEY
可以
上到暴雪为用户免费开发的服 务器上进行多人游戏,
这虽然有别于现在的网络游
戏,但无疑为后来的网络游戏开发商提供了一 个很好的思路。

随着电脑软硬件技术和互联网的飞速发展,
电脑游戏也突飞猛进,
成功游戏
不断涌现。比较成熟的项目主要有:反恐精英(
CS
)、星际争霸、 魔兽争霸
2

FIFA2003
、帝国时代、
FIFA2004等等。这时也出现了越来越多的网络小游戏,
休闲类项目包括网络围棋、中国象棋、四国军棋、桥牌 、麻将、拱猪、斗地主、
拖拉机、连连看等。

1.2
目的

网络小游戏制作的目的是满足了人们休闲的需要,
在紧张工作之余休闲类的
小游戏能够 给人带来最大程度的放松,
也可以增进人们之间的交流,
沟通,
通过
游戏还可 以认识更多的朋友,
也可以到达跨省、
跨市,
甚至跨国间人们互相娱乐
的目的 。

另外也通过本程序将三年来所学的专业知识和其他方面的知识融入到实际
应用中。

1.3
意义

通过此次课题的设计,
掌握如何制作一个游戏软件 ,
以及制作游戏软件的整
个流程,制作游戏软件的步骤,为以后的就业工作打下基础。

1.4
主要问题

开始制作游戏时,
主要要解决的问题有以下几 个方面:
如何设置整个游戏的
界面;
如何控制连连看游戏中随机图片的生成且每种图片 必须为偶数个;
游戏开
始后,
判断鼠标两次点击的图片能否消去,
即图片是否 相同且图片之间路径的判
断;
如何连接网络上的两台计算机实现网络对战,
互发消息,
如何判断游戏是否
结束以及输赢问题等。

1.5
技术要求

网络中任意计算机当运行该游戏软件是,能自己决定是当客户机还是服务
器,如果要当服务器,则等待客户机的连接请求;如果要当客户机,则要主动去
连接服务器。< br>游戏中能正确判断鼠标两次点下的图片是否可以消去、
能正确判断
游戏是否已经结束和哪 一方玩家胜出。
还可顺利发消息给对方和接收对方发来的
消息。

1.6
发展概况


网络游戏正处于加速发展周期中,中国网络游戏市场迅 速扩大,近三年的
年均增长率超过
100%
。网络游戏的告诉发展,逐渐引起了我国政 府的高度重视,
信息产业部、
文化部、
新闻出版总属等相关部门都在积极推动各项市场 监管和鼓
励网络游戏产业发展的政策措施的出台,
2003
年网络游戏首次被正式纳入 国家
863
计划,标志着我国网络游戏产业已经的到政府的充分重视。除外,在网络游
戏产业发展的同时,有力带动了相关行业的发展,如软件、计算机、通信、电信
运营、互联网等,根据统 计,网络游戏能够带动
10
倍于自身产值的相关行业的
发展。
预计未来三年,
中国游戏时常规模仍将保持
60%
以上的告诉增长,

2006年市场规模将接近
100
亿元,
而多样的资本运作模式将成为网络游戏产业发展的
重要推动力。同时,手机游戏、家用游戏机、游戏传媒、电子竞技等游戏周边行
业也将快速发展 起来。

1.7
指导思想


按照软件开发的 总过程进行设计,
经历定义和计划、
需求分析、
软件设计、
软件编码、软件测 试等过程。

2
方案论证

2.1
设计原理

本设计采用客户机—服务器模式,
网络上两台计算机自主决定是否当服务器
或是客户机 ,
若一方为客户机,
则另一方为服务器,
当连接上是则分别点击准备
以待游戏 的开始,游戏开始时间以后当对战双方都准备后程序自动判定游戏开
始。游戏开始后,双方都有自己的游 戏区域,互不干扰,当一方消完全部的图片
则向对方发送游戏结束信息,
并在双方显示相关提示 信息,
游戏过程中,
双方都
会显示对家和自己还剩下未消去的图片数。
< br>游戏规则是模仿网络上普通的连连看游戏,
主要是鼠标两次点击的图片能否
消去的问题。
当前,
前提是点击两张相同的图片,
若点击的是同一张图片或者两
张不同的图 片,
则不予处理。
在两张想同图片所能连通的所有路径中,
如果存在
一条转弯 点不多于两个的路径,就可以消去;如果没有,则不予处理。

游戏过程,
任意一家
(假设为
A
方)
消去图片后必须同时向对家发送已消去
两张图片的信 息。
这样对方
(假设为
B
方)
在获取信息后即显示
A
方剩余的图片
数,当
A
方剩余图片数为
0
,而
B
方剩余图片数大于
0
,则提示
A
方胜利。
B

失败 的信息。

考虑到游戏娱乐性以及网络游戏的交互特性。
加入聊天功能,
这 样交战双方
可以在游戏之后或者过程中发表自己的看法与经验
(这也是参考了当前网络游戏的潮流来设计的)。

2.2
方案选择

在概要设计阶段,只要有两中方案可供选择:

一、双方都有自己的游戏区域,互不 干扰,谁先消完全部的图片方块则就为
胜出的一方,同时不管另一方是否已经消完全部的图片方块,游戏 仍然
结束。

二、双方的游戏区域相同,即共用一个游戏区域,当一方消去两块图片 ,则
其总共消去的方块数加
2
,并且对方的游戏区域中也少掉那两块图片。
当 所有的图片方块都消去后,则游戏结束,统计消去的图片块数多的一
方为胜者。

在 第二种方案中,
双方共用一个游戏区域,
任何一放的消去方块的动作都要
在另一方中实 时的反应出来,
这容易产生一些问题,
就比如甲方点下图片下标值

1
的图片(姑且用甲),乙方点下另一张图片下标值也为
1
的图片,当乙方想
再次点下 另一张下标值为
1
的图片时,
甲方已经先于乙方点下那张图片,
则按规
则就已经消去了,
反应在乙方这边的好象是乙方做了一次空操作,
如此反复的话,
可 能会引起玩家的厌烦心在网络上流行的连连看游戏或者其他的游戏都是以第
一种方案为设计思想,
对第二种方案设计的游戏的规则可能会不太习惯,
玩起来
就不能达到娱乐的目的了。
所以我们放弃第二种方案的设计思想,
参考网络上流
行的连连看的游戏规则,设计出第一种方案 。

2.3
数据流图

由于游戏包含网络功能,
所以 将程序分为服务端程序和客户端程序。
两种程
序既有自身模块之间数据传送,
也有与对 方程序之间的数据传送,
所以就有了下
面的这个数据流图:

3
系统设计



针对上面的需求分析,我们把整个软 件分成三个模块:
1
、整体界面的设计
和图片的随机生成;
2
、图片 路径判断函数;
3
、网络通信与对战。


以下就是系统结构图:(略)

3.1
基本思路

3.1.1
解决游戏区域问题


这个问题最简单,但是 却是最花时间的。正所谓:万事开头难。刚开始想了
好多控件来实现。比如
Label

Panel
等等,后来在参考文献中发现一个扫雷游
戏可以通过
image
控件来画图。
因此在几天之后才解决这个最早的最简单的也是
最头疼的问题。

3.1.2
获取图片位置的思路

首先,
最基本的就是关于程序 图片的位置怎么获取,
以及如何控制。
这里采
用最常用的方法——数组。
考虑 到图片是多行多列的格式。
所以采用二维数组
(数
组名为
flag[]
)的方式来控制比较直观,并且为了程序容易解读,统一在不同
过程中用名为
i
和< br>j
的变量来分别表示行列。
程序开始时给数组中的各个元素赋
初值为
0
,即表示没有图片。

然后数组控制整个游戏区域,
游戏区域最外围为空白 区域,
即相关元素的值

0
。这样就可以保证游戏刚开始后,第二层显示的图 片之间的相连路径处理时
就没有阻碍了。

现在介绍
flag[]
数组具体控制图片的过程,首先,由于每张图片显示的宽
度×高度为
39
×
4 7

所以整个控件设置为
468
×
376

包括外 围空白的两行两列)

而每张图片可以用
flag[i,j]
来表示,它在< br>image
内部的位置为
{x=i*39

(i+1)*39,y=j *47

(j+1)*47}
这样
image
控件内的一点
M(x,y)
所对应的图片就
可以转化为数组
flag[i,j]
的值来判断 。这个思路的具体算法可以后面的
3.2.2
的第二个步骤中得以体现。

3.1.3
网络通信协议的思路


这里有一点非常需要 解决,
那就是对战双方发送的游戏状态信息、
聊天信息、
用户准备信息全部是同一个方 法来发送出去的,
这进接收方将无法判断收到的信
息是哪个类型的,
这时通过定义发送 信息的协议来完成。
即在每次发送不同信息
前加入一个四字符长的字符串来说明是哪种类型,< br>接收方通过提取接收到信息前
四个字符来判断是哪种类型,然后进行进行相关的处理。详细处理过 程见
3.4.2
的内容。

3.1.4
其它功能的思路


其它功能的思路基本上没有什么难度也没花多少时间去解决,
因此将在后面< br>的具体各个部分的设计过程当中分别进行介绍。

3.2
界面的设计和图片的随机生成


由于这个程序的界面并不是很复杂 ,所以用到的控件也不多,主要核心内
容还是后台的代码设计。图片的随机生成主要是用到一个
random()
函数将随机
数赋值给
flag[]
数组中的每个元素,然后 根据数组元素值,来显示图片。(这
个在
3.1.2
的思路中有详细的介绍)

3.2.1
界面的设计

将整体界面分为三个大的部分,左上部分为游戏 图片显示区域,即主区域,

IMAGE
控件
;
右上角为命令按钮、 聊天信息框,双方游戏状态显示(用到了按
钮、
MEMO

EDIT

Label
等控件)

下面部分则是状态栏,
显示相关提示信息< br>(如

3-1
)。


3-1
程序主体界面

3.2.2
图片的随机生成

实现这个功能要分很多个步骤:

1.

程序运行时即载入 游戏需要的六张图片。通过一个循环,将命名为
[1-6].bmp
的位图载入到数组的各个元 素。这个数组的下标也是相应的
从标志为
1-6.
这样后面通过将
flag< br>标志的值置为
1-6
判断,该载入哪
张图片。具体载入图片的代码如下:

for i:=1 to 6 do
begin
fk[i]:=;//
生成一个数组分别存放六张图片

fk[i].loadfromfile('pic'+inttostr(i)+'.bmp');
end;
2.

当确认游戏开始时,通过画图过程完成图片生成,画图的过程代码如


procedure p();
var i,j,k:integer;
begin
gle(0,0,468,376);
//
初始化设置画出一片空白区域

for i:=1 to 6 do//
将给二组数组相关元素赋
1-6
的值,以方便画出
相应图

for j:=1 to 10 do
begin
randomize();
repeat
k:=random(6)+1; //
将生成随机数加
1

为了防止
0
生成)

flag[i,j]:=k; //
控制每个元素显示图片的名 称,
六张
图片文件名为
1-6
,均是
.bmp
格式

same[k]:=same[k]+1;
until same[k]<11;
(j*39,i*47,fk[flag[i,j]]);
{--*
说明开始
*--
在相关的的位置上画出设置好的图片。
具体画哪张图,
通过第三个参数完成,
这里用
fk
数组来确定,
而且 下标则由相关位置
(由
flag
数组的行列位置来标志)
的值来判定。

--*
说明结束
*--}


end;
end;
其中主要用到了
Pascal
语言中的
Random
函数

3.2.3
单机控件的事件触发

总共有四个按钮和两个文本框。
四个按钮分别是:
准备
(进入游戏准备状态,
当双方同时准备后就自动开始游戏)、 退出(退出游戏程序)、帮助(显示用户
帮助信息)、发送(发送聊天信息)。两个文本框中一个是MEMO
控件生成,用
来显示双方聊天记录
;
另一个是用来输入聊天信息 的。

四个按钮的事件以准备和发送按钮事件较复杂,
其它两个非常简单。
下面就
列出两个复杂的代码:

准备按钮过程代码:

procedure lick(Sender: TObject);
begin
gamevalue:=60;//
用来存储剩余图片数,开始默认为
60
d:=false;//
准备后,将按钮置为不可使用。

ready:=ready+1;//
准备后,
ready
变量加
1
player:=inputbox('
输入玩家名称
','
输入玩家名 称
','');//
如图
3-2
if IsServer then
tions[0].SendText('prep')
else xt('prep');
{--*
注释开始
*--
由于同一程序妆作 服务器端和客户端,
所以要判断不同的发送信息方式。

由于各种情况传送信

息全部为字符串,
而网络通信过程却要判断不同的信息类型,
因此发送时定
义 一个协议就是在所

有发送的字符串之前加入一个四个字符长的字符串。
当接收方收 到时再根据
这四个字符定义的协

议来处理不同的事件。
至于如何处理,< br>将在后面
3.3
网络通信与对战详细介
绍。注:后面如果有向对方

发送信息时都采用这种方法来判断并发磅信息。

--*
注释结束
*--}












if ready>1 then

3-2
输入玩家名称


3-3
连接到服务器端

//ready
变量是
BYTE
型用来判断双方是否已经同时准备,
默认为
0

任意
一家准备都加
1


begin
n:='60';//
游戏开始设置对家剩余图片数为
60
(默认)

n:='60';//
游戏开始设置自己剩余图片数为
60
(默
认)

d:=true;//
激活
IMAGE
控件

drawmap();//
调用画图过程

end
else Text:='
正在准备对家开始
';//
如果只有一家准
备,显示提示信息 。

end;
开始按钮的过程事件的设计过程分为三个阶段:

1.

游戏开始设计时,这时功能最简单,只需要激活
image控件与调用画图
过程即可

2.

加入网络游戏后,为 了让对家双方明确清楚谁赢了,加入要求用户开始
游戏之前输入玩家名字的功能。

3.

网络游戏要求双方全都准备好了才开始游戏,所以加入
read y
变量来判
断双方是否已经全部准备,并向对家发送已经准备的消息。(从这个功
能开 始,因为需要向对方发送信息,且由于服务器端与客户端发送消息
的方法不同,所以遇到发送消息功能时 全部通过一个新加入的类型为布
尔型的变量
isserver
判断)



发送按钮过程代码:

procedure ick(Sender: TObject);
var strchat:string;
begin
strchat:=;//
将输入框的内容存入字符串变量当中

(strchat); //
聊天记录框显示当前发送信息

if IsServer then//
判断当前电脑是服务器端时发送聊天信息的方式

tions[0].SendText('chat'+strchat)
Else//
当为客户端时发送聊天信息的方式。

xt('chat'+strchat);
:='';//
发送完信息,清空聊天输入框

end;


3.2.4
其它控件与功能

Label
控件,用来显示双方对 战过程剩余图片数。状态栏控件,用来显示
游戏过程相关的提示信息。包括单机和网络两方面的提示信息

用户帮助功能,当用户点击帮助按钮后,打开说明书文件,代码如下:

ShellExecute(Handle, 'open', '
说明书
.htm', nil, nil, SW_SHOW);
上面的代码就 是执行
Shell
指令,打开名为“说明书
.htm
”的文件。这里
由于考虑到并不是所有的电脑都安装有
Office
办公应用软件,不适应用
word
文档作说明书,
且又需要说明书界面不至于太单调,
所以将其保存为
web< br>页面
(几
乎能运行本程序的所有电脑都能打开
web
页面)

这样就能保证所有用户都能正
常阅读到帮助文件。

不过使用这个函数之前 ,要先加
ShellAPI,
即在源代码中的
implementation
下一行加入一行:
uses shellapi;
3.3
图片是否可消除的判断

本模块包括两部分:一是判断两张图片是否相同
;
二是路径判断问题。

3.3.1
两张图片是否相同

这个部分功能只与一个事件相关,就是
image
控件按下的事件。


这个事件算法,
其中很重要的一点就是在鼠标按下后要获取图片值,
这个思
路在前面的
3.1.1
有详细介绍,
另外本过程还有一个解决问题就是 ,
要判断前后
两次选中的图片是否相同,及其相应位置(路径判断时需要用到)。所以用两个< br>变量
tempi

tempj
来分别存储前次选中图片的行列位置。< br>下面是实现的算法代
码:

procedure
1MouseDown(Sender:
TObject;
Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
var i,j:integer;
strtemp:string;
begin
i:=(y div 47);
j:=(x div 39);
if temp=0 then
begin
temp:=flag[i,j];
tempi:=i;
tempj:=j;
end
else
begin
if (temp=flag[i,j]) and (path(i,j,tempi,tempj)) then
//
这里就调用了
path
函数来判断,两张相同的图片,是否符合路径上的要求。

begin
if (i=tempi)and (j=tempj) then//if2
temp:=0
else//else2
begin
temp:=0;
flag[i,j]:=0;
flag[tempi,tempj]:=0;
gamevalue:=gamevalue-2;
strtemp:=inttostr(gamevalue);

亲哥哥-关于春天的作文


亲哥哥-关于春天的作文


亲哥哥-关于春天的作文


亲哥哥-关于春天的作文


亲哥哥-关于春天的作文


亲哥哥-关于春天的作文


亲哥哥-关于春天的作文


亲哥哥-关于春天的作文



本文更新与2021-01-26 11:19,由作者提供,不代表本网站立场,转载请注明出处:https://bjmy2z.cn/zuowen/188460.html

毕业论文 网络小游戏的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文