栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

坚持学习100天:象棋网上对弈系统(表示看不懂,有待加油)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

坚持学习100天:象棋网上对弈系统(表示看不懂,有待加油)

前言

Hello,我是修齊。
学习C++的第一百零三十八天,用心学习。
在这里记录一些学习的东西和学习的心情,内容主要是一些自己学习整理的小笔
记。

一、象棋网上对弈

1.象棋网上的对弈系统由数据结构、图像绘制、规则设置、网络通信、棋子操作5部分。
2.数据结构:棋盘在长方形的平面上,10行9竖交织的坐标方式。系统定义int型的二维数组xArray[9][10]。
3.对xArry[9][10]、yArray[9][10]初始化:

for(int i=0;i<9;i++)
{
		for(int j=0;j<10;j++)
		{
			xArray[i][j]=cX+50*i;
			yArray[i][j]=cY+50*j;
		}
}

4.引进一个二维数组来保存坐标点的棋子信息,InfoArray[9][10]。
5.坐标点(xArray[4][9],yArray[4][9])位置的棋子类型表示为InforArray[4][9]=5。
6.Windows中有各种图形用户界面GUI(Graphics User Interface)对象,绘图时使用对象。

二、网络通信

1.通过类CComm实现通信功能,类中函数SendMsg和Listen分别负责发送和接收数据,实现联机通信的关键。
2.走棋后,通过CComm类的成员函数SendMsg发送数据通知对方,发送的数据:起始坐标,终点坐标和棋子信息。
3.UpdateAllData数据定义共7位。最高位固定位1,依次i,j,InfoArray[i][j],Prei、Prej。
4.获取点击,用户的操作主要通过点击鼠标的消息响应来完成。
5.消息就是指Windows发出的一个通知,告诉应用发生了某件事情。
6.WM_LBUTTONDOWN:添加鼠标左键消息。当用户点击左键,调用GetCursorPos()函数获得点击点的坐标信息。将屏幕坐标转换成窗口坐标(用屏幕坐标减去窗口的左上角坐标)。
7.设窗口左上角坐标(a,b),GetCursorPos()函数获得的屏幕坐标(x,y),以(a,b)为原点坐标,则(x-a,y-b)为点击点在窗口中的坐标。

三、主框架函数、通信函数

1.WinMain函数
2.Win32程序,也就没用到MFC,直接在Win32 API函数基础上开发,函数入口是WinMain。
3.WinMain函数根据机器分辨率调整窗口位置,加载字符串、注册应用程序、创建并显示窗口,最后启动消息循环。
4.InitInstance函数
5.函数创建并显示窗口。
6.实现网络对战平台,通信功能必不可少,定义通信类CComm,协议采用UDP,主设计通信双方的数据收发。
7.Listen函数
8.Listen函数创建套接字,创建线程接收对方数据。
9.ListenThread函数
10.ListenThread函数是一个线程函数,数据的接收是通过线程来实现。
11.SendMsg函数
12.SendMsg函数发送消息到对方。

四、逻辑函数

1.Graphics函数
2.Graphics函数用来绘制一个棋子。
3.Draw函数
4.Draw函数在某一个位置绘制某个棋子。
5.InitChessBoard函数
6.InitChessBoard函数作用是初始化棋盘。
7.ChessRule函数
8.ChessRule函数真正实现业务逻辑的函数。
9.WinPcap(Windows Packet Capture):一个基于Win32平台,用于捕获网络数据包并进行分析的开源库。
10.WinPcap是一个由Linux平台下的libpcap迁移到Window平台下的一个开源数据库。提供访问网络底层数据的功能。

五、小脑袋,大疑问

加油~~

上述内容如有侵权,联系即删。
感谢阅读-感谢支持

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947228.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号