根据用户回答声明"Players"。用户选择玩家数量。播放器是结构体
declaring "Players" upon user answer. Users choose how many players. Player is a struct
struct Player {
int money=1500;
int position=1;
//Position positionn;
//int number; // number of player
bool eliminated =false;
};
我主要有这个:
cout <<"Enter the number of players:";
cin >> numOfPlayers;
//between 2-8 ? how
for (int i=0; i<numOfPlayers; i++)
{
Player player[i];
}
1(如何存储for循环中的值?
2(如何将其放在单独的函数中,但仍将值传递到 main 中?
你可以做这样的事情:
#include <iostream>
#include <vector>
#include "Player.hpp" // Your header file for Player struct.
int main()
{
std::cout << "Enter player quantity: ";
unsigned int quantity;
std::cin >> quantity;
std::vector<Player> game_players(quantity);
//...
return EXIT_SUCCESS;
}
有关std::vector
,请参阅构造函数。
编辑 1 - 动态分配
如果不允许使用std::vector
或必须使用数组,则一种方法如下:
int main()
{
std::cout << "Enter player quantity: ";
unsigned int quantity_of_players;
std::cin >> quantity_of_players;
Player * p_players = new Player[quantity_of_players];
//...
delete [] p_players;
return 0;
}
上面的代码片段在动态内存(又名堆(中分配播放器的容器,因为编译时的数量是未知的。 在返回到操作系统之前删除内存。
编辑 2:传递玩家 您将使用引用传递玩家
的容器:
void Print_Player_Info(const std::vector<Player>& players)
{
for (unsigned int i = 0; i < players.size(); ++i)
{
std::cout << "Player " << i << ":n";
std::cout << " money: " << players[i].money << "n";
std::cout << "n";
}
}
相关文章:
- SFML纹理像播放器
- 根据用户回答声明"Players"。用户选择玩家数量。播放器是结构体
- (SFML)按下键时,播放器构造函数未使用正确的动画进行更新
- 旋转播放器模型以指向一个点
- 播放器未在程序中的"X"和"O"之间切换
- DwmGetWindowAttribute 在全屏模式下无法获得媒体播放器的正确矩形大小
- 可以访问一个类中的播放器结构,但不能访问另一个类中的播放器结构
- C++ 播放器墙与 SFML 的冲突
- 如何在不显示媒体播放器的情况下在libVLC中拍摄快照
- OpenGL沿方向矢量移动播放器
- 如何将 cdparanoia 读取的 CD 音频数据移交给 ALSA 播放器?
- 我应该如何在文本RPG中调用播放器咒语
- 类模板"没有用于调用播放器的匹配函数::P layer()"
- 使用 Struct 进行 mp3 播放器模拟C++(不需要播放 mp3 的唯一显示列表)
- 如何修复结构播放器对象中的矢量位置,以便它在 Main 中与 me.position 一起使用?
- 将超能力高级音频播放器同步到绝对位置
- QT 5.8 WebEngine HTML 5视频播放器支持
- 克里昂未初始化记录类型:播放器
- 当磁盘几乎完整时,使用C 流式播放器复制Linux中的文件也不例外
- 如何在XYZ播放器平面中找出前向坐标