c++ iostream 字符井字棋 本期良心被我家来福吃了

点赞这么快就有10个了 我熬夜掉了好多头发搞出来了个井字棋

老规矩 先放代码

#include<iostream>
using namespace std;
int main(){
    cout<<1<<" "<<2<<" "<<3<<endl;
    cout<<4<<" "<<5<<" "<<8<<endl;
    cout<<7<<" "<<8<<" "<<9<<endl;
    cout<<endl;
    int a1[3]={4,4,4},a2[3]={4,4,4},a3[3]={4,4,4};
    for(int b=0;b!=9;b++){
    	int c;
        cout<<"你要下几号位:";
        cin>>c;
        cout<<endl;
        if(c<4){a1[c-1]=b%2;}
        else if(6<c){a3[c-7]=b%2;}
        else{a2[c-4]=b%2;}
        for(int i=0;i!=3;i++){
        	if(a1[i]==4){cout<<"  ";}
			else{cout<<a1[i]<<" ";}}
        cout<<endl;
        for(int i=0;i!=3;i++){
			if(a2[i]==4){cout<<"  ";}
			else{cout<<a2[i]<<" ";}}
		cout<<endl;
		for(int i=0;i!=3;i++){
			if(a3[i]==4){cout<<"  ";}
			else{cout<<a3[i]<<" ";}}
		cout<<endl;
		int t1=a1[0]+a1[1]+a1[2],t2=a2[0]+a2[1]+a2[2],t3=a3[0]+a3[1]+a3[2],t4=a1[0]+a2[0]+a3[0],t5=a1[1]+a2[1]+a3[1],t6=a1[2]+a2[2]+a3[2],t7=a1[0]+a2[1]+a3[2],t8=a1[2]+a2[1]+a3[0];
        if(t1==3){cout<<"“1”胜利";break;}
        else if(t1==0){cout<<"“0”胜利";break;}
        else if(t2==3){cout<<"“1”胜利";break;}
        else if(t2==0){cout<<"“0”胜利";break;}
        else if(t3==3){cout<<"“1”胜利";break;}
        else if(t3==0){cout<<"“0”胜利";break;}
        else if(t4==3){cout<<"“1”胜利";break;}
        else if(t4==0){cout<<"“0”胜利";break;}
        else if(t5==3){cout<<"“1”胜利";break;}
        else if(t5==0){cout<<"“0”胜利";break;}
        else if(t6==3){cout<<"“1”胜利";break;}
        else if(t6==0){cout<<"“0”胜利";break;}
        else if(t7==3){cout<<"“1”胜利";break;}
        else if(t7==0){cout<<"“0”胜利";break;}
        else if(t8==3){cout<<"“1”胜利";break;}
        else if(t8==0){cout<<"“0”胜利";break;}
        else{cout<<endl;continue;}}
    return 0;
}

#include<iostream>
using namespace std;
int main(){
    cout<<1<<" "<<2<<" "<<3<<endl;
    cout<<4<<" "<<5<<" "<<8<<endl;
    cout<<7<<" "<<8<<" "<<9<<endl;
    cout<<endl;
    int a1[3]={4,4,4},a2[3]={4,4,4},a3[3]={4,4,4};
    for(int b=0;b!=9;b++){
        int c;
        cout<<"你要下几号位:";
        cin>>c;
        cout<<endl;
        if(c<4){a1[c-1]=b%2;}
        else if(6<c){a3[c-7]=b%2;}
        else{a2[c-4]=b%2;}
        for(int i=0;i!=3;i++){
            if(a1[i]==4){cout<<"  ";}
            else{cout<<a1[i]<<" ";}}
        cout<<endl;
        for(int i=0;i!=3;i++){
            if(a2[i]==4){cout<<"  ";}
            else{cout<<a2[i]<<" ";}}
        cout<<endl;
        for(int i=0;i!=3;i++){
            if(a3[i]==4){cout<<"  ";}
            else{cout<<a3[i]<<" ";}}
        cout<<endl;
        int t1=a1[0]+a1[1]+a1[2],t2=a2[0]+a2[1]+a2[2],t3=a3[0]+a3[1]+a3[2],t4=a1[0]+a2[0]+a3[0],t5=a1[1]+a2[1]+a3[1],t6=a1[2]+a2[2]+a3[2],t7=a1[0]+a2[1]+a3[2],t8=a1[2]+a2[1]+a3[0];
        if(t1==3){cout<<"“1”胜利";break;}
        else if(t1==0){cout<<"“0”胜利";break;}
        else if(t2==3){cout<<"“1”胜利";break;}
        else if(t2==0){cout<<"“0”胜利";break;}
        else if(t3==3){cout<<"“1”胜利";break;}
        else if(t3==0){cout<<"“0”胜利";break;}
        else if(t4==3){cout<<"“1”胜利";break;}
        else if(t4==0){cout<<"“0”胜利";break;}
        else if(t5==3){cout<<"“1”胜利";break;}
        else if(t5==0){cout<<"“0”胜利";break;}
        else if(t6==3){cout<<"“1”胜利";break;}
        else if(t6==0){cout<<"“0”胜利";break;}
        else if(t7==3){cout<<"“1”胜利";break;}
        else if(t7==0){cout<<"“0”胜利";break;}
        else if(t8==3){cout<<"“1”胜利";break;}
        else if(t8==0){cout<<"“0”胜利";break;}
        else{cout<<endl;continue;}}
    return 0;
}

