生手井字棋程序,求帮忙。

新手井字棋程序,求帮忙。。。
本帖最后由 u012969137 于 2013-12-26 00:17:34 编辑

#include "stdafx.h"
#include<iostream>
using namespace std;

#define SPACE ' '

class JingZiQi
{
char juzhen[3][3];
public:
JingZiQi()
{
juzhen[3][3]={ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, };
}
void player_move();
void computer_move();
void qipan();
char check();
};




void main()
{
char done;
done=SPACE;

JingZiQi jzq();

cout<<"这是一个井字棋游戏!"<<endl;
cout<<"你即将和电脑对抗!"<<endl;

    do
{
jzq.qipan();
jzq.player_move();
done=jzq.check();               /*判断输赢*/
if (done!=SPACE) break;
jzq.computer_move();
done=jzq.check();               /*判断输赢*/

}while(done==SPACE);

if(done=="X")
cout<<"恭喜你击败了计算机!"<<endl;
else
cout<<"很遗憾,计算机赢了!"<<endl;       

jzq.qipan();                        /*最后棋盘的情况*/
}

void JingZiQi::player_move()                              /*玩家下棋的函数*/
{
int x,y;
cout<<"请输入下棋的位置:(如:2 2):";
cin>>x>>y;
x--;y--;
if (juzhen[x][y]!=SPACE)               /*输入无效的下棋位置时,通过递归来再一次下棋*/
{
cout<<"无效的下棋位置,请重试"<<endl;
player_move();
}
else juzhen[x][y]='X';
}

void JingZiQi::computer_move()                            /*计算机下棋的函数*/
{
int t;
char *p;
p=(char*)juzhen;
for (t=0; *p!=SPACE && t<9; ++t) p++;
if (t==9)
{
cout<<"平局"<<endl;
exit(0);                            /*平局,游戏结束*/
}
else *p='O';
}

void JingZiQi::qipan()                             /*用于输出棋盘的边界*/
{
int t,i;
for (t=0; t<3; t++)
{
cout<<juzhen[t][0]<<"|"<<juzhen[t][1]<<"|"<<juzhen[t][2]<<endl;
if (t!=2) 
cout<<"***|***|***"<<endl;
}
cout<<endl;
}

char JingZiQi::check()                             /*判断输赢的函数*/
{
int t;
char *p;
for (t=0; t<3; t++)
{
p=&juzhen[t][0];
if (*p==*(p+1) && *(p+1)==*(p+2)) return *p;         /*行方向3个棋子成一条直线*/
}
for (t=0; t<3; t++)
{
p=&juzhen[0][t];
if (*p==*(p+3) && *(p+3)==*(p+6)) return *p;         /*列方向3个棋子成一条直线*/
}
if (juzhen[0][0]==juzhen[1][1] && juzhen[1][1]==juzhen[2][2])  /*右斜方向3个棋子成一条直线*/
return juzhen[0][0];

if (juzhen[0][2]==juzhen[1][1] && juzhen[1][1]==juzhen[2][0])  /*左斜方向3个棋子成一条直线*/
return juzhen[0][2];

return SPACE;
}



------------------------------------------------------------------------------------

错误 1 error C2059: 语法错误 : “{”
错误 2 error C2143: 语法错误 : 缺少“;”(在“{”的前面)
错误 3 error C2059: 语法错误 : “}”
错误 4 error C2228: “.qipan”的左边必须有类/结构/联合
错误 5 error C2228: “.player_move”的左边必须有类/结构/联合
错误 6 error C2228: “.check”的左边必须有类/结构/联合
错误 7 error C2228: “.computer_move”的左边必须有类/结构/联合
错误 8 error C2228: “.check”的左边必须有类/结构/联合
错误 9 error C2446: “==”: 没有从“const char *”到“int”的转换
错误 10 error C2040: “==”: “int”与“const char [2]”的间接寻址级别不同
错误 11 error C2228: “.qipan”的左边必须有类/结构/联合


很着急啊,身边又没人帮忙。。。。。。。

文章评论

生手井字棋程序,求帮忙。
Web开发者需具备的8个好习惯
生手井字棋程序,求帮忙。
程序员必看的十大电影
生手井字棋程序,求帮忙。
程序员最害怕的5件事 你中招了吗?
生手井字棋程序,求帮忙。
我跳槽是因为他们的显示器更大
生手井字棋程序,求帮忙。
程序猿的崛起——Growth Hacker
生手井字棋程序,求帮忙。
Java程序员必看电影
生手井字棋程序,求帮忙。
Java 与 .NET 的平台发展之争
生手井字棋程序,求帮忙。
每天工作4小时的程序员
生手井字棋程序,求帮忙。
5款最佳正则表达式编辑调试器
生手井字棋程序,求帮忙。
一个程序员的时间管理
生手井字棋程序,求帮忙。
程序员周末都喜欢做什么?
生手井字棋程序,求帮忙。
聊聊HTTPS和SSL/TLS协议
生手井字棋程序,求帮忙。
程序员都该阅读的书
生手井字棋程序,求帮忙。
漫画:程序员的工作
生手井字棋程序,求帮忙。
写给自己也写给你 自己到底该何去何从
生手井字棋程序,求帮忙。
那些争议最大的编程观点
生手井字棋程序,求帮忙。
程序员和编码员之间的区别
生手井字棋程序,求帮忙。
总结2014中国互联网十大段子
生手井字棋程序,求帮忙。
程序员眼里IE浏览器是什么样的
生手井字棋程序,求帮忙。
初级 vs 高级开发者 哪个性价比更高?
生手井字棋程序,求帮忙。
程序员应该关注的一些事儿
生手井字棋程序,求帮忙。
为啥Android手机总会越用越慢?
生手井字棋程序,求帮忙。
我是如何打败拖延症的
生手井字棋程序,求帮忙。
Web开发人员为什么越来越懒了?
生手井字棋程序,求帮忙。
60个开发者不容错过的免费资源库
生手井字棋程序,求帮忙。
要嫁就嫁程序猿—钱多话少死的早
生手井字棋程序,求帮忙。
“懒”出效率是程序员的美德
生手井字棋程序,求帮忙。
程序员的样子
生手井字棋程序,求帮忙。
为什么程序员都是夜猫子
生手井字棋程序,求帮忙。
亲爱的项目经理,我恨你
生手井字棋程序,求帮忙。
老美怎么看待阿里赴美上市
生手井字棋程序,求帮忙。
不懂技术不要对懂技术的人说这很容易实现
生手井字棋程序,求帮忙。
10个调试和排错的小建议
生手井字棋程序,求帮忙。
我的丈夫是个程序员
生手井字棋程序,求帮忙。
“肮脏的”IT工作排行榜
生手井字棋程序,求帮忙。
做程序猿的老婆应该注意的一些事情
生手井字棋程序,求帮忙。
团队中“技术大拿”并非越多越好
生手井字棋程序,求帮忙。
中美印日四国程序员比较
生手井字棋程序,求帮忙。
10个帮程序员减压放松的网站
生手井字棋程序,求帮忙。
十大编程算法助程序员走上高手之路
生手井字棋程序,求帮忙。
看13位CEO、创始人和高管如何提高工作效率
生手井字棋程序,求帮忙。
鲜为人知的编程真相
生手井字棋程序,求帮忙。
旅行,写作,编程
生手井字棋程序,求帮忙。
什么才是优秀的用户界面设计
生手井字棋程序,求帮忙。
如何区分一个程序员是“老手“还是“新手“?