在项目中使用Enum封装静态变量

  • 抛弃传统的public static final定义静态变量
  • 使用enum会让代码更加简洁,并且可以定义信息
public class Constant {

    public enum XX{
    // 变量
        XTYPE_BAST(1,"XXX"),XTYPE_SALE(0,"XXX");
        private int code;
        private String msg;

        XX(int code, String msg) {
            this.code = code;
            this.msg = msg;
        }
	// 定义get 方法,方便使用中获取信息
        public int getCode() {
            return code;
        }

        public String getMsg() {
            return msg;
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,为了更好地封装和组织代码,我们可以使用类来实现猜拳游戏。这里不使用枚举类型,而是使用常量来表示剪刀、石头、布,代码如下: ```cpp class Game { public: static const int SCISSORS = 1; static const int ROCK = 2; static const int PAPER = 3; void start(); void play(); void result(int); private: int player; int computer; }; ``` 这里使用了静态成员变量来表示剪刀、石头、布,同时定义了三个公有函数start、play和result,以及两个私有成员变量player和computer。 接下来,我们来实现这三个函数。 start函数用于输出游戏开始的提示信息,代码如下: ```cpp void Game::start() { cout << "猜拳游戏开始!" << endl; } ``` play函数用于获取玩家输入的出拳结果,以及生成电脑的出拳结果,代码如下: ```cpp void Game::play() { cout << "请出拳(1-剪刀,2-石头,3-布): "; cin >> player; srand(time(NULL)); computer = rand() % 3 + 1; } ``` result函数用于根据玩家和电脑的出拳结果计算胜负,并输出相应的信息,代码如下: ```cpp void Game::result(int result) { switch (result) { case 0: cout << "平局!" << endl; break; case -1: cout << "你输了!" << endl; break; case 1: cout << "你赢了!" << endl; break; default: break; } } ``` 最后,我们可以在main函数创建Game对象,然后调用start、play和result函数来完成猜拳游戏的逻辑,代码如下: ```cpp int main() { Game game; game.start(); game.play(); int result; if (game.player == game.computer) { result = 0; // 平局 } else if (game.player == Game::SCISSORS && game.computer == Game::ROCK || game.player == Game::ROCK && game.computer == Game::PAPER || game.player == Game::PAPER && game.computer == Game::SCISSORS) { result = -1; // 玩家输 } else { result = 1; // 玩家赢 } game.result(result); return 0; } ``` 完整代码如下: ```cpp #include <iostream> #include <cstdlib> #include <ctime> using namespace std; class Game { public: static const int SCISSORS = 1; static const int ROCK = 2; static const int PAPER = 3; void start(); void play(); void result(int); private: int player; int computer; }; void Game::start() { cout << "猜拳游戏开始!" << endl; } void Game::play() { cout << "请出拳(1-剪刀,2-石头,3-布): "; cin >> player; srand(time(NULL)); computer = rand() % 3 + 1; } void Game::result(int result) { switch (result) { case 0: cout << "平局!" << endl; break; case -1: cout << "你输了!" << endl; break; case 1: cout << "你赢了!" << endl; break; default: break; } } int main() { Game game; game.start(); game.play(); int result; if (game.player == game.computer) { result = 0; // 平局 } else if (game.player == Game::SCISSORS && game.computer == Game::ROCK || game.player == Game::ROCK && game.computer == Game::PAPER || game.player == Game::PAPER && game.computer == Game::SCISSORS) { result = -1; // 玩家输 } else { result = 1; // 玩家赢 } game.result(result); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值