FUN GAME 一款普通的C++游戏
凑合看吧,不是完整版。
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
#define pt puts
#define pf printf
#define pc putchar
#define sf scanf
#define gt gets
#define sl Sleep
char name[101];
stack<int>gun;
bool chance;
int randtool(int x)//x枚子弹,y枚实弹
{
int y=rand()%(x/2)+1;
bool use[101];
memset(use,false,sizeof(use));
for(int i=1;i<=y;i++)
{
int z=rand()%x+1;
if(use[z]==true)
{
i--;
}
else
{
use[z]=true;
}
}
for(int i=1;i<=x;i++)
{
if(use[i]==true)
{
gun.push(1);
}
else
{
gun.push(0);
}
}
return y;
}
void first()
{
system("cls");
int ai=2,player=2;
bool quan=true;
while(ai>0&&player>0)
{
system("cls");
pf("您的剩余血量为%d\n",player);
pf("对方的剩余血量为%d\n",ai);
sl(3000);
if(gun.empty())
{
system("cls");
int m=rand()%2+3;
int n=randtool(m);
pf("%d枚实弹 %d枚空弹\n",n,m-n);
pt("子弹装填中……");
sl(3000);
}
int l=gun.top();
gun.pop();
int did=0;
if(quan==true)
{
system("cls");
pt("现在是您的回合");
pt("按9使用桌上的枪");
while(did!='9')
{
did=getch();
}
system("cls");
pt("按1对对方开枪");
pt("按0对自己开枪");
while(did!='0'&&did!='1')
{
did=getch();
}
system("cls");
if(did=='0')
{
pt("您选择对自己开枪");
sl(3000);
if(l==1)
{
pt("枪中是实弹");
sl(3000);
player--;
}
else
{
pt("枪中是空弹");
sl(3000);
}
}
else
{
pt("您选择对对方开枪");
sl(3000);
if(l==1)
{
pt("枪中是实弹");
sl(3000);
ai--;
}
else
{
pt("枪中是空弹");
sl(3000);
}
pt("主动权来到了对方手上");
sl(3000);
quan=false;
}
}
else
{
system("cls");
pt("人机计算中……");
did=rand()%2;
system("cls");
if(did==0)
{
pt("对方选择对自己开枪");
sl(3000);
if(l==1)
{
pt("枪中是实弹");
sl(3000);
ai--;
}
else
{
pt("枪中是空弹");
sl(3000);
}
}
else
{
pt("对方选择对您开枪");
sl(3000);
if(l==1)
{
pt("枪中是实弹");
sl(3000);
player--;
}
else
{
pt("枪中是空弹");
sl(3000);
}
pt("主动权来到了您手上");
sl(3000);
quan=true;
}
}
}
system("cls");
if(player>0)
{
system("color 06");
pt("您赢了");
sl(3000);
}
else
{
system("color 04");
pt("您输了");
sl(3000);
}
}
void start()
{
system("cls");
pt("剧情已跳过(doge)");
sl(3000);
pf("请输入昵称:");
sf("%s",name);
pt("完成!");
sl(3000);
first();
}
void home()
{
system("color 07");
char c;
pt(" 一款很新的游戏 ");
pt("");
pt(" 按 s 开始");
pt(" 按 e 退出");
c=getch();
chance=true;
if(c=='e')
{
exit(0);
}
else
{
start();
}
}
void kong()
{
}
int main()
{
srand((unsigned)time(NULL));
home();
}
FUN GAME 一款普通的C++游戏的更多相关文章
- 让你忘记 Flash 的15款精彩 HTML5 游戏
HTML5 游戏开发是一个热门的话题,开发人员和设计人员最近经常谈论到.虽然不能迅速取代 Flash 的地位,但是 HTML5 凭借它的开放性和强大的编程能力,取代 Flash 是必然的趋势.你会看到 ...
- 或许您还不知道的八款Android开源游戏引擎
很多初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于iPhone下有诸如Cocos2d-iphone之类的免费游戏 ...
- 记录一下八款开源 Android 游戏引擎
记录一下八款开源 Android 游戏引擎 虽然android学了点点,然后现在又没学了(我为啥这么没有恒心呢大哭).以后有时间还是要继续学android的,一定要啊!虽然现在没学android游戏编 ...
- [转载]或许您还不知道的八款Android开源游戏引擎
或许您还不知道的八款Android开源游戏引擎 分类: 技术文章 2010-08-04 20:27 17430人阅读 ...
- [Android游戏开发]八款开源 Android 游戏引擎 (巨好的资源)
初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于 iPhone下有诸如Cocos2d-iphone之类的免费游戏引 ...
- 八款开源 Android 游戏引擎 (巨好的资源)
转载地址:http://software.intel.com/zh-cn/blogs/2012/01/13/android-4 初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道 ...
- Android 八款开源 Android 游戏引擎
原文地址 本文内容 Angle Rokon LGame AndEngine libgdx jPCT Alien3d Catcake 最近无意间看到一篇关于 Android 搜索引擎的文章,于是搜索了, ...
- 如何制作一款HTML5 RPG游戏引擎——第五篇,人物&人物特效
上一次,我们实现了对话类,今天就来做一个游戏中必不可少的——人物类. 当然,你完全是可以自己写一个人物类,但是为了方便起见,还是决定把人物类封装到这个引擎里. 为了使这个类更有意义,我还给人物类加了几 ...
- 如何制作一款HTML5 RPG游戏引擎——第四篇,情景对话
今天我们来实现情景对话.这是一个重要的功能,没有它,游戏将变得索然无味.所以我们不得不来完成它. 但是要知道,使用对话可不是一件简单的事,因为它内部的东西很多,比如说人物头像,人物名称,对话内容... ...
- 如何制作一款HTML5 RPG游戏引擎——第三篇,利用幕布切换场景
开言: 在RPG游戏中,如果有地图切换的地方,通常就会使用幕布效果.所谓的幕布其实就是将两个矩形合拢,直到把屏幕遮住,然后再展开直到两个矩形全部移出屏幕. 为了大家做游戏方便,于是我给这个引擎加了这么 ...
随机推荐
- java基础-运算符--day03
目录 1. 算数运算符 2.+号 3. ++ 4. = 赋值操作 5. 关系运算 6. 逻辑运算 7. 三元运算 8 位运算 1. 算数运算符 / 处以 % 取余 public class TestO ...
- 使用docker compose 编排微服务发布
本文为博主原创,未经允许不得转载: 目录: 1. compose 简介 2. compose 安装 3. 编写 docker-compose.yml 实现微服务发布 4. docker-compose ...
- SD协议-基本概念
1.SD协议版本 SD 1.1 SD 2.0 SD 3.0 在看协议的时候,需要注意协议的版本,注意版本之间的差别 SD协议是常见的数据通信和存储卡之间的协议 HDMI是显示相关的协议,遵循HDMI协 ...
- 02-python简介
python简介 python认知 1.python简介 89年开发的语言,创始人范罗苏姆(Guido van Rossum),别称:龟叔(Guido). python具有非常多并且强大的第三方库,使 ...
- [转帖]Nginx内置变量以及日志格式变量参数详解
https://www.cnblogs.com/wajika/p/6426270.html $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求 ...
- Kafka的部分初始化参数的学习与整理
Kafka的部分初始化参数的学习与整理 背景 前段时间跟同事一起处理过kafka的topic offset的retention 时间与 log 的retention时间不一致. 导致消息还有, 但是o ...
- [转帖]Jmeter学习笔记(二十三)——生成HTML性能报告
https://www.cnblogs.com/pachongshangdexuebi/p/11759316.html 有时候我们写性能报告的时候需要一些性能分布图,JMeter是可以生成HTML性能 ...
- [转帖]InnoDB Page结构详解
1导读 本文花了比较多的时间梳理了InnoDB page的结构以及对应的分裂测试,其中测试部分大部分是参考了叶老师在<InnoDB表聚集索引层什么时候发生变化>一文中使用的方法,其次,本文 ...
- [转帖]360孵化奇安信科创板上市,IPO前清空股权赚37亿元分手费
https://baijiahao.baidu.com/s?id=1666485645739027654&wfr=spider&for=pc 来源:IPO头条 来源:IPO头条原创 ...
- 【转帖】【奇技淫巧】Linux | 统计网络-netstat
theme: condensed-night-purple 小知识,大挑战!本文正在参与"程序员必备小知识"创作活动. 在构建生产服务器时,我们有的时候需要统计网络接口状况,比如T ...