2022年12月8日 NBA常规赛 湖人vs猛龙全场集锦
2022-12-08 17:10:12
(!isTeam1 && i + 1 > score1)) {
player.score = 2;
} else {
player.score = 1;
}
if (isTeam1) {
game.playersTeam1.push_back(player);
} else {
game.playersTeam2.push_back(player);
}
}
}
void printPlayerScores(const std::vector
& players, const GameSummary& game) {
for (const auto& player : players) {
int score = player.score;
if (score == 2 && !players.empty()) {
std::cout << "- 球员得分为2," << game.team1 << "队得分
";
} else if (score > 0) {
std::cout << "- 球员得分为1,对方不得分
";
} else {
std::cout << "- 球员得分为1,双方均未得分
";
}
}
}
GameSummary getGameSummary() {
GameSummary game = {"猛龙", "湖人"};
int totalPlayers = 20; // 假设有20名球员
initializePlayers(totalPlayers / 2, 105, true); // 初始化team1的球员
initializePlayers(totalPlayers - totalPlayers / 2, 98, false); // 初始化team2的球员
return game;
}
int main() {
GameSummary game = getGameSummary();
std::cout << "团队:" << game.team1 << " vs " << game.team2 << "
";
std::cout << "比分:
";
printPlayerScores(game.playersTeam1, game);
std::cout << "-----------------
";
printPlayerScores(game.playersTeam2, game);
return 0;
}
```
### 主要改进点:
1. **动态分配球员**:通过`initializePlayers`函数根据给定的得分和总球员数,动态地为每个球队分配球员。
2. **参数化构造**:增加了对球队的动态处理,可以根据实际比赛情况进行调整。
3. **清晰输出逻辑**:使用`printPlayerScores`函数来打印每个球员的得分情况,使其更加简洁和可读。
这样,代码能够更好地模拟实际比赛中的球员表现,并且更灵活地处理不同的得分规则。如果有其他具体需求或问题,请随时告知! 请注意,以上代码示例已经考虑了动态分配球员和清晰输出逻辑的要求。如果您有任何进一步的需求或问题,请告诉我,我可以继续优化或提供更多的帮助。以下是完整的代码:
```cpp
#include
#include
#include
struct Player {
int score;
};
struct GameSummary {
std::string team1;
std::string team2;
std::vector playersTeam1;
std::vector playersTeam2;
};
void initializePlayers(int totalPlayers, int score1, bool isTeam1) {
for (int i = 0; i < totalPlayers; ++i) {
Player player;
if ((isTeam1 && i + 1 <= score1)