如何在C加加的面向对象写石头剪刀布游戏
时间: 2023-09-15 11:05:28 浏览: 93
C#实现石头剪刀布游戏
### 回答1:
在 C++ 中实现石头剪刀布游戏,需要使用面向对象编程的思想。
首先,我们需要定义一个类来表示游戏的每个玩家。这个类应该有一个名字和一个当前手势的属性,以及一个函数来让玩家出拳。
然后,我们需要定义一个游戏类来管理游戏的流程。这个类应该有一个函数来接收两个玩家的出拳,并返回胜利者的信息。
最后,我们需要定义一个主函数来创建游戏对象,并进行游戏循环。
这是一个简单的例子:
```
#include <iostream>
#include <string>
using namespace std;
class Player
{
public:
Player(string name)
{
m_name = name;
}
void setGesture(string gesture)
{
m_gesture = gesture;
}
string getGesture()
{
return m_gesture;
}
string getName()
{
return m_name;
}
private:
string m_name;
string m_gesture;
};
class Game
{
public:
Game(Player p1, Player p2)
{
m_player1 = p1;
m_player2 = p2;
}
string play()
{
string gesture1 = m_player1.getGesture();
string gesture2 = m_player2.getGesture();
if (gesture1 == "rock")
{
if (gesture2 == "scissors")
{
return m_player1.getName() + " wins!";
}
else if (gesture2 == "paper")
{
return m_player2.getName() + " wins!";
}
else
{
return "It's a tie!";
}
}
else if (gesture1 == "scissors")
{
if (gesture2 == "paper")
{
return m_player1.getName() + " wins
### 回答2:
在C++的面向对象编程中,可以通过创建类和对象来实现石头剪刀布游戏。
首先,我们可以创建一个名为"Player"的类,该类可以包含玩家的姓名和选择的手势(石头、剪刀、布)。可以为这些属性创建相应的成员变量,并为其创建适当的get和set函数。
接下来,我们可以创建一个名为"Game"的类,该类将负责游戏的逻辑。在这个类中,我们可以定义用于判定胜负的函数。这个函数将根据两个玩家的手势作出判断,并返回对应的结果(胜利、失败或平局)。我们还可以在这个类中创建一个记录游戏结果的成员变量。
然后,我们可以创建一个名为"Main"的函数来驱动整个游戏的过程。在这个函数中,我们可以让玩家依次输入自己的姓名和选择的手势,并将这些信息传递给相应的"Player"对象。接着,我们可以创建两个"Player"对象,模拟两个玩家。然后,我们可以创建一个"Game"对象,通过调用它的判定函数,判断游戏结果并根据结果输出相应的信息。
最后,我们可以在"Main"函数中询问玩家是否想继续游戏,并根据玩家的选择决定是否重新开始游戏。
总结起来,通过创建"Player"类和"Game"类,以及在"Main"函数中调用相应的对象和函数,我们可以在C++的面向对象编程中实现石头剪刀布游戏。这样可以使代码更加结构化和易于扩展,同时提高代码的重用性和可维护性。
阅读全文