【问题标题】:C++ Tic-Tac-Toe User Input AssignmentC++井字游戏用户输入分配
【发布时间】:2015-10-17 03:48:40
【问题描述】:

为了进行一些练习,我决定制作一个控制台井字游戏。这是来自int main的片段

int main()
{
    //Small 2x2 board (for now), hense the 4 options below
    int op1, op2, op3, op4;

    //Draws the board on the screen, separate function I've made
    board(op1, op2, op3, op4); 

    //asking the user the first option, which is for X not O
    //User will enter 1, 2, 3, or 4 and an X should appear in corresponding quadrant.
    cout << "x? ";
    cin >> op1;
}

所以我想要做的是首先出现板,然后让控制台要求用户输入放置 X 和 O 的位置​​。

但是这里最终发生的是用户的选项没有显示在板上,因为用户在加载板之后而不是之前输入了选项。

如何将int op1 的原始分配覆盖到用户的输入中,以便它自动将其放置在板上?谢谢!

P.S:我不想在查找井字游戏的源代码时作弊:P

【问题讨论】:

  • 1:画一个板。 2:询问用户输入。 3.绘制更新的板。等等。
  • 你的意思是你想让用户的输入来改变已经绘制好的棋盘?你不能那样做。通常在控制台游戏中,您应该在每一步之后绘制棋盘,直到达到游戏结束状态。
  • 再叫板重画不行吗?

标签: c++


【解决方案1】:

您可以通过再次调用您的功能板来循环用户输入并使用最新输入更新板状态。 另外,我认为创建 2x2 井字游戏并不是学习游戏的好主意,因为任何两个动作都会结束游戏。而是尝试标准的 3x3 井字游戏。为此,您必须实现一个新函数来检查游戏是否已被玩家赢得。

【讨论】:

  • 谢谢,我把它做成了 2x2,就像一个“草稿”,或者是一个工作的基础。我同意,2x2 棋盘游戏毫无意义,但我想让球滚动,然后添加更多内容。
【解决方案2】:

您可以在用户输入 cin 后使用 system("CLS") 来清屏。和系统(“CLS”)之后的cout,用用户的输入显示新的编辑板。这只是解决了使用用户输入更新板的问题:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    相关资源
    最近更新 更多