21xrx.com
2025-02-16 22:15:57 Sunday
登录
文章检索 我的文章 写文章
玩转C++:学习有趣简单的代码
2023-06-27 19:11:50 深夜i     --     --
C++ 学习 代码 有趣 简单

C++是一种十分强大和受欢迎的编程语言,它可以应用在各种领域,包括游戏开发、机器人控制、数据处理等等。虽然听起来很高级,但实际上也有很多有趣简单的代码可以让你玩转这门语言。

一个很有趣的例子就是写一个简单的石头、剪刀、布游戏。我们可以利用随机数来模拟人的出拳动作。接下来就是代码展示时间:


#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main()

{

srand(time(NULL)); //初始化随机数种子

int computer = rand() % 3 + 1; //电脑随机生成1~3的数字,代表石头、剪刀、布

int player = 0; //玩家先手

cout << "石头剪刀布游戏开始!" << endl;

cout << "请出拳: 1.石头 2.剪刀 3.布" << endl;

cin >> player; //玩家输入自己的数字

cout << "电脑出拳: " << computer << endl;

if ((player == 1 && computer == 2) || (player == 2 && computer == 3) || (player == 3 && computer == 1))

你赢了!" << endl;

else if (player == computer)

cout << "平局!" << endl;

else

cout << "很遗憾

return 0;

}

以上代码通过随机数生成电脑的出拳动作,通过判断玩家和电脑的出拳组合得出输赢,并输出结果。这个游戏简单易懂,十分适合初学者练手,也可以添加更多的变量和规则来增加乐趣。

另一个有趣的例子是利用C++制作一个简单的井字棋游戏。这也是一个适合初学者的练习项目,可以让你了解C++的基本语句和操作符。以下展示一个简单的井字棋代码:


#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

char board[3][3] = '3'; //井字棋棋盘

char current_marker; //当前下棋的标记

int current_player; //当前下棋的玩家

void draw_board()

{

cout << " " << board[0][0] << " | " << board[0][1] << " | " << board[0][2] << " " << endl;

cout << "-----------" << endl;

cout << " " << board[1][0] << " | " << board[1][1] << " | " << board[1][2] << " " << endl;

cout << "-----------" << endl;

cout << " " << board[2][0] << " | " << board[2][1] << " | " << board[2][2] << " " << endl;

}

bool play_game()

{

cout << "当前玩家: " << current_player << ",当前标记: " << current_marker << endl;

int row, col; //玩家输入的行列号

cout << "请输入行列号: ";

cin >> row >> col;

if (row < 1 || row > 3 || col < 1 || col > 3) //判断输入是否合法

cout << "行列号输入错误!" << endl;

return false;

if (board[row - 1][col - 1] != '1' && board[row - 1][col - 1] != '2' && board[row - 1][col - 1] != '3' && board[row - 1][col - 1] != '4' && board[row - 1][col - 1] != '5' && board[row - 1][col - 1] != '6' && board[row - 1][col - 1] != '7' && board[row - 1][col - 1] != '8' && board[row - 1][col - 1] != '9') //判断格子是否已经下过棋

cout << "这个位置已经下过棋了!" << endl;

return false;

board[row - 1][col - 1] = current_marker; //下棋

draw_board(); //重新绘制棋盘

if (board[0][0] == current_marker && board[0][1] == current_marker && board[0][2] == current_marker) //判断是否连成一条线

return true;

if (board[1][0] == current_marker && board[1][1] == current_marker && board[1][2] == current_marker)

return true;

if (board[2][0] == current_marker && board[2][1] == current_marker && board[2][2] == current_marker)

return true;

if (board[0][0] == current_marker && board[1][0] == current_marker && board[2][0] == current_marker)

return true;

if (board[0][1] == current_marker && board[1][1] == current_marker && board[2][1] == current_marker)

return true;

if (board[0][2] == current_marker && board[1][2] == current_marker && board[2][2] == current_marker)

return true;

if (board[0][0] == current_marker && board[1][1] == current_marker && board[2][2] == current_marker)

return true;

if (board[2][0] == current_marker && board[1][1] == current_marker && board[0][2] == current_marker)

return true;

return false;

}

void swap_player_and_marker()

{

if (current_marker == 'X')

current_marker = 'O';

else

current_marker = 'X';

if (current_player == 1)

current_player = 2;

else

current_player = 1;

}

void game()

{

cout << "欢迎来玩井字棋!" << endl;

cout << "玩家1的标记为:X,玩家2的标记为:O" << endl;

current_player = 1;

current_marker = 'X';

draw_board();

while (true)

{

if (play_game()) //判断是否连成一条线

cout << "玩家" << current_player << "胜利!" << endl;

break;

swap_player_and_marker(); //交换下棋的玩家和标记

}

}

int main()

{

game();

return 0;

}

以上代码通过一个3x3的字符数组来模拟井字棋棋盘,利用循环和判断语句完成了下棋的过程,通过判断是否连成一条线来确定输赢。这个代码十分有趣,让你在玩耍的同时也掌握了C++的基本语法。

综上所述,无论是学习石头、剪刀、布游戏还是井字棋游戏,都可以让你在有趣中学习C++,掌握这门强大的编程语言。

  
  

评论区

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