制作万年历井字棋游戏员工工资管理系统_第1页
制作万年历井字棋游戏员工工资管理系统_第2页
制作万年历井字棋游戏员工工资管理系统_第3页
制作万年历井字棋游戏员工工资管理系统_第4页
制作万年历井字棋游戏员工工资管理系统_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《程序设计基础》

课程设计报告

题目:制作万年历井字棋游戏员工工资管理系统

院(系):_______________________

专业班级:_____________

学生姓名:________________________________

学号:__________________________

2012年6月日至2012年6月_22_日

华中科技大学武昌分校制

程序设计基础课程设计任务书

一、设计(调查报告/论文)题目

制作万年历井字棋游戏员工工资管理系统

二、设计(调查报告/论文)主要内容

1.制作万年历

主要内容:

显示公元后任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于

一般挂历上的格式,可参考如下格式:

输入年份:2010

2010年

一月

星期日星期一星期二星期三星期四星期五星期六

12

3456789

10111213141516

17181920212223

24252627282930

31

十二月

星期日星期一星期二星期三星期四星期五星期六

1234

567891011

12131415161718

19202122232425

262728293031

请按任意键继续…

2.井字棋游戏

主要内容:

井字棋游戏是小朋友经常玩的小游戏,在正方形中有一个“井”字,把正方形分为

9个格,就形成一个棋盘,如图1所示,实际上就是一个3X3方格的棋盘,一个玩家选

择一个棋格画X,紧接着另一个玩家选择一个空棋格画。,双方轮流走棋,直到一个玩

家占领一行,一列或一条对角线获胜,这时比赛结束,图2为画X的选手获胜示意图。

设计一个程序实现人与计算机玩井字棋游戏,假设计算机画X,人画。,人可选择

是否先走。

图2画X的选手获胜示意图

3.员工工资管理系统

主要内容:

设计一个利用文件处理方式实现对员工工资(包括员工编号、员工姓名、应发、扣

款和实发)进行管理,具有增加数据、更新数据、查询数据、删除数据、列表显示数据

以及重组文件的功能。员工工资管理系统由六大功能模块组成:

①增加数据

该模块完成将输入的数据存入数据文件中,用户一次可输入多个员工的信息。

②更新数据

该模块用于实现对记录的修改,首先用户输入员工的编号,然后查询该员工的信息,

最后更新该员工的信息。

③查询数据

该模块可选择按员工编号查询,或者按员工姓名进行查询,然后列出满足条件的且

未作删除标记的员工信息。

④删除数据

该模块用于删除指定编号的员工工资信息,为提高效率,只作删除标记,不在物理

上删除信息,可称为逻辑删除。

⑤显示数据

2

该模块用于以列表方式显示所有未作删除标记的员工信息。

⑥重组文件

当逻辑删除的信息太多时,将会降低查询效率。重组文件模块专门用于在物理上删除作

有删除标记的信息,这样不但提高查询效率,同时也节约存储空间。

课程设计要求:

课程设计共计三道必做题,其中第一题和第二题必做,由各位同学独立完成,第三

道题由两位同学协作共同完成。系统要求在MicrosoftVisualC++6.0编译平台上采

用C语言编程实现。

三、原始资料

1.游洪跃,彭骏,谭斌.C语言程序设计实验与课程设计教程.北京:清华大学出

版社,2011.

2.孙承爱,赵卫东.程序设计基础一基于C语言.第2版.北京:清华大学出版社,

2010.

四、要求的设计(调查/论文)成果

1.课程设计报告

2.课程设计软件

3

五、进程安排

布置任务,查找资料、需求分析1天

总体设计1天

详细设计1天

编制源程序实现3天

测试与修改1天

撰写课程设计报告2天

六、主要参考资料

[1]谭浩强.C程序设计.第四版.清华大学出版社,2010.

[2]苏小红.C语言大学实用教程.第2版.电子工业出版社,2008.

指导教师(签名):

20年月日

4

目录

1制作万年历..................................................................6

1.1需求与总体设计...........................................................6

1.2详细设计.................................................................7

1.3编码实现.................................................................9

2井字棋游戏..................................................................12

2.1需求与总体设计..........................................................12

2.2详细设计...............................................................14

2.3编码实现...............................................................19

3.员工工资管理系统...........................................................28

3.1需求与总体设计..........................................................28

