晓庄学院 《JAVA程序设计》课程设计报告 "题 目: " 五子棋游戏的设计与实现 " "姓 名: "野 " "学 号: "12130818 " "班 级: "12软件工程转本2班 " "指导教师: "王峥 " "完成时间 "7月1日 " "成 绩: " " 信息工程学院 2015年6月 目录 1引言1 1.1系统开发背景2 1.1系统开发的目的和意义3 1.2完成的主要工作4 2需求分析和总体设计4 2.1需求分析与设计思路5 2.1.1关键技术说明5 2.1.2需求分析5 2.1.3系统设计方案与思路5 2.1.4系统目录结构说明5 2.2系统功能结构6 3详细设计7 3.1系统模块实现9 4系统运行结果10 5课程设计总结12 五子棋游戏的设计与实现 引言 五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在"尧 造围棋"之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之 处,因为古代五子棋的棋具与围棋是完全相同的。在上古的神话传说中有"女娲造人 ,伏羲做棋"一说,《增山海经》中记载:"休舆之山有石焉,名曰帝台之棋,五色而文 状鹑卵。"善注引三国淳《艺经》中曰:"棋局,纵横各十七道,合二百八十九道,白黑 棋子,各一百五十枚"。这段虽没明讲是何种棋类,但至少知道远古就以漂亮的石头 为棋子。因而规则简单的五子棋也可能出自当时,并是用石子作棋子。亦有传说,五 子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子后代中遍及开来。 1 系统开发背景 在计算机逐步渗入社会生活各个层面的今天,计算机已经成为了人们日常生活中 的一部分,越来越多的人使用计算机办公、娱乐等等。在这其中,系统自带的小游戏 也占据了相当重要的地位,与那些网络游戏和3D游戏相比,它有编写简单容易上手等 特点,非常适合人们在完成工作的时候适当的娱乐要求。这些小游戏大都是以益智和 娱乐为目的,不仅给紧工作的人们以放松,还可以让人们的大脑得到开发。 2 完成的主要工作 设计一个15 15围棋棋盘,由两玩家交替进行对战,并可以实现以下功能: 1.选择黑子先下 2.设置双方下棋总共时长 3.刷新重新开始 4.悔棋 5.认输 6.退出提示 实现一个简单的多用户五子棋的游戏程序,包括如下两个界面 (1)选择对弈桌(执黑、执白)。 (2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负); 1.3需求分析与设计思路 1. 用户需求调查分析 2. 构思代码模块 3. 总体设计 4. 详细设计 5. 代码编写 2需求分析和总体设计 1. 2. 4 需求分析与设计思路 此系统为智力游戏,采用JAVA的MVC模式,根据不同功能划分不同模块,该五子棋 游戏功能虽然简单,然是实现了人机对战,所以从这个角度来说,此款游戏能准确的 计算棋局。虽然系统不大,但是可以实现基本的五子棋功能,以及悔棋。 2.1.2需求分析 五子棋,是一种两人对弈的纯策略型棋类游戏,亦称"串珠"、"连五子";是中国 民间非常熟知的一个古老棋种。相传,它起源于四千多年前的尧帝时期,比围棋的历 史还要悠久。亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在 炎黄子后代中遍及开来。 五子棋发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜; 不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。 2.1.3设计方案与思路 传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为15X15,棋子放置于棋 盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以 上同色棋子连成不间断的一排者为胜。因为传统五子棋在落子后不能移动或拿掉,所 以也可以用纸和笔来进行游戏。 2.1.4系统目录结构说明 对系统包结构、文件结构列表说明,如表2-1、2-2所示。 表2-1主页面表 "包名 "作用 " "src "容纳所有文件 " 表2-2文件表 "文件名 "作用 " "Game.java "运行文件 " "GameFrame.java " " "Cheerup.java " " "PaintPanel.java " " 5 系统功能结构 3.1详细设计 1. 系统模块实现 "按钮 "事件 " "悔棋事件 "class Back implements ActionListener " "认输事件 "class Fail extends JFrame implementsActionListener" "关于事件 "class About extends JFrame implements " " "ActionListener " "设置事件 "class Set implements ActionListener " "退出事件 "classExite
【Java五子棋游戏设计与实现】
五子棋游戏,源于中国古代,历史悠久,深受各年龄段玩家喜爱。在当今计算机普及的时代,将这种经典棋类游戏搬到电脑屏幕上,既能满足人们的娱乐需求,又能锻炼思维能力。本项目是晓庄学院《JAVA程序设计》课程设计的一部分,由学生野完成,指导老师为王峥,主要目标是设计并实现一个15x15棋盘的五子棋游戏,支持双人对战,包含多种功能。
系统开发背景:
随着计算机的广泛使用,小游戏成为日常生活中的一部分,尤其适合工作间隙的休闲娱乐。五子棋游戏因其简单易懂、策略性强的特点,被选为本次课程设计的主题。开发者需要创建一个15x15的棋盘,玩家可以设置时间限制、悔棋、认输或重新开始。
完成的主要工作:
1. 设计15x15棋盘,允许两个玩家轮流下棋。
2. 实现功能包括:选择先手(黑子或白子)、设定对弈总时长、刷新重开、悔棋、认输和退出提示。
3. 创建两个界面:选择对弈颜色和游戏界面,游戏界面有开始和退出选项,未结束游戏时选择退出视为自动认输。
需求分析与设计思路:
1. 针对用户需求,如游戏规则、操作简便等进行分析。
2. 分解代码模块,如棋盘显示、棋子移动逻辑、胜负判断等。
3. 采用MVC(Model-View-Controller)设计模式,分离数据、显示和控制逻辑。
4. 详细设计每个模块的功能和交互。
5. 编写并调试代码,确保游戏的正常运行。
关键技术和需求分析:
五子棋游戏的核心在于棋局的计算和判断。系统需要能够准确识别连续五个同色棋子的直线(横向、纵向或对角线),以决定胜负。此外,还应有悔棋和认输功能,这需要记录棋盘历史状态,以便于回溯或提前结束游戏。
系统设计方案与思路:
1. 棋盘设计:15x15的棋盘布局,棋子放在交叉点上,黑白棋子交替放置。
2. 游戏流程:玩家点击棋盘对应位置落子,系统实时判断是否形成五子连珠。
3. 功能实现:悔棋通过保存棋盘状态实现,认输则直接结束游戏并显示结果。
4. 界面设计:包括选择对战颜色的界面和实际游戏界面,提供清晰的操作提示。
系统目录结构:
主要包含Game.java(运行文件)、GameFrame.java(游戏主窗口)、Cheerup.java(用户交互)、PaintPanel.java(棋盘绘制)等文件,每个文件负责不同的功能模块。
系统功能结构:
1. 游戏启动与关闭。
2. 棋盘展示与操作。
3. 玩家选择与对战。
4. 时间限制设置。
5. 悔棋、认输与重新开始功能。
6. 结果判定与提示。
这款Java五子棋游戏设计项目旨在通过编程实现一个具有互动性和趣味性的五子棋应用,让玩家在享受游戏乐趣的同时,也能锻炼策略思维。通过这个项目,学生可以深入理解Java编程、MVC模式以及游戏逻辑的设计,提升软件开发能力。