1、 课程设计课程设计报告书报告书 课程名称课程名称 计算机网络编程计算机网络编程 设计题目设计题目 2424 分游戏分游戏 专业班级专业班级 学学 号号 姓姓 名名 指导教师指导教师 2014 年年 1 月月 1 1 1 设计时间设计时间 2014 年 1 月 6 日-1 月 10 日 2 2 设计目的设计目的 目的: (1)加深对计算机网络的基本概念和原理,以及网络编程接口 Socket 概念及编程原 理的理解; (2)提高学生网络应用与编程的能力。学生在四个设计题目中选择一个(按照学号依 次选择),提高其分析与解决问题的能力,为大型网络编程打下坚实基础; (3)通过撰写课程设计报告,锻炼学生
2、的逻辑组织和语言表达能力; (4)培养学生理论运用于实践的综合应用和设计创新能力。 3 3 设计任务设计任务 (1)设计完成与网络应用相关题目的网络应用软件; (2)调试运行之后,要求边演示边解释设计的思想、过程及采用的方法; (3)完成课程设计报告。 4 设计内容 24 分游戏 软件名:24 分游戏(分服务器端和客户端两部分) 功能:游戏后台运行一个服务器软件,游戏者通过客户端程序登陆后,服务器随机产 生四个 1-9 之间的随机数供游戏者使用,游戏者根据计算得出结果。若计算出结果,且在 规定的时间内,则从客户端输入表达式,服务器端根据客户端的表达式计算,若正确,软 件提示: “对了” ,如果
3、错了,软件提示“错了” ,若超时。软件提示“超时” 。服务器同时 记录并维护一个游戏玩家的 TOP10 排行榜,供玩家查询。 2 描述: 服务器端:接收客户端的命令请求并提供相应的服务。 客户端:完成游戏人机界界面的设计,以命令的方式向服务器请求服务,并显示相应 的提示。 4.1 系统分析 要设计一个 24 分游戏,并且有服务器端和客户端两部分,首先需要实现服务器端和 客户端的连接,用 TCP 进行连接,BinaryReader 和 BinaryWriter 进行存写。首先编写一个 服务端,用 TcpListener 进行监听,监听客户端的请求。并且用一个 listbox 显示当前监听 的状态
4、,比如当前接入的是那个用户,和当前连接的用户数。其次要设计客户端的界面, 首先客户端需要实现对服务器的请求。通过 IP 地址和端口号进行连接。然后要把客户端 的用户名上传到服务器上。等用户登录之后,就可以开始游戏,由系统产生四个随机数。 然后由用户输入输入答案, 输入之后点确定, 由系统判断用户的答案是否正确。 如果错误, 系统提示用户答案错误,之后用户可以查看答案或者继续游戏。 4.2 算法设计 服务器端代码如下 首先要添加一个 User 类 using System; using System.Collections.Generic; using System.Linq; using Sy
5、stem.Text; using System.Net ; using System.Net.Sockets ; using System.IO; namespace The24Server class User public BinaryReader br get; private set; 3 public BinaryWriter bw get; private set; public TcpClient client get; private set; public string userName get; set; public User(TcpClient client) this.client = client; this.userName = “; NetworkStream networkStream = client.GetStream(); br = new BinaryReader(networkStream); bw = new BinaryWriter(networkStream); MainForm的代码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing