新手求助!!!井字游戏编程
lg257 2012-06-27 12:56:31 我刚刚学c++,有很多地方都很菜,老师布置作业让我们编写一个井字游戏的程序,求各位大神帮我理理思路吧~~~
我自己写了一点点,但是思路很乱,求助!!!万分感谢!!!
Psudocode
1.展示游戏说明
2.用户选择游戏级别e.g.level 1 or level 2
3.初始棋盘格 8|3|4
----------
1|X|9
----------
6|7|2
(电脑走第一步,X代表电脑走的,O代表用户走的)
4.While 没有人赢或者不是平局
if 用户的选择机会
human move //用户选择
update board with human move//更新棋盘
otherwise
computer's move//电脑选择
<computer's strategy:电脑策略
1. 电脑选择最优路线
2. 电脑屏蔽用户最优路线
3. 如果以上两种都不成立,则电脑随机选择
update board with computer move//更新棋盘
display board
switch turns
Note: 横竖斜线相加等于15; 电脑判断最优策略: e.g. 如果电脑已选择8和3,则最优策略为15-(8+3)=4;
5.End game/输出棋盘
Function prototype
void welcomeScreen()
void displayBoard()
void userInput()
void resultScreen()
void welcomeScreen()
{
cout<<"Welcome to play tic tac toe 井字游戏"<<endl;
}
void displayBoard()
{
cout<<endl;cout<<endl;
cout<<"8 "<<8<<" "<<'|'<<"3 "<<3<<" "<<'|'<<"4"<<4<<endl;
cout<<" -----------"<<endl;
cout<<" 1"<<1<<" "<<'|'<<" 5"<<"X"<<" "<<'|'<<"9 "<<9<<endl;
cout<<" -----------"<<endl;
cout<<"6 "<<6<<" "<<'|'<<"7 "<<7<<" "<<'|'<<"2 "<<2<<endl;
cout<<endl;cout<<endl;
}
int main()
{
int usemove[4] ={0};
int compmove[4]={0};
int useOpp[4]={0};
int compOpp[4]={0};
char board[9]={‘8’,‘3’,‘4’,‘1’,‘5’,‘9’,‘6’,‘7’,‘2’};
int magic[9]=;
int level=0;
welcomeScreen();
cout<<"选择游戏级别level 1(简单) or 2(困难):"<<endl;
cin>>level;
switch (level)
case 1:
displayBoard();