【VC++设计栏目提醒】:本文主要为网学会员提供“黑白棋游戏(VC++)(新品)”,希望对需要黑白棋游戏(VC++)(新品)网友有所帮助,学习一下!
目录
黑白棋 1
1、绪论 4
1当前的发展背景 4
2.系统需求分析 4
2.1需求分析 4
2.1.1开发平台 4
2.1.2 socket 5
2.1.3 MFC简述 5
2.2 项目目标 6
2.3 可行性分析 6
2.3.1经济可行性 6
2.3.2技术可行性 6
2.6.3操作可行性 7
3 系统设计 7
3.1 功能模块设计 7
3.1.1 封装显示数字模块 7
3.1.2 封装网络连接模块 7
3.1.3 设置对话框 8
3.1.4 英雄榜 8
3.1.5 ip输入框 8
3.2 多线程 8
3.3 游戏流程图 10
3.4 程序使用流程图 10
4 详细设计 11
4.1 三种模式 11
4.1.1 与计算机对弈 11
4.1.2 与人对弈 11
4.1.3 局域网对弈 11
4.2 游戏说明 12
4.3 落子(并翻转棋子) 12
4.4 判断是否结束 15
5 系统测试运行 21
5.1系统测试基本原则 21
5.2 系统测试的步骤 22
6 总结 22
致 谢 23
8*8的棋盘,用一个二维数组来存贮kernel[8][8]其中0表示没有棋子,1表示白色棋子,2表示黑色棋子。
4.1 三种模式
4.1.1 与计算机对弈
本模块在于计算机对弈方面只实现了简单的功能,采用的随机算法加简单的分析,因此力气比较差。
4.1.2 与人对弈
由于与人对弈是要实现在同一台计算机上同一个程序上实现两个人对弈,因此设计原理比较简单,功能也比较单一。
4.1.3 局域网对弈
局域网对弈催复杂,也是本程序的重点,主要实现基于以下几个方面
1、 进程同步的实现,由于对弈双方在不同的计算机上执行程序,为了使程序正确的执行,需要保证双峰的程序使用保持同步。
2、 网络的链接和进程间的通讯。要实现网上对弈,首先要保证两个进程在网上的链接,本程序采用基于WinSocket(wsock32.lib和mpr.lib)类的网络连接和通讯
3、 数据格式的英译和交换。本程序预定义了一个1024字节的缓冲区和4个控制信号(CMD_SKIP,CMD_OVER,CMD_RESIGN,CMD_CLICK)。数据的格式是一次传10个字节,其中前三个分别表示信号量、x坐标、y坐标,后7个是校验字节
4.2 游戏说明
(1) 游戏流程:
启动游戏后,直接进入棋盘界面,在这里,可以选择与计算机对弈、两人在同一台计算机上对弈和在网络上与人对弈,还可以选择执黑和执白,在选定之后,就可以开始游戏了,当开始下棋时,有一个计时器和一个计数器分别对下棋用时和双方棋子数进行记录,以作为判定输赢的依据。我们的判断标准为:若双方都未超时,棋子多者为胜;若有一方超时,直接判定此方为负,每局时限为5分钟。
(2) 游戏规则:
吃子:以方格为直线或者斜线的方向,以一方对照棋子和即将落下棋子之间(此两子之间必须没有空格且全部为对方棋子)的所有对方棋子被吃掉,被吃掉的对方棋子变为自己一方的棋子。
下子:必须在可以吃子的位置处并且该位置为空格时可以落下己方的棋子,如果不能下子,棋子无法显示在棋盘上,同时有声音提示。
停走:任何一方无法下子时屏幕上面会自动出现对话框,提示某方不能下子,让对方下子。
赢棋:若一方超时,则自动判负,屏幕上面会自动出现对话框提示;当双方都无法下子时屏幕上面也会自动出现对话框,提示本次游戏结束,并且根据计数器记录的双方棋子数判定棋子数多的一方取得本次游戏的胜利。
上一篇:企业人力资源管理系统(VC SQL)