java课程设计_五子棋(附源代码).doc

大小 908.6KB 页数 70 页 格式 DOC

课程设计报告

( 2014-- 2015 年度第二学期 )

科目 面向对象课程设计
专业 网络工程
学生姓名 董志文
班级 13级2班
学号 1308020207
指导教师 江涛
完成日期

永磁同步电机双环调速系统的仿真研究

目 录

1 概
述............................................3
1.1课程设计目的....................................3
1.2预备知识........................................3
1.3课程设计内容和要求..............................3
2 需求分析...........................................4
2.1 系统目标.......................................4
2.2 主体功能.......................................4
2.3 开发环境.......................................4
2.4 概念设计.......................................4
3 系统总体设计.......................................5
3.1 系统的功能模块划分.............................5
3.2 系统流程图.....................................6
4系统详细设计.......................................7
4.1 代码实现情况...................................7
4.1.1 server 包chessServer类...................7
4..1.2 client包chessClient类..................7
4.1.3 chessface 包chatPad类....................8
4.1.4 chessface 包chessPad类...................8
4.1.5 chessface包chessthread类.................8
4.1.6 chessface 包controlpad类.................8
4.1.7 chessface 包inputpad类...................8

2

Java语言与面向对象技术课程设计

4.1.8 chessface 包userPad 类....................9
4.1测试分析........................................9
4.2.1程序运行情况................................9
4.2.2程序运行异常处理...........................12
5 小结...............................................12
参考文献.............................................13
附源代码

1、概述

1.1课程设计目的

《JAVA程序设计》是计算机相关专业的必修专业基础课程,其实 践性、应用性很强。实践教学环节是必不可少的一个重要环节。本 课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序 设计》课程后,进行的一次全面的综合训练,JAVA程序设计的设计 目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程 序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综 合运用所学知识,利用软件工程为基础进行软件开发、并在实践应 用方面打下一定基础。

1.2预备知识

熟悉JAVA语言及ECLIPSE开发工具。

1.3课程设计内容和要求

按课程设计指导书提供的课题,要求学生在自行完成各个操作环 节,并能实现且达到举一反三的目的,完成一个项目解决一类问 题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用 其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够 进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程

3

永磁同步电机双环调速系统的仿真研究

序设计的基本技能和面向对象的概念和方法;了解多线程、安全和 网络等编程技术。同时培养学生进行分析问题、解决问题的能力; 培养学生进行设计分析、设计方法、设计操作与测试、设计过程的 观察、理解和归纳能力的提高。

五子棋是起源于中国古代的传统黑白棋种之一。五子棋不仅能增 强思维能力,提高智力,而且富含哲理,有助于修身养性。 经过 一个学期的学习,使我对Java有了一定的了解。但要深入理解Java 语言,单靠上课是不够的。必须通过课程设计,设计一个比较大的 程序,才能更深一步地理解Java语言。在这次课程中,我选择了网 络五子棋作为课题。编写网络五子棋游戏要利用到Socket网络编程 技术和多线程。通过这次课程设计,熟悉Java的GUI图形界面设计, 网络Socket 编程和多线程编程。

2 需求分析

2.1 系统目标

本系统主要是完成五子棋游戏的基本操作,在玩游戏的过程中玩 家可以放松心情得到娱乐。

2.2 主体功能

本程序实现了一个小的五子棋游戏,可以实现两个人在用一 台机器上进行游戏。程序会自动判断谁输谁赢,在游戏的开 始,第一个人可以选择执白棋还是黑棋,之后点击开始进行游 戏。

2.3 开发环境

硬件要求能运行Eclipse的windows xp以上系统。JAVA程序设计 语言及相应的集成开发环境,SDK和ECLIPSE开发工具。 2.4概念设计

  • 网络五子棋是采用网络协议为TCP/IP的网上对弈游戏,运用“客

4

Java语言与面向对象技术课程设计

户端-服务器“(c/s)网络架构模式。实现用户通过Internt连接在任 何地方与不同玩家进行对战。服务器可以创建任意多局游戏。

通过使用多线程和网络套接字SOCKET来实现游戏之间的通讯,它 是基于点对点的通讯。开始让服务器初始化建立服务器套接字 SOCKET,基于某个端口PORT,服务器始终处于监听状态。客户端是 动作的发起者,何时发出申请由客户端决定。客户端向服务器发出 申请,服务器给予响应。打开客户端套接字SOCKET,连接到服务器 端的地址ADDRESS和端口PORT。连接建立后,创建一个SOCKET实例, 并开始一个线程,监听该客户端请求。服务器继续监听其它用户的 连接。服务器通过数据输入流从客户端接收信息,并且通过数据输 出流把相应的信息发送给客户端。客户端发送请求和响应接收到的 各种信息。

在服务器和客户端之间传递的消息格式是采用“[消息类别]+内容 “组成的,服务器和客户端在传递消息的过程,根据消息的类别来进 行相关的操作。

3 系统总体设计

3.1 系统的功能模块示意图

3.2 系统流程图

5

永磁同步电机双环调速系统的仿真研究

4系统详细设计

  • 4.1 代码实现情况

  • 4.1.1 server 包chessServer类

class MessageServerPanel extends Panel //主消息窗口

6

Java语言与面向对象技术课程设计

class ServerThread extends Thread //服务器线程,主要用 于服务器与客户端的通信

public class chessServer extends Frame implements ActionListener // 服务器端框架类

4.1.2 client包chessClient类 public class chessClient extends Frame implements ActionListener, KeyListener //五子棋客户端框架,实现了动作监听 器和键盘监听器

public boolean connectServer(String serverIP, int serverPort) throws Exception //和服务器建立连接并通信的函数 。 return true 连接成功, false 如果失败.

4.1.3 chessface 包chatPad类

public class chatPad extends Panel //聊天信息

Panel 。 Panel上的文本域可以显示用户聊天信息 。

4.1.4 chessface 包 chessPad类 public class chessPad extends Panel implements MouseListener //显示棋盘的Panel 。 此Panel实现了鼠标监听器 class chessPoint_black extends Canvas //表示黑子的类 class chessPoint_white extends Canvas //表示白子的类

  • 4.1.5 chessface包chessthread类

public class chessThread extends Thread //一个客户端用 户线程. 处理用户落子的点击事件处理,及消息发送.

4.1.6 chessface 包 controlpad类

public class controlPad extends Panel //控制Panel 。 此

Panel上的按钮如其名,完成相应的功能 。

4.1.7 chessface 包 inputpad类

public class inputPad extends Panel //输入信息

Panel 。 Panel左边的下拉列表中列出了所有用户的名字 。 右边的文 本框可以输入聊天信息,点击回车信息被发送 。

7

永磁同步电机双环调速系统的仿真研究

4.1.8 chessface 包userPad 类

public class userPad extends Panel //用户列表Panel 。 此 Panel维护一个服务器的当前用户列表, 所有的用户名都将显示在 列表中 。

4.2 测试分析

4.2.1程序运行情况

//打开服务端

//打开客户端

8

Java语言与面向对象技术课程设计

//落子

9

永磁同步电机双环调速系统的仿真研究

//判定

10

预览结束 · 共 70 页

下载完整版