嵌入式系统黑白棋课程设计报告

巡山小妖精
813次浏览
2021年01月18日 14:45
最佳经验
本文由作者推荐

配置交换机-简历格式下载

2021年1月18日发(作者:阳蕾)





嵌入式系统课程设计报告

——黑白棋程序设计





























计算机







































计算机








































































































































































2013



x

xx





1
设计目的

利用
VS2005
编程实现基于
WINCE
8*8
大小的黑白棋程序设计。在
WINCE
端运行

2
、开发环境

软件:

Visual Studio 2005
Vc++6.0

3
、设计任务及要求

黑白棋棋盘大小为
8*8
,实现人人对战即可


设计要求 :
利用二维数组标记棋盘,下子后判断横向、纵向或对角有无相同颜色
棋子,
若有则该 线段中所有棋子置为该颜色。
棋盘所有棋子填满后游戏结束。
棋子数多者胜


4
、实现过程

1
、设计初始化棋盘函数

2
、复制棋盘函数

3
、显示棋盘函数

4
、选择下棋类型

4
、计算可落子的位置个数
,
及该位置落子后翻过的棋子的个数
< br>5
、设置棋子的稳定性
(
计算得分的依据
)
,空白处除外
6
、评价棋手得分

4.1
硬件

WINDOWS
操作平台利用
VC++
实现黑白棋游戏设计

Microsoft Visual Studio 2005
4.2
驱动程序设计

WinCE
界面

4.3
用户应用程序设计

#include
using namespace std;

int const MAX=10000;

enum Color
{

WHITE=-1,BLANK,BLACK
};

//
是否能落子
//
黑子

主函数

int main(void)




/////////////
主函数

{
Chessboard board;
Chessboard *pBoard=&board;
enum Color player=BLANK,no wPlayer=BLACK;//
声明两个
enum
枚举变量
player

nowplayer
Choice choice;
Choice *pChoice=&choice;
int dif=-1,step=4,success=0;
char restart=' ';

start:





/////////////////////////////////////////////
player=BLANK;


/////////////////////////////////////////////
nowPlayer=BLACK;
dif=-1;
step=4;
restart=' ';

int b;

cout<<
输入
1
为人人对战
,
否则为人机对战:

cin>>b;

if(b==1){







/////////
人人对战
////////////



while(player!=WHITE && player!=BLACK)


{



cout<<
请选择执黑 棋
(

)(1),
或执白棋
(

)(-1)t执黑棋先下
:n



scanf(
//////



if(player!=WHITE && player!=BLACK)



{




cout<<
黑白设置错误
.n



}


}



essboard(pBoard);

/////////
初始化棋盘
///////////



while(step<64) /*
棋盘上未下满
64

*/


{



char *nowPlayerName=



if(nowPlayer==BLACK)



{




nowPlayerName=
黑棋
(

)



}



else if(nowPlayer==WHITE)



{




nowPlayerName=
白棋
(

)



}




if((pBoard,nowPlayer)==0)



{




if((pBoard,(enum Color)-nowPlayer)==0)




{





break; /*
双方都不能落子
,
游戏结束
*/




}





cout<无子可下
.n



}



else



{





int i,j;





(pBoard);





if(nowPlayer==player) /*
轮到人下
*/





{






while(1)






{







cout<请输入棋子坐 标
(i,j):n







cout<<







cin>>i;







i--;







cout<<







cin>>j;







j--;







pChoice->posX=i;







pChoice->posY=j;








if(i<0
||
i>7
||
j<0
||
j>7
||
pBoard->cell[i][j].color!=BLANK || pBoard->cell[i][j].stable==0)







{








cout<



落子
.








(pBoard);







}







else







{








break;







}






}





}





else




//
另外一个人下






{






while(1)






{







cout<请输入棋子坐标
(i,j):n







cout<<







cin>>i;







i--;







cout<<







cin>>j;







j--;







pChoice->posX=i;







pChoice->posY=j;








if(i<0
||
i>7
||
j<0
||
j>7
pBoard->cell[i][j].color!=BLANK || pBoard->cell[i][j].stable==0)







{








cout<

< br>落子
.








(pBoard);







}







else







{








break;







}






}





}









ss(pBoard,pChoice,nowPlayer);





step++;





cout<落子于坐标




}




nowPlayer=(enum Color)-nowPlayer; /*
换对方下
*/


}



(pBoard);



success=pBoard->whiteNum - pBoard->blackNum;



if(success>0)


{



cout<<
白棋
(

)
获胜
.n


}


else if(success<0)
||



{



cout<<
黑棋
(

)
获胜
.n


}


else


{



cout<<
平局
.n


}



cout<<
游戏结束
!n



while(restart!='y' && restart!='n')


{



cout<<
再下一盘
?(y,n)n



ci n>>restart;/////////////////////////////////////// ////////



if(restart=='y')



{




goto start;



}


}

}

else{






////////////




/////////////



while(dif<1 || dif>60) //
设置难度




{




cout<<
请选择难度
(1~60):n




cin>>dif;




if(dif<1 || dif>60)




{





cout<<
难度设置错误
.n




}



}




while(player!=WHITE && player!=BLACK)



{




cout<<
请选择执黑棋
(

)(1),
或执白棋
(

)(- 1)




cout<<
执黑先行
:









scanf(




if(player!=WHITE && player!=BLACK)




{





cout<<
黑白设置错误
.n




}



}




























































































i,j:n




























essboard(pBoard);

/////////////////
初始化棋盘

while(step<64) //
棋盘上未下满
64


{

char *nowPlayerName=

if(nowPlayer==BLACK)

{


nowPlayerName=
黑棋
(

)

}

else if(nowPlayer==WHITE)

{


nowPlayerName=
白棋
(

)

}

if((pBoard,nowPlayer)==0)

{


if((pBoard,(enum Color)-nowPlayer)==0)


{



break; //
双方都不能落子
,
游戏结束



}


cout<无子可下
.n

}

else

{


int i,j;


(pBoard);



if(nowPlayer==player) //
轮到人下




{




while(1)




{





cout<











cout<<





cin>>i;





i--;





cout<<





cin>>j;





j--;





pChoice->posX=i;





pChoice->posY=j;





if(i<0
||
i>7
||
j<0
||
j>7
||

配置交换机-简历格式下载


配置交换机-简历格式下载


配置交换机-简历格式下载


配置交换机-简历格式下载


配置交换机-简历格式下载


配置交换机-简历格式下载


配置交换机-简历格式下载


配置交换机-简历格式下载