五子棋游戏的设计Word格式文档下载.docx
《五子棋游戏的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《五子棋游戏的设计Word格式文档下载.docx(9页珍藏版)》请在冰点文库上搜索。
设计者自己设计;
二,XWindow的初始化(在LINUX的环境下)
1,XWindow(窗口);
2,XClient;
3,XServier(资源的分配);
4,XWindowprogramming;
(1)建立display至XServier;
(2)获得颜色映射访问,分配颜色;
(3)建立窗口
(4)和视窗管理程序(windowmanager)沟通
(5)处理程序代码
(6)关闭窗口
(7)关闭display
2,建立一个320X240的窗口程序:
#include<
X11/Xlib.h>
X11/Xutil.h>
X11/Xos.h>
X11/Xatom.h>
stdio.h>
stdlib.h>
intmain(intargc,char**argv)
{
Display*display;
//存放关于display的数据
Windowwindow;
//父窗口
XSetWindowAttributesattr;
//存放窗口的属性
Colormapcolormap;
//标准颜色映射
XColorcolor1,color2;
//RGB颜色存放
XGCValuesgcvalues;
GCgc;
XSizeHints*size;
char*display_name=NULL;
charkey;
//intscreen_num;
/*--------------建立一个displya的connection--------------*/
display=XOpenDisplay(display_name);
//和Xserver之间建立一个连接线(connection)
if(display==NULL)
{
//printf("
不能与X服务器建立链接。
\n"
);
printf("
CannotconnecttoXserver.\n"
exit(-1);
}
printf("
connecttoXserverOK!
/*--------------获得了颜色映射的访问--------------*/
colormap=DefaultColormap(display,DefaultScreen(display));
//获取屏幕的标准颜色映射
/*--------------开始分配颜色--------------*/
color1.red=color1.blue=color1.green=0xffff;
//red、green、blue的围从0到65535
color2.red=color2.green=color2.blue=0x0000;
color1.flags=color2.flags=DoRed|DoGreen|DoBlue;
//分配一个对应到硬件所能提供该RGB值的pixel
XAllocColor(display,colormap,&
color1);
color2);
/*--------------设定视窗的attribute--------------*/
attr.background_pixel=color2.pixel;
//背景颜色
/*--------------建立和设定window的属性--------------*/
window=XCreateWindow(display,XDefaultRootWindow(display),0,0,320,240,2,XDefaultDepth(display,0),InputOutput,CopyFromParent,CWBackPixel,&
attr);
/*--------------和windowmanager进行沟通--------------*/
XStoreName(display,window,"
helloworld!
!
"
size=XAllocSizeHints();
size->
x=100;
size->
y=100;
width=320;
height=240;
flags=USPosition|USSize;
XSetNormalHints(display,window,size);
/*--------------MappingWindow正式映射到显示器画面上--------------*/
XMapWindow(display,window);
XFlush(display);
DispWindow!
getchar();
/*--------------建立并设定GC--------------*/
gc=XCreateGC(display,window,0,&
gcvalues);
//把获得的颜色配置给一些GC(图像上下文)作为前景色和背景色
XSetForeground(display,gc,color1.pixel);
XSetBackground(display,gc,color2.pixel);
/*--------------XWindowClient程序处理代码--------------*/
XDrawLine(display,window,gc,10,10,20,20);
//划线
XDrawPoint(display,window,gc,8,10);
//颜色设置
color1.red=0xffff;
color1.green=0x0000;
color1.blue=0xffff;
XDrawArc(display,window,gc,50,50,15,15,0,360*64);
/*--------------关闭视窗--------------*/
XDestroyWindow(display,window);
ClosewindowOK!
/*--------------关闭连接到X服务器的链接--------------*/
XCloseDisplay(display);
ClosedisplayOK!
}
三,五子棋的设计
(1)初始化五子棋
1,初始化棋盘数组
2,消除视窗内容(XClearWindow(display,window))
3,画棋盘XDrawLine()XDrawRectangle()XFillRectangle()
4,信息显示XDrawString()对界面进行设计
(2)创建线程1,2
线程1(让棋子闪烁)
1,读取HangLiePlayer
2,显示棋子
3,延时
4,消隐棋子
5,延时
6,设置标志,等待线程退出
线程2(扫描按键)
1,等待按键
2,根据按键值修改HangLiePlayer
3,确认按键,记录数据,判断输赢,修改玩家
4,设置标志,等待线程退出
四,整个项目的程序清单
/************************************************************
*版权信息:
2011-1-15-20-42
*文件名:
五子棋游戏
*摘要:
*当前版本信息:
*作者:
霍小波
*完成功能:
*完成时间:
20011-1-15-20
**************************************************************/
/*************************************************************
头文件