3.2详细设计...............................................................31

3.3编百马实现...............................................................36

总结..........................................................................46

5

1制作万年历

1.1需求与总体设计

1)总体设计结构:计算某年前的所有天数,确定这年的第一天为

星期儿。输入这年的年份,通过函数运算,显示公元后任何年份的日历,

日历以月份顺序排列,每月以星期顺序排列。

根据历法,得到:

闰年条件:年份可以被四整除,并且不能被100整除,或者可以被400

整除。

闰年:366天,二月有29天

平年:365天,二月有28天

通过函数求得年份的天数和那年二月的天数

2)函数的声明:主要是通过定义一些函数来求天数

如:

intGetMonthDays(iny,ingm);/*y年m月的天数*/

intGetYeatDays(inty);/*年份y的天数*/

intDateToNum(intyear,intmonth,intday);返回从公元1年1月1日起的天数

intWeek(intyear,intmonth,intday);/*求日期是星期几*/

3)界面设计:

编译好程序,运行程序既可进入以下的界面,在此界面中输入需要查

询的年份既可。

S3*C:documentsandSuttings\Administrator直面\C语言2杜海历年历。ebug\l.exe"

输入年:

输入年份后即出现要查询的那年的12个月的月历,因为平闰年的不同,

平闰年的2月的天数也是不同的,如下图就是2011年和2012年的2月

的月历,2011年的2月有28天,2012年的2月有29天。

6

"C:documentsandSettings\Administrator理面\C语言2杜海历年历gebug\l.exe"

输,1年:2011

2011年

一月

星期日星期一星期二星期三星期四星期五星期六

Xi

2345678

9101112131415

16171819202122

23242526272829

3031

1

二月

星期日星期一星期二星期三星期四星期五星期六

12345

6789101112

13141516171819

20212223242526

2728

1-----------------------------------------------------------------------------

国*C:documentsandSettings\Administrato「原面\C语言2杜海历年历Qubug'l

输入年:2012

20L2年

一月

星期日星期一星期二星期三星期四星期五星期六

1234567

891011121314

15161718192021

22232425262728

293031

1________________________________1

二月

星期日星期一星期二星期三星期四星期五星期六

1234

567891011

12131415161718

19202122232425

26272829

.2详细设计:

下图即为万年历制作的N-S图:

Dmain函数:先初始化指针数组的各个元素,再输入的年份,对12个

月进行循环,在循环中:利用一个循环输出若干空格,通过用一个循环

和GetMonehDays函数计算输出第day天,当Week(year,month,day)等

于。时换行。

7

初始化指针数组的元素

输入year

Year<=0

显示年份

for(month=1;month<=12;month++)

输出一条横线

输出月份n=0

输出星期日到星期六

for(y=1;y<year;y-H-)

for(i=0;i<Week(year,month,1);i++)

n+=GetMonthDays(y)

输出若干空格

for(m=l;m<month;m-H-)

for(day=1;day<=GetMonthDays(year,month,1);i++)

n+=GetMonthDays(y,m)

day!=l&&Week(year,month,day)==0

YNn+=day

、/(2)DateToNum函数

换行

输出第day天

输出一条横线

(1)main函数

2)

DateToNum函数:通过循环累加到今年的天数,载通过累加计算出到这个月的天数再

加上到今天的天数。

3)GetMonthDays函数:通过switch函数对不同的月份进行分类,再在不同的月份规定各

自的天数,当二月时再用if语句对平年和余年分别规定天数。

8

1.3编码实现:

#include<stdio.h>

#include<stdlib.h>

intGetMonthDays(inty,intm)/次y年m月份的天数*/

(

intn;

switch(m)

(

case1:

case3:

case5:

case7:

case8:

case10:

case12:n=31;break;

case4:

case6:

case9:

casell:n=30;break;

case2:if(y%4==0&&y%100!=0lly%400==0)

n=29;

elsen=28;

)

returnn;

)

intGetYearDays(inty)/*年份y的天数*/

(

if(y%4==0&&y%100!=0lly%400==0)

return366;

else

return365;

}

intDateToNum(intyear,intmonth,intday)/:返回从公元I年1月1日起的天数”/

inty,m,n=0;

9

fdr(y=1;y<year;y++)

n+=GetYearDays(y);

for(m=1;mvmonth;m++)

