暑假第一周

        一周过去,这个小学期也即将结束,这一周主要是完成小学期的那十个编程任务。编程过程中遇到了很多的问题,有的是一些小细节的问题;有的就不太懂怎么改了。

        就比如:这次作业有一个是编“井字棋”游戏,我把判断输赢的函数写在了main主函数外面,由于形参不能传给实参(这里o原来是形参),所以到后面就不能退出,而是继续提示您下棋。所以我就把判断输赢的函数又写到主函数里面去了(部分如下),但是这样就会麻烦很多。占的内存多,效率也不高。如果有更好的方法,希望大家多多给我提出来。

void panduan();
   {
    if (((a[0][0] == y) && (a[0][1] == y) && (a[0][2] == y)) || ((a[1][0] == y) && (a[1][1] == y) && (a[1][2] == y)) || ((a[2][0] == y) && (a[2][1] == y) && (a[2][2] == y)) || ((a[0][0] == y) && (a[1][0] == y) && (a[2][0] == y)) || ((a[0][1] == y) && (a[1][1] == y) && (a[2][1] == y)) || ((a[0][2] == y) && (a[1][2] == y) && (a[2][2] == y)) || ((a[0][0] == y) && (a[1][1] == y) && (a[2][2] == y)) || ((a[2][0] == y) && (a[1][1] == y) && (a[0][2] == y)))
    {
     o = 1;
     cout << "很遗憾你输了!" << endl;
     cout << "游戏结束!" << endl;
    }
    else if (((a[0][0] == z) && (a[0][1] == z) && (a[0][2] == z)) || ((a[1][0] == z) && (a[1][1] == z) && (a[1][2] == z)) || ((a[2][0] == z) && (a[2][1] == z) && (a[2][2] == z)) || ((a[0][0] == z) && (a[1][0] == z) && (a[2][0] == z)) || ((a[0][1] == z) && (a[1][1] == z) && (a[2][1] == z)) || ((a[0][2] == z) && (a[1][2] == z) && (a[2][2] == z)) || ((a[0][0] == z) && (a[1][1] == z) && (a[2][2] == z)) || ((a[2][0] == z) && (a[1][1] == z) && (a[0][2] == z)))
    {
     o = 1;
     cout << "恭喜你赢了!" << endl;
     cout << "游戏结束!" << endl;
    }
    else
     o = 0;
   }
   if (o == 1)
   {
    cout << "1、继续;2、退出" << endl;
    char r;
    cin >> r;
    if (r == '1')
    {
     goto begin_3;
    }
    if (r == '2')
    {
     goto begin_2;
    }
   }

posted @ 2019-07-07 19:43  兜转转  阅读(138)  评论(0编辑  收藏  举报