老规矩 天龙八步走:

第一步.构建框架

#include<iostream>//导入iostream 用来 cin cout
using namespace std;//使用(正在进行式) 命名空间 万能头;
int main(){//主函数

    return 0;//用来应对没输出的情况
}

第二步.创建变量并输出框架

#include<iostream>
using namespace std;
int main(){
    cout<<1<<" "<<2<<" "<<3<<endl;//第一行
    cout<<4<<" "<<5<<" "<<8<<endl;//第二行
    cout<<7<<" "<<8<<" "<<9<<endl;//第三行
    cout<<endl;#换行
    int a1[3]={4,4,4},a2[3]={4,4,4},a3[3]={4,4,4};//一二三行的数组
    return 0;
}

第三步.搞输入

#include<iostream>
using namespace std;
int main(){
    cout<<1<<" "<<2<<" "<<3<<endl;
    cout<<4<<" "<<5<<" "<<8<<endl;
    cout<<7<<" "<<8<<" "<<9<<endl;
    cout<<endl;
    int a1[3]={4,4,4},a2[3]={4,4,4},a3[3]={4,4,4};
    for(int b=0;b!=9;b++){//
    	int c;//整数变量
        cout<<"你要下几号位:";//不换行的输出
        cin>>c;//继上一次问问题
        cout<<endl;//换行
    }
    return 0;
}

第四步.确认棋子行数