n+=GetMonthDays(y,m);

n+=day;

returnn;

)

intWeek(intyear,intmonth,intday)/*求日期是星期几*/

(

returnDateIbNum(year,month,day)%7;

)

intmain(void)

(

char*monthName[]={”一月”,"二月","三月四月","五月","六月",”七月","八月九月

十月","H"一月",“十二月"};

intyear,month,day;

inti;

do

(

printf("输入年:");

scanf("%d",&year);

}while(year<=0);

printf("%25d年\n”,year);

for(month=1;month<=12;month++)/*十二个月的循环输出*/

(

printfC--------------------------------------------\n");

printf("%27s\n",monthNamefmonth-1]);

printf(“星期日星期一星期二星期三星期四星期五星期六\n");

for(i=0;i<Week(year,month,1);i++)

printf("");/*输出若干空格*/

for(day=1;day<=GetMonthDays(year,month);day++)

(

if(day!=1&&Week(year,month,day)==0)/*星期日换行*/

printf("\n");

printf("%5d",day);/*输出day天*/

10

printf(H\n

system("PAUSEn);/*调用库函数,输出系统提示信息*/

return0;/*返回值0,返回操作系统*/

ii

2井字棋游戏

1.1需求与总体设计

1)总体设计结构:

在下棋过程中棋盘为棋局,对于一个棋局,某个选手的状态可能的胜,

负,平或没结束。设计一个子函数让选手进行选择是否先下,在定义一

个子函数输出每次下棋后的棋盘状态,定义函数判断选手和计算机的胜

利条件,最重要的是定义一个函数确定计算机的走法。通过main函数调

用子函数达到下棋的目的。

2)全局数据结构:

某些变量,它们的取值被界定在一个有限的范围内。把这些变量定义为

字符型,整型或其它类型都不很合理,于是使用枚举类型:

定义选手棋局状态的类型:

typedefenum{WIN,LOSE,TIE,UNEND}StatusType;

定义选手:

typedefenum{HUMAN,COMPUTER}PlayerTapy;

此系统需要对一些类型不同但又相互关联的数据进行处理,所以定义结

构体类型:

Typedefstruct

introw;/*行号*/

intcol;/*歹ij号*/

}PositionType;

3)函数的声明:

StatusTypeChessStatus(PlayerTypeplayer);

/*选手player当前棋局状态*/

PositionTypeSelectByComputer(void);

/*计算机选择的走法*/

PositionTypeSelectByHuman(void);/*人选择的走法*/

voidDisplay(void);/*显示棋局*/

3)界面设计:

程序执行后进入如下的界面,这个界面,真人选手可以选择是否先走。

12

WrC:documentsand52代(呼央必府打3匕「\桌面'仁语言2杜海讲字游戏〈曲明\2.^^'

是否先走<Y/N)?

通过玩家的选择可以分别进入一下两个界面,左边一个是玩家选择闲走,

则输入要走的棋格的行列号,右边的为计算机先走。

否先走<QDIC:'documentsandSettings\Administrat

旦走人后目S3彳具个骨■目勺了1三不口夕'J■

是否先走(Y/N>?n

!O11!讨算机走的棋格是:1,2

••••♦---------------♦--------1.

:8:X

;十球看L走蚕计其趋雉,2,0T---------->-------♦-------f

-«--------------♦—♦------------♦!!:X:

:O:::♦--------->------♦------->.

1111

tX111

轰走为4其箱的各号■不口歹U毋.套走法棋箱的荐号和列号:

到最后会出现三种结果,玩家胜利,计算机胜利,下和了。以下即为玩

家胜利,计算机胜利和下和了三种情况。

要走的棋格的行号和列号:

2,2

0:0!X

0

X:X!0

真人选壬胜,计算机也不过如此?

请按任意键继臻….

计算机走的慎格是:2,2

过鬟秋胜,其人选手还需努力?

清转在意键薯续..-一

13

计算机走的棋格是:1,0

0

0

下和了,

青隹任意键继续一

1.2详细设计

1)main函数:首先确定玩家是否先走。如果人先走,通过SelectByHuman

确定人的走法,用while循环确定输赢,在循环中通过SelectByComputer

函数确定计算机的走法,通过if函数判定是谁胜利。

2)StatusTypeChessStatus函数:用if函数判定人和计算机的胜利,

输和下和了的条件。

3)PositionTypeSeiectByComper函数:为了计算机走棋,为棋盘上的

