首页 > 编程语言 >Dev-C++自带小游戏Jackpot改进

Dev-C++自带小游戏Jackpot改进

时间:2023-03-07 11:44:51浏览次数:37  
标签:Jackpot cout Dev 点击 小游戏 C++ 二次开发

1.项目简介

这是Dev-C++自带的小游戏Jackpot,本质上是一个靠运气和一点点逻辑推理的猜字游戏

2.源代码

打开Dev-C++,点击左上方的“文件”,再点击“新建”,接着点击“项目”,出现如下页面:

 

然后点击“Console”,选择“Jackpot”,点击“确定”,就会出现一个main程序

详细代码如下:

#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

void Start();
void GetResults();

int i, j, life, maxrand;
char c;

void Start() {
    i = 0;
    j = 0;
    life = 0;
    maxrand = 6;
    
    cout << "Select difficulty mode:\n"; //选择难度
    cout << "1 : Easy (0-15)\n";
    cout << "2 : Medium (0-30)\n";
    cout << "3 : Difficult (0-50)\n";
    cout << "or type another key to quit\n";
    c = 30;

    cin >> c;                   // 判断游戏者的报数
    cout << "\n";

    switch (c) {
        case '1':
            maxrand = 15;  // 数值结果在报数和最大值中间
            break;
        case '2':
            maxrand = 30;
            break;
        case '3':
            maxrand = 50;
            break;
        default:
            exit(0);
        break;
    }

    life = 5;         // 游戏的生命数
    srand((unsigned)time(NULL)); // 初始化函数
    j = rand() % maxrand;  //得到数值结果在报数和最大值中间
    
    GetResults();
}

void GetResults() {
    if (life <= 0) { // 如果生命数为0,则失败
        cout << "You lose !\n\n";
        Start();
    }

    cout << "Type a number: \n";
    cin >> i;
    
    if((i>maxrand) || (i<0)) { // 如果报数不对,则继续
        cout << "Error: number not between 0 and \n" << maxrand;
        GetResults();
    }

    if(i == j) {
        cout << "YOU WIN!\n\n"; // 找到结果
        Start();
    } else if(i>j) {
        cout << "Too BIG\n";
        life = life - 1;
        cout << "Lives remaining: " << life << "\n\n";
        GetResults();
    } else if(i<j) {
        cout << "Too SMALL\n";
        life = life - 1;
        cout << "Lives remaining: " << life << "\n\n";
        GetResults();
    }
}

int main() {
    cout << "** Jackpot game **\n";
    cout << "The goal of this game is to guess a number.\n";
    cout << "Jackpot will tell you if the number is too big or too\n";
    cout << "small compared to the secret number to find.\n\n";
    Start();
    return 0;
}

3.运行体验

 

 

 经过运行测试,发现此游戏难度较为简单,故思量增加一组数值范围,稍增挑战性

4.二次开发

添加代码如下:

 

仅添加了一组数值范围,以增加挑战性

5.运行测试

 

 增添数值组合后,由于范围的增大,游戏挑战性显著增加,趣味性增强

6.感受总结

此次项目改进,让我感受到了二次开发的不易,首先需要对源代码进行充分的了解分析,知晓每句代码的作用,然后经过运行体验发现其中的不足之处,再去进行增删改查,反复测试,最终呈现出二次开发的成果,虽只是增添几句简单的代码,但也需要反复地推敲思考,实来之不易。

 

标签:Jackpot,cout,Dev,点击,小游戏,C++,二次开发
From: https://www.cnblogs.com/Suyantai/p/17187515.html

相关文章

  • 使用番茄助手(Visual Assist Options)给C++函数自动添加注释
    1、安装并配置番茄助手(VisualAssistOptions)2、使用找到一个c++函数头,通常在头文件.h中,右键对应函数的名字,选择:QuickActionsandRefactorings(VA) --DocumentMe......
  • c++ lambda表达式捕获类数据…
    lambda表达式允许捕获局部变量,但是数据成员不是局部变量。用一种特殊的方法,你可以捕获“this”:。usingnamespacestd;classKitty{public:explicitKitty(inttoys)......
  • C++中使用interface
    C++中使用interface使用struct;不使用成员变量,只使用成员函数;所有成员函数都是纯虚的;不使用构造函数和析构函数;参考C++的interface_c++interface_Stephan_zry的博......
  • C/C++教师工资管理系统[2023-03-06]
    C/C++教师工资管理系统[2023-03-06]题目描述:每个教师的月工资信息为:教师号、姓名、性别、单位名称、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房......
  • C++ yolov5 jetson NX盒子部署安全帽检测 TensorRT, 支持INT8/FP16
    C++yolov5 jetson NX盒子部署安全帽检测TensorRT,支持INT8/FP16安全帽检测,用C++实现,部署到Nvidia上,tensorrt加速,最新的yolov5部署,支持s,m,l模型和int8,FP16等选择......
  • 浅谈C++的boolean类型
    在C++语言中,boolean类型有所不同:数字0与false等价,而非0数字与true等价.对于有过其它编程语言的人来讲,可能需要一个适应的过程。#include<iostream>intmain(){ in......
  • 初识C++
    写在前面这是我第一次接触到C++,之前对它的大名可谓是如雷贯耳.这两天有人问我学习C++的感觉怎么样?对此我想说,很难.C++的细节很多,要求我们比学习C语言更加细心,我不是没......
  • c++基础学习路线
    c++基础学习路线类和对象c/c++内存管理模板IO流继承多态c++11新特新异常智能指针特殊类设计c++的类型转换STL......
  • C++质因数分解
    朴素算法从\([2,\sqrt(N)]\)进行遍历vector<int>GetFactor(intN){vector<int>res;for(inti=2;i*i<=N;++i){if(N%i==0){......
  • C/C++ 数据结构链栈的基本操作实现
    #include<iostream>#include<string.h>usingnamespacestd;typedefintSElemType;typedefstructStackNode{SElemTypedata;structStackNode*next;......