井字游戏规则: 只要双方中的一方3个子连在一条线上面就算赢.
1.井字游戏的9个格子分别用字符 '1' - '9'来表示,所以下子时就限定了只能输入1-9这几个数字,且有棋子的地方不能再下棋子,要求其他输入要抛出错误.
2.错误的输入,如: 0, 12,m,aaa。这些都是错误的输入,要求程序能识别判断,抛出错误.
3.字符型转化为整形的方法:字符'0'的ascii码是48,所以字符'1'的ascii码就是49,所以 int = char - 48;
4.字符串string:
如:string b;
其中b可以输入一个字符串,输入时按回车,会结束输入,并且的字符串末尾自动添加 '\0'。
所以,根据这个剧可以判断输入时候出现的 '12','aaa' 也就是一次输入多个的错误形式.
字符串第一位:b[0],第二位:b[1],我们这里就判断b[1],是不是 '\0' 就可以了。
1 //井字游戏输入判断.cpp 2 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 7 int main() 8 { 9 int i; 10 char a[10]; 11 string b; 12 13 //井字游戏的9个格子分别用字符 '1' - '9'来表示. 14 a[1]='1'; a[2]='2'; a[3]='3'; 15 a[4]='4'; a[5]='5'; a[6]='6'; 16 a[7]='7'; a[8]='8'; a[9]='9'; 17 18 cout<<"您要走哪一步?请输入数字(1~9):"; 19 cin>>b; 20 21 i = b[0] - 48; //字符'0'的ascii码是48 22 23 while ((i<1) || (i>9) || (i!=a[i]-48) || ('\0' != b[1]))//判断人输入的数字是否正确 24 { 25 cout<<"对不起,您输入的数字不对,请重新输入(1~9):"; 26 cin>>b; 27 i = b[0] - 48; 28 } 29 30 cout<<"输入正确!结束..."<<endl; 31 32 return 0; 33 }
这里是我从编写的游戏中抽出来的一段输入判断代码.
by: null 2013年7月10日11:02:57
浙公网安备 33010602011771号