《五子棋网络应用程序开发实习报告》由会员分享,可在线阅读,更多相关《五子棋网络应用程序开发实习报告(14页珍藏版)》请在金锄头文库上搜索。
1、1网网络应络应用程序开用程序开发报发报告告专 业 计算机网络技术 班 级 Z090553 学 号 Z09055309 学生姓名 宋秀华 指导教师 刁文广 设计时间 2011-6-20 2010 年 月 日洛阳理工学院计算机与信息工程系11 概述概述游戏说明游戏说明五子棋在我国的历史可谓是源远流长,喜爱它的玩家也是大有人在,是很多人的娱乐首选,也是一种竞技项目。但很多的五子棋软件一般都是单机版的,游戏无法在两个玩家之间进行。基于上述原因,五子棋作为一个古老而又有广泛群众基础的游戏,他的完善性无疑是家玩家有很大的影响在互联网迅速发展的今天,五子棋的流行已经不仅仅只是在现实生活中的面对面的娱乐竞技,
2、在网上也已经是广大玩家的首选娱乐游戏。为适应当今社会五子棋软件化的需求,通过对一般的五子棋软件进行设计,通过本设计希望能在五子棋的软件发展上起点微不足道的推动作用。实现当今社会五子棋软件化的需求。软件设计采用visual studio2008 版作为开发平台,运用软件工程的分析和编写方法,收集主要相关文献资料,对系统作详细的分析和设计,实现五子棋的基本功能需求,达到一般五子棋的游戏功能和规则设置。在设计上,主要解决的问题有五子棋的各个方向判断胜负算法的分析,以及五子棋中“聊天,重新开始”等基本功能的实现。需求分析需求分析一款游戏项目的确立是建立在各种各样的需求上面的,这种需求往往来自于玩家的实
3、际需求或者是出于公司自身发展和实力的情况,其中玩家的实际需求也就是说市场需求最为重要.面对游戏拥有不同知识和理解层面的玩家,项目的负责人(或者游戏制作人)对玩家需求的理解程度,在很大程度上决定了此类游戏开发项目的成败.因此如何更好地的了解,分析,明确玩家需求,并且能够准确,清晰以文档的形式表达给参与项目开发的每个成员,保证开发过程按照满足玩家需求为目的正确项目开发方向进行,是每游戏开发项目管理者需要面对的问题.而作为五子棋的设计需要考虑到的最基本的需求莫过于人机对战与人人对战功能的实现,当然还有下棋过程中的下棋悔棋功能以及判断游戏的胜负等方面的要求。当然最好是要考虑到界面的友好性,作为一个娱乐
4、软件,还应该考洛阳理工学院计算机与信息工程系2虑到玩家在游戏时的舒适 2 实现实现2.1 设计思路设计思路2.2 具体实现具体实现2.2.1 界面设计界面设计界面主要分四大部分:棋盘、ip 地址、棋子选择和聊天窗口,程序运行开始,先要输入要连接的主机 ip 地址,然后选定棋子颜色,就可以下棋了。输入文本的控件我选择了comboBox 空间,在其下拉表中预先输入一些常用的语句,如:你好,嗨等,这样方便聊天。聊天记录窗口我用了 listBox,当聊天内容比较多时,会自动添加滚动条,便于用户阅读聊天信息2.2.2 按按钮钮功能功能实现实现洛阳理工学院计算机与信息工程系3( (1)重新开始按)重新开始
5、按钮钮public void Restart()radBlack.Enabled = true;radWhite.Enabled = true;for(int i=0;i= 5) return true;else if(!flagi,j) count = 0;count = 0; return false;public bool Judge2() /纵向判断 int count = 0;for (int i = 0; i = 5) return true;else count = 0;count = 0;return false;public bool Judge3() /左上右下 int c
6、ount = 0;/上三角int j;洛阳理工学院计算机与信息工程系10for (int h = 0; h = 5) return true;else count = 0;count = 0;/下三角for (int row = 1; row = 5) return true;else count = 0;count = 0;return false;public bool Judge4() /左下右上 int count = 0;int h;/上下三角for(int c=0;c=0; j-) h = j;for (int i = c; i =0; i+) if (flagi,h) count
7、+;if (count = 5) return true; else count = 0; h-;count = 0;return false;2.27、聊天监听、聊天监听public void ListenChat() while (true) try int Port = 12001;udpclient2 = new UdpClient(Port);IPEndPoint ipendpoint2 = new IPEndPoint(IPAddress.Any, Port);byte bytes = udpclient2.Receive(ref ipendpoint2);this.ChatMes
8、sage = Encoding.GetEncoding(“gb2312“).GetString(bytes, 0, bytes.Length);udpclient2.Close();txtShow.Invoke(new ChatDelegate(this.ChatInvoke);catch (Exception) udpclient2.Close(); break; this.ChatMessage = “;洛阳理工学院计算机与信息工程系12public void ChatInvoke() String ForeStr = “rn“ + this.txtIP + “【“ + DateTime.
9、Now.ToShortDateString() + “ “ + DateTime.Now.ToShortTimeString() + “】:rn“;txtShow.Text += ForeStr; /添加到聊天窗口int Start = this.txtShow.Text.Length;txtShow.Text += this.ChatMessage;/字体变色txtShow.Select( Start, this.ChatMessage.Length);txtShow.SelectionColor = OtherFontColor;txtShow.SelectionBackColor = C
10、olor.White;/滚动txtShow.Select(txtShow.Text.Length, 0);txtShow.ScrollToCaret();3 总结总结刚开始对这次课程设计事信心满怀,认为凭借自己现有的知识已经足够可以解决了,可当我真正着手设计程序的时候,我的信心一点有一点的被这看似简单的程序磨得所剩无几了。从写这个五子棋程序的过程中我也体会到了一点:学一门语言最重要的就是实践,掌握一门语言应该指的是掌握这门语言的思想而不仅仅是语法。通过这段时间的实践我发现自己进步了不少,虽然这个五子棋软件还存在着一些不足,但自己毕竟从中学到了不少的东西,得到了不少的东西。经历此次课设,充分加深了我对 C#知识的理解和掌握,极大丰富了我的知识,同时也大大锻炼了我的思维和面对困难解决困难的勇气及方法。课程设计不只是辨析程序而已,从题目的分析、相应算法的分析,再往后程序的初步编写还有一次又一次的对各功能的调试,不断的修改程序。这一系洛阳理工学院计算机与信息工程系13列的东西都是我们要学习的,这是一种思维,同时它也需要我们耐心的对待和由毅力坚持到底。