#include<iostream>
using namespace std;
int main(){
    cout<<1<<" "<<2<<" "<<3<<endl;
    cout<<4<<" "<<5<<" "<<8<<endl;
    cout<<7<<" "<<8<<" "<<9<<endl;
    cout<<endl;
    int a1[3]={4,4,4},a2[3]={4,4,4},a3[3]={4,4,4};
    for(int b=0;b!=9;b++){
    	int c;
        cout<<"你要下几号位:";
        cin>>c;
        cout<<endl;
        if(c<4){a1[c-1]=b%2;}//如果在第一行 让棋子保持为1 2
        else if(6<c){a3[c-7]=b%2;}//如果在第三行 让棋子保持为1 2
        else{a2[c-4]=b%2;}//如果在第二行 让棋子保持为1 2 
    return 0;
}

第五步.重置棋盘

#include<iostream>
using namespace std;
int main(){
    cout<<1<<" "<<2<<" "<<3<<endl;
    cout<<4<<" "<<5<<" "<<8<<endl;
    cout<<7<<" "<<8<<" "<<9<<endl;
    cout<<endl;
    int a1[3]={4,4,4},a2[3]={4,4,4},a3[3]={4,4,4};
    for(int b=0;b!=9;b++){
    	int c;
        cout<<"你要下几号位:";
        cin>>c;
        cout<<endl;
        if(c<4){a1[c-1]=b%2;}
        else if(6<c){a3[c-7]=b%2;}
        else{a2[c-4]=b%2;}
        for(int i=0;i!=3;i++){//重置第二行
        	if(a1[i]==4){cout<<"  ";}//默认为4,如果是4就输出空格
			else{cout<<a1[i]<<" ";}}//如果不是就输出棋子
        cout<<endl;//换行
        for(int i=0;i!=3;i++){//重置第二行
			if(a2[i]==4){cout<<"  ";}
			else{cout<<a2[i]<<" ";}}
		cout<<endl;//换行
		for(int i=0;i!=3;i++){//重置第三行
			if(a3[i]==4){cout<<"  ";}
			else{cout<<a3[i]<<" ";}}
		cout<<endl;//换行
    return 0;
}

第六步.胜利变量

#include<iostream>
using namespace std;
int main(){
    cout<<1<<" "<<2<<" "<<3<<endl;
    cout<<4<<" "<<5<<" "<<8<<endl;
    cout<<7<<" "<<8<<" "<<9<<endl;
    cout<<endl;
    int a1[3]={4,4,4},a2[3]={4,4,4},a3[3]={4,4,4};
    for(int b=0;b!=9;b++){
    	int c;
        cout<<"你要下几号位:";
        cin>>c;
        cout<<endl;
        if(c<4){a1[c-1]=b%2;}
        else if(6<c){a3[c-7]=b%2;}
        else{a2[c-4]=b%2;}
        for(int i=0;i!=3;i++){
        	if(a1[i]==4){cout<<"  ";}
			else{cout<<a1[i]<<" ";}}
        cout<<endl;
        for(int i=0;i!=3;i++){
			if(a2[i]==4){cout<<"  ";}
			else{cout<<a2[i]<<" ";}}
		cout<<endl;
		for(int i=0;i!=3;i++){
			if(a3[i]==4){cout<<"  ";}
			else{cout<<a3[i]<<" ";}}
		cout<<endl;
		int t1=a1[0]+a1[1]+a1[2],t2=a2[0]+a2[1]+a2[2],t3=a3[0]+a3[1]+a3[2],t4=a1[0]+a2[0]+a3[0],t5=a1[1]+a2[1]+a3[1],t6=a1[2]+a2[2]+a3[2],t7=a1[0]+a2[1]+a3[2],t8=a1[2]+a2[1]+a3[0];//可能胜利的位置
}

第七步.判断棋子1胜利

#include<iostream>
using namespace std;
int main(){
    cout<<1<<" "<<2<<" "<<3<<endl;
    cout<<4<<" "<<5<<" "<<8<<endl;
    cout<<7<<" "<<8<<" "<<9<<endl;
    cout<<endl;
    int a1[3]={4,4,4},a2[3]={4,4,4},a3[3]={4,4,4};
    for(int b=0;b!=9;b++){
    	int c;
        cout<<"你要下几号位:";
        cin>>c;
        cout<<endl;
        if(c<4){a1[c-1]=b%2;}
        else if(6<c){a3[c-7]=b%2;}
        else{a2[c-4]=b%2;}
        for(int i=0;i!=3;i++){
        	if(a1[i]==4){cout<<"  ";}
			else{cout<<a1[i]<<" ";}}
        cout<<endl;
        for(int i=0;i!=3;i++){
			if(a2[i]==4){cout<<"  ";}
			else{cout<<a2[i]<<" ";}}
		cout<<endl;
		for(int i=0;i!=3;i++){
			if(a3[i]==4){cout<<"  ";}
			else{cout<<a3[i]<<" ";}}
		cout<<endl;
		int t1=a1[0]+a1[1]+a1[2],t2=a2[0]+a2[1]+a2[2],t3=a3[0]+a3[1]+a3[2],t4=a1[0]+a2[0]+a3[0],t5=a1[1]+a2[1]+a3[1],t6=a1[2]+a2[2]+a3[2],t7=a1[0]+a2[1]+a3[2],t8=a1[2]+a2[1]+a3[0];
        if(t1==3){cout<<"“1”胜利";break;}
        else if(t2==3){cout<<"“1”胜利";break;}
        else if(t3==3){cout<<"“1”胜利";break;}
        else if(t4==3){cout<<"“1”胜利";break;}
        else if(t5==3){cout<<"“1”胜利";break;}
        else if(t6==3){cout<<"“1”胜利";break;}
        else if(t7==3){cout<<"“1”胜利";break;}
        else if(t8==3){cout<<"“1”胜利";break;}
        else{cout<<endl;continue;}}
    return 0;
}

第八步.判断棋子0的胜利

#include<iostream>
using namespace std;
int main(){
    cout<<1<<" "<<2<<" "<<3<<endl;
    cout<<4<<" "<<5<<" "<<8<<endl;
    cout<<7<<" "<<8<<" "<<9<<endl;
    cout<<endl;
    int a1[3]={4,4,4},a2[3]={4,4,4},a3[3]={4,4,4};
    for(int b=0;b!=9;b++){
    	int c;
        cout<<"你要下几号位:";
        cin>>c;
        cout<<endl;
        if(c<4){a1[c-1]=b%2;}
        else if(6<c){a3[c-7]=b%2;}
        else{a2[c-4]=b%2;}
        for(int i=0;i!=3;i++){
        	if(a1[i]==4){cout<<"  ";}
			else{cout<<a1[i]<<" ";}}
        cout<<endl;
        for(int i=0;i!=3;i++){
			if(a2[i]==4){cout<<"  ";}
			else{cout<<a2[i]<<" ";}}
		cout<<endl;
		for(int i=0;i!=3;i++){
			if(a3[i]==4){cout<<"  ";}
			else{cout<<a3[i]<<" ";}}
		cout<<endl;
		int t1=a1[0]+a1[1]+a1[2],t2=a2[0]+a2[1]+a2[2],t3=a3[0]+a3[1]+a3[2],t4=a1[0]+a2[0]+a3[0],t5=a1[1]+a2[1]+a3[1],t6=a1[2]+a2[2]+a3[2],t7=a1[0]+a2[1]+a3[2],t8=a1[2]+a2[1]+a3[0];
        if(t1==3){cout<<"“1”胜利";break;}
        else if(t1==0){cout<<"“0”胜利";break;}
        else if(t2==3){cout<<"“1”胜利";break;}
        else if(t2==0){cout<<"“0”胜利";break;}
        else if(t3==3){cout<<"“1”胜利";break;}
        else if(t3==0){cout<<"“0”胜利";break;}
        else if(t4==3){cout<<"“1”胜利";break;}
        else if(t4==0){cout<<"“0”胜利";break;}
        else if(t5==3){cout<<"“1”胜利";break;}
        else if(t5==0){cout<<"“0”胜利";break;}
        else if(t6==3){cout<<"“1”胜利";break;}
        else if(t6==0){cout<<"“0”胜利";break;}
        else if(t7==3){cout<<"“1”胜利";break;}
        else if(t7==0){cout<<"“0”胜利";break;}
        else if(t8==3){cout<<"“1”胜利";break;}
        else if(t8==0){cout<<"“0”胜利";break;}
        else{cout<<endl;continue;}}
    cout<<endl<<"平局";
    return 0;
}

c++废脑子 这次要20赞

python就要10个 不能再少了

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的井字棋C++代码示例: ```c++ #include <iostream> #include <cstdlib> using namespace std; char matrix[3][3]; // 3x3的游戏矩阵 void initialize_matrix() { for(int i=0; i<3; i++) for(int j=0; j<3; j++) matrix[i][j] = '-'; } void print_matrix() { cout << " 1 2 3" << endl; for(int i=0; i<3; i++) { cout << i+1 << " "; for(int j=0; j<3; j++) cout << matrix[i][j] << " "; cout << endl; } } bool is_valid_move(int row, int col) { if(row<0 || row>=3 || col<0 || col>=3) return false; if(matrix[row][col] != '-') return false; return true; } bool check_win(char player) { for(int i=0; i<3; i++) { if(matrix[i][0] == player && matrix[i][1] == player && matrix[i][2] == player) return true; if(matrix[0][i] == player && matrix[1][i] == player && matrix[2][i] == player) return true; } if(matrix[0][0] == player && matrix[1][1] == player && matrix[2][2] == player) return true; if(matrix[0][2] == player && matrix[1][1] == player && matrix[2][0] == player) return true; return false; } int main() { int row, col; char player = 'X'; initialize_matrix(); print_matrix(); while(true) { cout << "Player " << player << " move: "; cin >> row >> col; if(!is_valid_move(row-1, col-1)) { cout << "Invalid move, try again." << endl; continue; } matrix[row-1][col-1] = player; print_matrix(); if(check_win(player)) { cout << "Player " << player << " wins!" << endl; break; } if(player == 'X') player = 'O'; else player = 'X'; } system("pause"); return 0; } ``` 这份代码使用了一个3x3的字符矩阵来表示井字棋的游戏状态,'X'代表玩家1,'O'代表玩家2,'-'代表空格。程序通过循环交替让两个玩家进行落子,每当有玩家连成三个相同的棋子,游戏结束并宣布胜者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值