W3School TIY Editor

  • W3School 在线教程
  • 改变方向
  • 暗黑模式
​x
 
#include <iostream>
using namespace std;
​
int main() {
  // 我们用 "1" 表示这里有艘船
  bool ships[4][4] = {
    { 0, 1, 1, 0 },
    { 0, 0, 0, 0 },
    { 0, 0, 1, 0 },
    { 0, 0, 1, 0 }
  };
​
  // 用这些变量记录玩家命中的次数和已进行的回合数
  int hits = 0;
  int numberOfTurns = 0;
​
  // 允许玩家继续游戏直到击中全部四艘船
  while (hits < 4) {
    int row, column;
​
    cout << "选择坐标\n";
​
    // 要求玩家输入行号
    cout << "选择 0 到 3 之间的行号: ";
    cin >> row;
​
    // 要求玩家输入列号
    cout << "选择 0 到 3 之间的列号: ";
    cin >> column;
​
    // 检查这些坐标是否有船
    if (ships[row][column]) {
      // 如果玩家击中了一艘船,通过将该值设为0来移除它
      ships[row][column] = 0;
​
      // 增加命中计数器
      hits++;
​
      // 告诉玩家他们击中了一艘船以及还剩多少艘船
      cout << "命中! " << (4-hits) << " 剩余.\n\n";
    } else {
      // 告诉玩家他们没击中
      cout << "未命中\n\n";
    }
​
    // 统计玩家已进行的回合数
    numberOfTurns++;
  }
​
  cout << "胜利!\n";
  cout << "你在 " << numberOfTurns << " 回合内获胜";
  
  return 0;
}