井字游戏规则: 只要双方中的一方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 }这里是我从编写的游戏中抽出来的一段输入判断代码.
















