自编的一款小游戏【比较蒟蒻】

直接上代码吧:

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
char P;
int player,num=0,player1_e=0,player2_e=0,player1_d=0,player2_d=0,t=0,n1=0;
int player1_m=0,player2_m=0,n2=0,true1=0,true2=0;
void game();void shop();void home();void rule();void play();void money();void people();
void before(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY);
}
void blue_C(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
}
void red_C(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
}
void green_C(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);
}
void pink_C(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_BLUE);
}
void home(){
    char game;
    printf("||商城(s)||开始游戏(p)||游戏规则(r)||离开游戏(o)||玩家属性查询(m)||编写人员(z)||\n");
    Sleep(1000);
    cin>>game;
    switch(game){
        case ‘s‘:{
            Sleep(1000);
            printf("页面跳转中,请稍候……\n");
            Sleep(1000);
            shop();
            break;
        }
        case ‘p‘:{
            Sleep(1000);
            printf("页面跳转中,请稍候……\n");
            Sleep(1000);
            play();
            break;
        }
        case ‘r‘:{
            Sleep(1000);
            printf("页面跳转中,请稍候……\n");
            Sleep(1000);
            rule();
            break;
        }
        case ‘o‘:{
            Sleep(1000);
            printf("页面跳转中,请稍候……\n");
            Sleep(1000);
            printf("欢迎您随时返回游戏!\n");
            break;
        }
        case ‘m‘:{
            Sleep(1000);
            printf("页面跳转中,请稍候……\n");
            Sleep(1000);
            money();
            break;
        }
        case ‘z‘:{
            Sleep(1000);
            printf("页面跳转中,请稍候……\n");
            Sleep(1000);
            people();
            break;
        }
        default :{
            printf("输入不正确,请重新输入!\n");
            Sleep(1000);
            home();
            return ;
        }
    }
}
void people(){
    before();
    printf("编写人员:均由DreamShadow创编\n");
    Sleep(1000);
    switch(P){
        case ‘B‘:{
            blue_C();
            break;
        }
        case ‘R‘:{
            red_C();
            break;
        }
        case ‘G‘:{
            green_C();
            break;
        }
    }
    home();
}
void money(){
    printf(" 玩家      金币   蓝色魔法药水     红色魔法药水\n");
    printf(" 玩家一 || %d$    ||   %d       ||     %d\n",player1_m,player1_e,player1_d);
    Sleep(2000);
    printf(" 玩家二 || %d$    ||   %d       ||     %d\n",player2_m,player2_e,player2_d);
    Sleep(2000);
    home();
}
void shop(){
    char buy;
    pink_C();
    printf("   商品名称                         作用                         价格($)\n");
    Sleep(1000);
    printf("蓝色魔法药水(e)  ||  在最后错误计算完毕时可以减掉5次错误次数  ||   1000\n");
    Sleep(1000);
    printf("红色魔法药水(d)  ||                pass一道题目               ||   100\n");
    Sleep(1000);
    printf("P1玩家?(1)P2玩家?(2)放弃交易?(3)");cin>>player;
    if(player==3){
        switch(P){
        case ‘B‘:{
            blue_C();
            break;
        }
        case ‘R‘:{
            red_C();
            break;
        }
        case ‘G‘:{
            green_C();
            break;
        }
    }
        home();
        return ;
    }
    printf("\n请选择要买的商品名称:");cin>>buy;
    Sleep(1000);
    printf("\n购买数量(切记不可超过购买最大值,否则系统自动清零当前玩家的钱币):");cin>>num;
    switch(buy){
        case ‘e‘:{
            if(player==1){
                if(player1_m>=1000*num){
                    player1_e+=num;
                    player1_m-=1000*num;
                    printf("交易成功!\n");
                    printf("剩余金币:%d\n",player1_m);
                    Sleep(1000);
                }else
                {
                    printf("P1玩家试图超过购买最大值,金币清零!下不为例\n");
                    Sleep(2000);
                    player1_m=0;
                }
            }else{
                if(player2_m>=1000*num){
                    player2_e+=num;
                    player2_m-=1000*num;
                    printf("交易成功!\n");
                    printf("剩余金币:%d\n",player1_m);
                    Sleep(1000);
                }else
                {
                    printf("P2玩家试图超过购买最大值,金币清零!下不为例\n");
                    Sleep(2000);
                    player2_e=0;
                }
            }
            num=0;
            break;
        }
        case ‘d‘:{
            if(player==1){
                if(player1_m>=100*num){
                    player1_d+=num;
                    player1_m-=100*num;
                    printf("交易成功!\n");
                    Sleep(1000);
                }else
                {
                    printf("P1玩家试图超过购买最大值,金币清零!下不为例\n");
                    Sleep(2000);
                    player1_e=0;
                }
            }else{
                if(player2_m>=100*num){
                    player2_d+=num;
                    player2_m-=100*num;
                    printf("交易成功!\n");
                    Sleep(1000);
                }else
                {
                    printf("P2玩家试图超过购买最大值,金币清零!下不为例\n");
                    Sleep(2000);
                    player2_m=0;
                }
            }
            num=0;
            break;
        }
    }
    Sleep(2000);
    printf("欢迎再次光临!\n");
    switch(P){
        case ‘B‘:{
            blue_C();
            break;
        }
        case ‘R‘:{
            red_C();
            break;
        }
        case ‘G‘:{
            green_C();
            break;
        }
    }

    home();

}
void rule(){
    printf("游戏规则:\n");
    Sleep(1000);
    printf("本游戏由两个玩家参与,在游戏界面中开始进行猜随机数的游戏,并有钱币奖励,钱币可在商城中购买一些道具\n");
    Sleep(3000);
    printf("温馨提示:建议折半查找这个数据,猜的次数越少,钱币越多(建立在对方错的次数上,也就是说,对方错的越多,你得到的金币越多),反之,越少!\n");
    Sleep(6000);
    printf("本款游戏出现的BUG可联系创编者哦!\n钦此!\n");
    Sleep(1000);
    printf("-----------------------------------------------------------------------------\n");
    home();
}
void play(){
    before();
    srand( (unsigned)time( NULL ) );
    Sleep(1000);
    cout<<"随机数生成中……"<<endl;
    Sleep(1000);
    int player1_num = rand() % 1000 + 1;
    srand( (unsigned)time( NULL ) );
    int player2_num = rand() % 1000 + 1;
    printf("玩家一开始猜数(本次数据范围为0~1000)\n");
    Sleep(1000);
    n1=0;
    while(true1!=player1_num){
        cin>>true1;
        if(true1>player1_num){
            printf("猜错了!大了!\n");
            Sleep(1000);
            if(player1_d>=1){
                printf("是否使用红色魔法药水?是(1)否(2):");
                Sleep(1100);
                cin>>t;
                if(t==1){
                    player1_d--;
                    printf("\n剩余红色魔法药水:%d\n",player1_d);
                    Sleep(1000);
                    n1--;
                }
            }
            n1++;
        }else if(true1<player1_num){
            printf("猜错了!小了!\n");
            Sleep(1000);
            if(player1_d>=1){
                printf("是否使用红色魔法药水?是(1)否(2):");
                Sleep(1000);
                cin>>t;
                if(t==1){
                    player1_d--;
                    printf("\n剩余红色魔法药水:%d\n",player1_d);
                    Sleep(1000);
                    n1--;
                };
            }
            n1++;
        }
    }
    printf("猜对喽!二号玩家准备!\n") ;
    Sleep(2000);
    printf("玩家二开始猜数(本次数据范围为0~1000)\n");
    Sleep(1000);
    n2=0;
    while(true2!=player2_num){
        cin>>true2;
        if(true2>player2_num){
            printf("猜错了!大了!\n");
            Sleep(1000);
            if(player2_d>=1){
                printf("是否使用红色魔法药水?是(1)否(2):");
                Sleep(1000);
                cin>>t;
                if(t==1){
                    player2_d--;
                    printf("\n剩余红色魔法药水:%d\n",player2_d);
                    Sleep(1000);
                    n2--;
                    printf("继续猜!\n");
                }
            }
            n2++;
        }else if(true2<player2_num){
            printf("猜错了!小了○!\n");
            Sleep(1000);
            if(player2_d>=1){
                printf("是否使用红色魔法药水?是(1)否(2):");
                Sleep(1000);
                cin>>t;
                if(t==1){
                    player2_d--;
                    printf("\n剩余红色魔法药水:%d\n",player2_d);
                    Sleep(1000);
                    n2--;
                    printf("继续猜!\n");
                }
            }
            n2++;
        }
    }
    pink_C();
    printf("猜对喽!\n");
    Sleep(4000);
    if(player1_e>=1){
                printf("是否使用蓝色魔法药水?是(1)否(2):");
                Sleep(1000);
                cin>>t;
                if(t==1){
                    player1_e--;
                    printf("\n剩余蓝色魔法药水:%d\n",player2_d);
                    Sleep(1000);
                    n1-=5;
                }
            }
    if(player2_e>=1){
                printf("是否使用蓝色魔法药水?是(1)否(2):");
                Sleep(1000);
                cin>>t;
                if(t==1){
                    player2_e--;
                    printf("\n剩余蓝色魔法药水:%d\n",player2_d);
                    Sleep(1000);
                    n2-=5;
                }
            }
    printf("玩家一猜的次数为:%d 得到的金币数为: %d\n",n1,n2*5);
    Sleep(1000);
    printf("玩家二猜的次数为:%d 得到的金币数为: %d\n",n2,n1*5);
    Sleep(2000);
    printf("目前玩家一的金币为:%d\n",player1_m+=n2*5);
    Sleep(1000);
    printf("目前玩家二的金币为:%d\n",player2_m+=n1*5);
    Sleep(1000);
    switch(P){
        case ‘B‘:{
            blue_C();
            break;
        }
        case ‘R‘:{
            red_C();
            break;
        }
        case ‘G‘:{
            green_C();
            break;
        }
    }
    home();
}
void findt(int n){
    if(n<2)printf("%d",n);
    if(n>=2){
        findt(n/2);
        printf("%d",n%2);
    }
}
void finde(int n){
    if(n<8)printf("%d",n);
    if(n>=8){
        finde(n/8);
        printf("%d",n%8);
    }
}
void finds1(int n){
    switch(n){
        case 10:printf("A");break;
        case 11:printf("B");break;
        case 12:printf("C");break;
        case 13:printf("D");break;
        case 14:printf("E");break;
        case 15:printf("F");break;
        default:printf("%d",n);
    }
}
void finds2(int n){
    if(n<16){
        finds1(n);
    }
    if(n>=16){
        finds2(n/16);
        finds1(n%16);
    }
}