每个棋格打分,打分规则如下:

如果棋格上没有棋子,则得0分。

如果棋格上没有棋子,但棋格所在行、列或对角线有两个X,则得6分。

如果棋格上没有棋子,但棋格所在行、列或对角线有两个0,则得5分。

如果棋格上没有棋子,但棋格所在行、列或对角线其中有一个X,一个没

有棋子,则得4分。

如果棋格上没有棋子,但棋格所在行、列或对角线其中有个0,一个没

有棋子,则得3分。

如果棋格上没有棋子,但棋格所在行、列或对角线没有棋子,则得2分。

如果棋格上没有棋子,但棋格所在行、列或对角线其中有一个X,一个0,

则得1分。

选择分值高的为计算机的走棋,为了更灵活,有儿个棋格的分值一样都

最高,则随机选择一个分值最高的棋格作为计算机的走棋。

如果当前的棋格的行号和列号为(i,j),则在同一行中其中两个棋格的行

号和列号为(i,(j+l)%3)和(i,(j+2)%3),在同一列中其中两个棋格的行

号和列号为((i+D%3,j)和((i+2)%3,j),在的、主对角线上的其他两个棋

格的行号和列号为((i+l)%3,(j+l)%3)和((i+2)%3,(j+2)%3),在付对角

线上的其他两个棋格的行号和列号为((i-l+3)%3,(j-l+3)%3)和

((i-2+3)%3,(j-2+3)%3).

4)PositionTypeSelectByHuman函数:确定人的走法,如果不符合条

件则需要用do-while语句进行循环输入。

5)viodDisplay函数:用printf函数输出棋格线和棋格的行。

14

isFirst==Yl

isFirst==y

I!00Qa

I0D

__________i__________

Chess|grid.row|[grid-co,=x,

Display110

<:ChessStatus|COMPUTER)』而二二

ChessStatus|COMPUTER)==LOSE

ChessStatusiCOMPUTER二二TIE

(2)StatuTypeChessStatus

DIDmain。0

15

16

(3)PositionTypeSelectByComputer

17

显示第二行

输出表格线

(4)PositionTypeSelectByHuman

显示第三行

输出表格线

结束

(5)voidDisplay

18

1.3编码实现:

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

typedefenum{WIN,LOSE,TIE,UNEND}StatusType;/*状态:赢,负,平,还没结束*/

typedefenum{HUMAN,COMPUTER}PlayerType;/*选手:HUMEN(A),

COMPUTER(计算机)*/

typedefstruct

