第一,我想确定你是否有个“棋盘”或者至少“6*6数组对象”来保存玩家每次 *** 作的位置,如果有你问这个问题的重点应该放在你的算法和“棋盘”对象关系的处理上。
第二,你的问题说出了你的设计思路但是却没有说出你目前的问题是出在什么地方,你的算法已经写好,但是整个程序若达不到预期效果的重点却不是你贴出的这段代码,所以没人有法能帮你.
column自己定,我给个中文的参照:用户Id,主键
胜利局数:int
失败局数:int
平局:int
总分:int
上此日期:date
-------------------------
ok,表好了,save,load你要的数据就可以了。。。
很简单用二维字符数组就行了#include<iostream>
using namespace std
int main(){
int k=0
char a[5][5]
for(int i=1i<=3i++) for(int j=1j<=3j++) a[i][j]=' '
while(1){
cout<<" 三子棋"<<endl
cout<<" 1 2 3"<<endl
cout<<" ----- "<<endl
cout<<"1|"<<a[1][1]<<" "<<a[1][2]<<" "<<a[1][3]<<"|"<<endl
cout<<"2|"<<a[2][1]<<" "<<a[2][2]<<" "<<a[2][3]<<"|"<<endl
cout<<"3|"<<a[3][1]<<" "<<a[3][2]<<" "<<a[3][3]<<"|"<<endl
cout<<" ----- "<<endl
for(int j=1j<=3j++){
int p=0
for(int i=1i<=3i++){
if(a[i][j]!='X') break
else p++
}
if(p==3){
cout<<"二号玩家获胜!!!"<<endl
return 0
}
}
for(int j=1j<=3j++){
int p=0
for(int i=1i<=3i++){
if(a[j][i]!='X') break
else p++
}
if(p==3){
cout<<"二号玩家获胜!!!"<<endl
return 0
}
}
if(k==9) break
k++
int x1,y1,x2,y2
cout<<"一号玩家(O)请输入(n行m列):"
cin>>x1>>y1
while(1){
if(a[x1][y1]==' ') break
else{
cout<<"这个位置已占用,请重新输入!!!"<<endl
cin>>x1>>y1
}
}
a[x1][y1]='O'
system("cls")
cout<<" 三子棋"<<endl
cout<<" 1 2 3"<<endl
cout<<" ----- "<<endl
cout<<"1|"<<a[1][1]<<" "<<a[1][2]<<" "<<a[1][3]<<"|"<<endl
cout<<"2|"<<a[2][1]<<" "<<a[2][2]<<" "<<a[2][3]<<"|"<<endl
cout<<"3|"<<a[3][1]<<" "<<a[3][2]<<" "<<a[3][3]<<"|"<<endl
cout<<" ----- "<<endl
for(int j=1j<=3j++){
int p=0
for(int i=1i<=3i++){
if(a[i][j]!='O') break
else p++
}
if(p==3){
cout<<"一号玩家获胜!!!"<<endl
return 0
}
}
for(int j=1j<=3j++){
int p=0
for(int i=1i<=3i++){
if(a[j][i]!='O') break
else p++
}
if(p==3){
cout<<"一号玩家获胜!!!"<<endl
return 0
}
}
if(k==9) break
k++
cout<<"二号玩家(X)请输入(n行m列):"
cin>>x2>>y2
while(1){
if(a[x2][y2]==' ') break
else{
cout<<"这个位置已占用,请重新输入!!!"<<endl
cin>>x2>>y2
}
}
a[x2][y2]='X'
system("cls")
}
cout<<"------平局------"<<endl
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)