以上为子程序,经供参考,若需要完整版,请点击关注,然后问楼主所要即可。

原文地址:https://www.cnblogs.com/DreamShadow/p/10742550.html

时间: 2024-10-29 19:10:55

自编的一款小游戏【比较蒟蒻】的相关文章

Chrome 中的彩蛋,一款小游戏,你知道吗?

今天看到一篇文章,介绍chrome中的彩蛋,带着好奇心进去看了一眼,没想到发现了一款小游戏,个人觉得还不错,偶尔可以玩一下,放松放松心情!^_^ 当 Chrome 无法连接到互联网时, 或者上着网突然掉线,刷新页面时报错, 此时错误提示上方都会有一只小短手霸王龙.嗯,表面上看起来也没什么特别之处,因为小短手在早期 Chrome 中有了.但一按空格键(或方向键 ↑ ),你就打开了一扇神奇之门! 往下看,小短手这不就跑起来了么! 按下空格键(或方向键 ↑ ),小短手就会跳.如果碰到仙人掌,游戏就结束

three.js-打造微信爆款小游戏跳一跳

第1章 课程介绍介绍了微信小游戏的概念以及相关的由来,从宏观上对于微信小游戏的定位和价值有一个明确的认识 1-1 导学介绍1-2 什么是微信小游戏1-3 微信小游戏与H5小游戏1-4 为什么要学习微信小游戏第2章 微信小游戏平台与特性讲了微信小游戏平台的相关特性,包括微信小游戏工程的建立,微信小游戏开发工具的详细使用,以及微信小游戏相关API的实战等 2-1 微信开发者工具介绍2-2 小游戏项目工程初始模板建立2-3 微信开发者工具(模拟器介绍)2-4 微信开发者工具(编辑器介绍)2-5 微信开