(

introw;/*行号*/

intcol;/*列号*/

JPositionType;

StatusTypeChessStatus(PlayerTypeplayer);/*选手player当前棋局状态*/

PositionTypeSelectByComputer(void);/*计算机选择的走法*/

PositionTypeSelectByHuman(void);/*人选择的走法*/

voidDisplay(void);/*显示棋局*/

charchess[3][3]={'}};/*棋盘*/

intmain(void)

(

PositionTypegrid;/*选手选择的棋格*/

charisFirst;/*选手选择是否先走*/

do

(

printf("是否先走(Y/N)?");/*人是否先走*/

scanf("%c",&isFirst);

while(getchar()!='\n');/*跳过当前其他字符*/

}while(isFirst!="Y'&&isFirst!='y'&&isFirst!='N'&&isFirst!='n');

if(isFirst=='Y'llisFirst=='y')/*真人先走*/

19

grid=SelectByHuman();/*真人的走法*/

chess[grid.row][grid.col]=,O,;/*真人的棋子为O*/

DisplayO;/*显示棋局*/

)

while(1)

grid=SelectByComputer();/*计算机的走法*/

printf("计算机走的棋格是:%d,%d\n",grid.row,grid.col);

chess[grid.row][grid.col]='X';/*计算机选手的棋子为X*/

DisplayO;

if(ChessStatus(COMPUTER)==WIN)/*计算机胜*/

{

printf("计算机胜,真人选手还需努力!\n");

break;/*棋局结束*/

)

elseif(ChessStatus(COMPUTER)=LOSE)/*真人选手胜*/

(

printf(“真人选手胜,计算机也不过如此!\n");

break;/*棋局结束*/

)

elseif(ChessStatus(COMPUTER)=TIE)/*和棋*/

(

printf("下和了!\n");

break;/*棋局结束*/

grid=SelectByHuman();/*真人选手的走法*/

chess[grid.row][grid.coll='O';/*真人选手的棋子为0*/

DisplayO;

if(ChessStatus(HUMAN)==WIN)/*真人选手胜*/

(

printf(“真人选手胜,计算机也不过如此!\n");

break;/*棋局结束*/

)

elseif(ChessStatus(HUMAN)=LOSE)/*计算机胜*/

20

printf(”计算机胜,真人选手还需努力!\n)

break;/*棋局结束*/

)

elseif(ChessStatus(HUMAN)==TIE)/*和棋*/

(

printf("下和了!\n");

break;/*棋局结束*/

system("PAUSE");/*调用库函数system(),输出系统提示信息*/

return0;/*返回值0,返回操作系统*/

StatusTypeChessStatus(PlayerTypeplayer)/*选手player当前的棋局状态*/

(

if(player==HUMAN)

if(chess[0][0]='0'&&chess[0][l]='0'&&chess[0]⑵='O'II/*第一行*/

chess[l][0]=='0'&&chess[l][l]=='0'&&chess[l][2]='O'II/*第二行*/

chess[2][0]='O'&&chess[2][1]=='0'&&chess[2][2]=='0'll/*第三行*/

chess[0][0]=='0'&&chess[l][0]=='0'&&chess[2][0]=='0'll/*第一列*/

chess[O][1]=='0'&&chess[1][1]=='0'&&chess[2][l]=='0'll/*第二列*/

chess[O][2]=='0'&&chess[1][2]=='O'&&chess[2][2]='O,ll/*第三列*/

chess⑼[0]=='0'&&chess[l][l]==0&&chess⑵⑵=='O'II/*主对角线*/

chess[O][2]=='0'&&chess[1][1]=='0'&&chess[2][0]=='O'/*副对角线*/

)retumWIN;/*真人选手胜*/

elseif(chess[O][O]=='X'&&chess[O][1]=='X'&&chess[O][2]=='X'II/*第一行*/

chessfl][O]='X'&&chess[l][l]=='X'&&chess[l][2]=='X'II/*第二行*/

chess[2][0]=='X'&&chess[2][lJ='X'&&chess[2][2]=='X'll/*第三行*/

chess[0][0]=='X'&&chess[l][0]='X'&&chess[2][0]=='X'll/*第一列*/

chess[O][l]=='X'&&chess[l][l]='X'&&chess[2][1]=='X'II/*第二列*/

21

chess[O][2]==X&&chess[1]出=又'&&g655[2][2]==XII/*第三列*/

chess[O][O]='X'&&chess[1][1]='X'&&chess[2][2]=='X'II/*主对角线*/

chess[O][2]=='X'&&chess[1][1]=='X'&&chess[2][0]=='X'/*副对角线*/

)returnLOSE;、/*真人选手负*/

elseif(chess[0][0]!=''&&chess[0][l]!=''&&chess[0][2]!=''&&/*第一行*/

chess[l][0]!=''&&chess[l][l]!=''&&chess[l][2]!=''&&/*第二行*/

chess[2][0]!=''&&chess[2][1]!=''&&chess[2][2]!=''&&/*第三行*/

chess[0][0]!=''&&chess[l][0]!=''&&chess[2][0]!=''&&/*第一列*/

chess[0][l]!=''&&chess[l][l]!=''&&chess[2][l]!=''&&/*第二列*/

chess[0][2]!=''&&chess[l][2]!=''&&chess[2][2]!=''&&/*第三列*/

chess[O]rO]!=''&&chess[l][l]!=''&&chess[2][2]!=''&&/*主对角线*/

chess[0][2]!=''&&chess[l][l]!=''&&chess[2][0]!=''/*副对角线*/

)returnTIE;/*和棋*/

else

returnUNEND;/*棋未下完*/

)

else

(

if(chess[0][0]=='X'&&chess[0][1]=='X'&&chess[0][2]=='X'II/*第一行*/

chess[l][O]=='X'&&chess[l][l]=='X'&&chess[l][2]='X'll/*第二行*/

chess[2][0]=='X'&&chess[2][1]=='X'&&chess[2][2]=='X'II/*第三行*/

chess[0][0]=='X'&&chess[1][0]=='X'&&chess[2][O]=='X'II/*第一列*/

chess[0][1]=='X'&&chess[1][1]=='X'&&chess[2][1]=='X'II/*第二列*/

chess[0][2]=='X'&&chess[1][2]=='X'&&chess[2]出==子'11/*第三列*/

chess[0][0]=='X'&&chess[1][1]=='X'&&chess[2][2]=='X'II/*主对角线*/

chess[0][2]=='X'&&chess[1][1]=='X'&&chess[2][0]=='X'/*副对角线*/

)returnWIN;/*计算机胜*/

elseif(chess[O][0]=='0'&&chess[0][1]=='0'&&chess[0][2]=='O'II/*第一行*/

chess[l][0]=='0'&&chess[l][l]=='0'&&chess[2][1]=='O'II/*第二行*/

chess[2][0]=='0'&&chess[2][l]=='0'&&chess[2][2]=='0'll/*第三行*/

chess[0][0]=,0'&&chess[l][0]='0'&&chess[2][0]='0,ll/*第一列*/

chess[0][l]='O'&&chess[l][1]=='0'&&chess[1][2]=='O'II/*第二列*/

chess[0][2]=='O'&&chess[l][2]=='0'&&chess⑵⑵=='O'II/*第三列*/

chess[0][0]=='0'&&chess[1][l]='O,&&chess[2][2]='O'll/*主对角线*/

chessfO][2]=='0'&&chess[1][1]=='0'&&chess[2][0]='O'/*副对角线*/

22

)returnLOSE;/*计算机负*/

elseif(chess[01[0]!=''&&chess[0][l]!=''&&chess[0][2]!=''&&/*第一行*/

chess[l][0]!=''&&chess[l][l]!=''&&chess[l][2]!=''&&/*第二行*/

chess[2][0]!=''&&chess[2][l]!=''&&chess⑵⑵!=''&&/*第三行*/

chess[0][0]!=''&&chess[l][0]!=''&&chess[2][0]!=''&&/*第一列*/

chess[0][l]!=''&&chess[l][l]!=''&&chess[2][l]!=''&&/*第二列*/

chess[0][2]!=''&&chess[l][2]!=''&&chess[2][2]!=''&&/*第三列*/

chess[0][0]!='&&chess[l][l]!=''&&chess[2][2]!=''&&/*主对角线*/

chess[0][2]!=''&&chess[1][1]!=''&&ehess[2][0]!=''/*副对角线*/

)returnTIE;/*和棋*/

else

returnUNEND;/*棋未下完*/

PositionTypeSelectByComputer(void)/*计算机选择的走法*/

(

intscore[3][3]={0};/*棋盘合格的分值*/

inti,j,n=0,pos;/*临时变量*/

intmax=0;/*最高分max*/

intcount=0;/*得最高分棋格的个数*/

PositionTypegrid;/*得最高分的随机一个棋格*/

for(i=0;i<3;i++)

(

for(j=0;j<3;j++)

(

if(chess[i][j]!='')

score[i][j]=0;/*当前格有棋子得0分*/

elseif(chess[i][(j+l)%3]=='X'&&chess[i][(j+2)%3]=,X'll/*行*/

chess[(i+l)%3][j]=='X'&&chess[(i+2)%3][j]=='X'll/*列*/

i==j&&

chess[(i+l)%3][(j+l)%3]='X'&&chess[(i+2)%3][(j+2)%3]==,X,ll/*主对角线*/

i+j==2&&

23

chess[(i+l)%3][(j-l+3)%3]=='X'&&chess[(i+2)%3][(j-2+3)%3]=='X'

)score[i][j]=6;/*行、列或对角线有两个X,得6分*/

elseif(chess[i][(j+1)%3]=='0'&&chess[i][(j+2)%3]=='O'll/行*/

chess[(i+l)%3][j]=='O'&&chess[(i+2)%3]U]=='O'll/系列*/

i==j&&

chess[(i+l)%3][(j+l)%3]='O'&&chess[(i+2)%3][(j+2)%3]==,O,ll

i+j==2&&

chess[(i+l)%3][(j-l+3)%3]='O'&&chess[(i+2)%3][(j-2+3)%3]='O'

)score[i][j]=5;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论