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游戏中,如果有地图切换的地方,通常就会使用幕布效果.所谓的幕布其实就是将两个矩形合拢,直到把屏幕遮住,然后再展开直到两个矩形全部移出屏幕. 为了大家做游戏方便,于是我给这个引擎加了这么 ...
随机推荐
- Laravel : Eloquent 新增
public function ormCreate() { # 1. 使用模型新增 ->save() /* ...
- CSS : object-fit 和 object-position实现 图片或视频自适应
img { width: 100%; height: 300px; object-fit: cover; ...
- [转帖]nginx中的if和else语法
https://www.dyxmq.cn/it/nginx/nginx-if.html nginx支持if语法,语法和平常的代码格式差不多: 1 2 3 if ($xxx = xxx) { ...
- [转帖]离线部署单机kubenetes-1.28.4
系统版本: openEuler 22.03 (LTS-SP2) docker版本:24.0.7 kubenetes版本: 1.28.4 虚机IP: 192.168.177.138 基于 https:/ ...
- 快速部署minio的一个思路
快速部署minio的一个思路 背景 小型项目上希望能够快速部署一些中间件. 因为minio比较简单,想着快速一键部署. 加快工作效率. 这里将脚本和思路写下来, 其他应用可以一样进行. 思路 1. 下 ...
- [转帖]关于UNDO
原文地址:https://www.modb.pro/db/70802?xzs= 一:请描述什么是Oracle Undo. 二:请描述UNDO的作用. 三:请谈谈你对Manual Undo Manage ...
- [转帖]【Jmeter】Jmeter压力测试工具安装及使用教程(redis测试)
摘自:https://www.cnblogs.com/monjeo/p/9330464.html 一.Jmeter下载 进入官网:http://jmeter.apache.org/ 1.第一步进入官网 ...
- Spring缓存是如何实现的?如何扩展使其支持过期删除功能?
前言:在我们的应用中,有一些数据是通过rpc获取的远端数据,该数据不会经常变化,允许客户端在本地缓存一定时间. 该场景逻辑简单,缓存数据较小,不需要持久化,所以不希望引入其他第三方缓存工具加重应用负担 ...
- ES客户端spring-boot-starter-data-elasticsearch
ES客户端分类 Es-Server提供RESTFul-Api,客户端通过发起http请求,调用api实现索引库的管理,数据的交换,server端状态的监控...... 官方java客户端: <d ...
- c++全局变量extern
extern extern 是 C++ 中的一个关键字,用于声明一个变量或函数是在其他文件中定义的.它的作用是告诉编译器在链接时在其他文件中寻找该变量或函数的定义. 在 C++ 中,如果一个变量或函数 ...