初学WPF,做一款小游戏练习一下

以前做项目的时候有用过Silverlight,最近了解了一下WPF,做了一款简单的小游戏来练手,希望能和大家多多交流. 想法:最强大脑 牛人多多,对色彩的分辨更是让人目瞪口呆,于是我就想到做一个小游戏,简单一点,做网格状的色块,中间穿插一块不同颜色但是又非常相近的颜色块,点击该颜色块即为通关,进入下一关,下一关的色块数量+1,直到到达一个差不多的关卡后不再+1: 效果如图 说做就做,新建工程,开始实现,首先准备好一组颜色相近的颜色代码,百度HTML颜色代码,随便选取,越相邻颜色色差越小. 1 p

你的智商几年级,来体验这款小游戏吧!

数学再不学,脑子都笨了,闲暇的时候,写了一个小游戏,天才帝一步,欢迎大家下载,大人小孩能够比赛的! [技术支持]: 天才帝一步里面的后台数据和官方站点所有由"Bmob移动云服务"提供全套支持,须要了解的同学能够直接登录:www.bmob.cn 或者直接回复你的问题给我. [游戏简单介绍]: 天才帝一步,比比谁速度!自从用了"天才帝一步",妈妈再也不操心我的算术了! 1.经典模式:以最短时间答对20答题,俗称小旋风模式: 2.禅模式:就是20秒内答尽可量多题的模式,磨

