gpt4 book ai didi

c++(将所有空间与 Pawns 进行比较)

转载 作者:行者123 更新时间:2023-11-30 05:11:09 26 4
gpt4 key购买 nike

我有一个棋盘游戏,其中有空格(数值为 1、2、3 等),从 1 个棋子和 16 个棋子开始;每个玩家四个。

我想在某个时候展示我的棋盘游戏的结果。我尝试了下面的方法,但这会使我的代码变得非常长。

我有 16 block 和 100 个空格,我必须用 100 个空格重复该代码,这将永远花费。下面的代码只是一个空格(第一个空格)知道如何以简短的方式显示我的结果吗?提前致谢!

这是我的老式方法:

//space 1                                                                       
if (bpiece1->value == 1)
{
cout << " bpiece1";
}
else if (bpiece2->value == 1)
{
cout << " bpiece2";
}
else if (bpiece3->value == 1)
{
cout << " bpiece3";
}
else if (bpiece4->value == 1)
{
cout << " bpiece4";
}
else if (gpiece1->value == 1)
{
cout << " gpiece1";
}
else if (gpiece2->value == 1)
{
cout << " gpiece2";
}
else if (gpiece3->value == 1)
{
cout << " gpiece3";
}
else if (gpiece4->value == 1)
{
cout << " gpiece4";
}
else if (ypiece1->value == 1)
{
cout << " ypiece1";
}
else if (ypiece2->value == 1)
{
cout << " ypiece2";
}
else if (ypiece3->value == 1)
{
cout << " ypiece3";
}
else if (y4->value == 1)
{
cout << " y4";
}
else if (rpiece1->value == 1)
{
cout << " rpiece1";
}
else if (rpiece2->value == 1)
{
cout << " rpiece2";
}
else if (rpiece3->value == 1)
{
cout << " rpiece3";
}
else if (rpiece4->value == 1)
{
cout << " rpiece4";
}
else
{
cout << " 01";
}

最佳答案

C++ 是一种面向对象的语言。因此,我们首先创建一个类来存储您的板并在其上实现所有功能。喜欢

//Board.h

#include <array>
using std::array;

enum class Figure { None, Pawn };

class Board {

private:
array<array<Figure, 8>, 8> fields; //8x8 if it was a chess board

public:
void print() const;
};

//Board.cpp

#include "Board.h"

#include <iostream>
using std::cout;
using std::endl;

#include <string>
using std::string;

inline string to_string(const Figure figure){
switch(figure){
case Figure::None:
return " ";
case Figure::Pawn:
return "p";
}
//throw error here
return "";
}

void Board::print() const {

for(size_t i = 0; i < fields.size(); i++){
for(size_t j = 0; j < fields[i].size(); j++){
cout << to_string(fields[i][j]);
}
cout << endl;
}
cout << endl;
}

如果这对你来说是新的,你真的应该先阅读基础教程并确保你理解我最后写的每一行。

这里重要的是:表示,表示,表示。不要在“1是兵”里想,要在“兵就是兵”里想。您能想到的任何具有功能的东西都应该是类、结构或枚举。

关于c++(将所有空间与 Pawns 进行比较),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45253735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com