21xrx.com
2024-12-22 22:27:13 Sunday
登录
文章检索 我的文章 写文章
C++编写的猜数字游戏程序
2023-07-01 03:44:25 深夜i     --     --
C++ 猜数字 游戏程序

猜数字游戏是一种能够提高人们逻辑思维和运算能力的游戏,也是一种广泛应用于计算机编程领域的经典案例。本文介绍一个基于C++语言编写的猜数字游戏程序,帮助读者了解该程序的实现方法和工作原理,以及如何进行改进和扩展。

猜数字游戏程序的基本功能是:计算机随机生成一个包含若干个数字的序列,玩家通过多次猜测这个序列来逐步猜中所有数字的位置和数值。一般来说,这个序列的长度和数字的范围可以通过程序参数来设定,以便灵活应对不同的游戏要求和难度级别。

下面是一个简单的猜数字游戏程序的代码,其中包括了创建序列、输入猜测、检查结果等基本功能:


#include <iostream>

#include <vector>

#include <cstdlib>

#include <ctime>

using namespace std;

const int MAXN = 100;

vector<int> sequence;

vector<int> guess;

void init_sequence(int length, int range) {

  sequence.clear();

  for (int i = 0; i < length; i++) {

    sequence.push_back(rand() % range +1);

  }

}

void get_guess(int length, int range) {

  guess.clear();

  cout << "Please input " << length << " integers (1-" << range << "):" << endl;

  for (int i = 0; i < length; i++) {

    int item;

    cin >> item;

    guess.push_back(item);

  }

}

int check_result() {

  int correct_pos = 0, correct_num = 0;

  for (int i = 0; i < sequence.size(); i++) {

    if (sequence[i] == guess[i]) {

      correct_pos++;

    } else {

      for (int j = 0; j < guess.size(); j++) {

        if (sequence[i] == guess[j]) {

          correct_num++;

          break;

        }

      }

    }

  }

  cout << "Correct position: " << correct_pos << endl;

  cout << "Correct number: " << correct_num << endl;

  return correct_pos == sequence.size();

}

int main() {

  int length, range, round = 0;

  cout << "Please input length and range of number sequence:" << endl;

  cin >> length >> range;

  srand(time(NULL));

  init_sequence(length, range);

  while (!check_result()) {

    round++;

    cout << "Round " << round << ": ";

    get_guess(length, range);

  }

  cout << "Congratulations! You win after " << round << " rounds." << endl;

  return 0;

}

该程序采用了较为简单的程序结构和算法实现,因此可以作为初学者练习C++编程和猜数字游戏的基础练习。读者可以根据自己的实际需求,进一步优化和扩展该程序,例如增加难度级别、人机对战、图形界面等功能,以便更好地实现游戏的乐趣和挑战。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复