一款小游戏引擎设计

前言 本文为后续引擎提炼定下了一个大致的方向,没有给出完整的引擎架构.这就够了!让我们在具体开发过程中再来从底向上设计吧! 本文目的 1.进行引擎提炼的前期规划,明确引擎提炼的整体流程和引擎的非功能性需求.2.从炸弹人领域模型中提炼出精简的领域模型,作为炸弹人的参考模型.3.从炸弹人参考模型中提炼出抽象的领域模型,作为引擎的初步领域模型. 本文主要内容 前期规划 回顾炸弹人设计 初步设计引擎 前期规划 开发流程 引擎提炼的整个流程如下图所示: 说明 • 回顾炸弹人游戏介绍炸弹人游戏的基本情况,回

ex36 自己编的一个冒险小游戏(未完待续)

1 #-*- coding: UTF-8 -*- 2 from sys import exit 3 #作出判断选择进森林还是出海冒险 4 def start(): 5 print "Now you are on an island," 6 print "you got a lot of things,but you're lonely and bored at your surroundings," 7 print "you gonna do someth

结对编程小游戏2048

作业要求: 自选题目(不少于500行代码),进行结对编程 轮流担任领航员和驾驶员 记录结对编程的过程,写成结对博客 1.结对题目,写清需求 2.上传代码(截图),两人合作的合影 3.约定的规范 4.记录时间 5.心得和体会 Deadline 9月18日 23:59:59 小组成员 019任帅昌 020禹继跃 1.结对题目:2048小游戏 需求分析:在人们学习工作之余,小游戏成为了人们打发时间做的必不可少的事情了,而2048这款小游戏它不仅能在你工作学习疲惫之后使你身心放松,还能益智 2.游戏代码

结对编程2048小游戏

作业要求: 自选题目(不少于500行代码),进行结对编程 轮流担任领航员和驾驶员 记录结对编程的过程,写成结对博客 1.结对题目,写清需求 2.上传代码(截图),两人合作的合影 3.约定的规范 4.记录时间 5.心得和体会 Deadline 9月18日 23:59:59 小组成员 019任帅昌 020禹继跃 1.结对题目:2048小游戏 需求分析:在人们学习工作之余,小游戏成为了人们打发时间做的必不可少的事情了,而2048这款小游戏它不仅能在你工作学习疲惫之后使你身心放松,还能益智 2.游戏代码

小游戏拒绝黄赌毒制作有感

8月22日晚上,我们的自编自导自写的小游戏“拒绝黄赌毒”上线了,截止到8月24日13:20为止,pv 8404,uv 5578,成绩虽然离之前我们预想的1万差很多,但是这一次全程参与的感觉非常爽,下面我流水帐的说下这件事的前因始末 一 起意 突然之间小游戏火了,朋友圈都在刷屏式的转发,开始的时候我还是挺无感的,但是后来有一次开会,老板对于现有宣传美人鱼的方式非常不满意,我突然灵机一动,为何不做个小游戏去推广试试?我骨子里是非常喜欢新奇特的人,想到了这个点子,浑身的细胞根本停不下来,老在思考着这件