#include<iostream>
#include<cstdlib>
#include<ctime>
#include<cstring>
#include<windows.h>
using namespace std;
int i,H[3],S[3],K[3],p=1,Y,C;
string P[3];
bool game=1;
void a(int i){
for (;i;i--);
}
void help(){
cout<<"杀手:\nHP:100\nSP:5\nkill:3\n";
cout<<"医生:\nHP:75\nSP:7\nkill:2\n";
cout<<"法师:\nHP:144\nSP:3\nkill:1\n";
cin>>i;
}
void killer(){
P[p]+="杀手";
H[p]=100;
S[p]=5;
K[p]=3;
}
void doctor(){
P[p]+="医生";
H[p]=75;
S[p]=7;
K[p]=2;
}
void engineer(){
P[p]+="法师";
H[p]=144;
S[p]=3;
K[p]=1;
}
void e(int j){
if (j==2&&S[Y]>=2) {
int w=rand()%2;
if (Y==1) cout<<"你使用奖励\n";
else cout<<"电脑使用奖励\n";
K[Y]+=w;
cout<<"杀人数+"<<w<<endl;
w=rand()%5-1;
w=int(1.2*(K[Y]+w));
H[C]-=w;
if (H[C]<=0) game=0;
if (Y==1) cout<<"你杀了电脑 ";
else cout<<"你被电脑杀了 ";
cout<<w;
if (Y==1) cout<<endl;
S[Y]-=2;
}
}
void k(int j){
if (j==2&&S[Y]>=2) {
if (Y==1) cout<<"YOU 使用奖励\n";
else cout<<"The computer 使用奖励\n";
int w=rand()%4+1;
H[C]-=int(1.5*K[Y]+w);
if (H[C]<=0) game=0;
if (Y==1) cout<<"杀 ";
else cout<<"你被电脑杀了 ";
cout<<int(1.5*K[Y]+w);
if (Y==1) cout<<endl;
S[Y]-=2;
}
}
void d(int j){
if (j==2&&S[Y]>=2) {
if (Y==1) cout<<"YOU 使用奖励\n";
else cout<<"The computer 使用奖励\n";
int w=rand()%5;
H[Y]+=K[Y]+w;
if (Y==1) cout<<"YOU HP+";
else cout<<"The computer HP+";
cout<<K[Y]+w;
if (Y==1) cout<<endl;
S[Y]-=2;
}
}
void play(){
system("cls");
cout<<"Game start!!!!!!!!!!!!!!!!";
Sleep(3000);
system("cls");
int r=1,j;
// bool game=1;
while (game){
Y=1;
C=2;
cout<<"Round "<<r<<"\n";
Sleep(3000);
cout<<"The 电脑 HP:"<<H[2]<<" SP:"<<S[2]<<" kill:"<<K[2]<<"\t"<<P[2];
cout<<"\n\n\n\nYour HP:"<<H[1]<<" SP:"<<S[1]<<" kill:"<<K[1]<<"\t"<<P[1];
Sleep(3000);
cout<<"\nYou choose:\n1.杀人(1SP)\n2.奖励(2SP)\n3.大杀特杀(5SP)\n4.啥事都没(+1~3SP)\n5.干哈(+0~2kill)\n6.尝试(3SP)";
cin>>j;
if (j==1&&S[Y]>0) {
int w=rand()%5-1;
S[Y]--;
H[C]-=K[Y]+w;
if (H[C]<=0) game=0;
cout<<"You kill the computer"<<K[Y]+w<<endl;
} else {
if (j==4) {
int w=rand()%3+1;
S[Y]+=w;
cout<<"YOU SP+"<<w<<endl;
} else {
if (j==5) {
int w=rand()%3;
K[Y]+=w;
cout<<"YOU kill+"<<w<<endl;
} else {
if (P[Y]=="killer") k(j);
if (P[Y]=="doctor") d(j);
if (P[Y]=="engineer") e(j);
}
}
}
if (game){
j=rand()%6+1;
C=1;
Y=2;
while (j!=1&&j!=2&&j!=4&&j!=5) j=rand()%6+1;
if (j==1&&S[2]>1) {
int w=rand()%5-1;
S[2]--;
H[1]-=K[2]+w;
if (H[1]<=0) game=0;
cout<<"你被电脑杀了"<<K[2]+w;
} else {
if (j==4) {
int w=rand()%3+1;
S[2]+=w;
cout<<"The computer SP+"<<w;
} else {
if (j==5) {
int w=rand()%3;
K[2]+=w;
cout<<"The computer kill+"<<w;
} else {
if (P[Y]=="killer") k(j);
if (P[Y]=="doctor") d(j);
if (P[Y]=="engineer") e(j);
}
}
}
if (game) Sleep(3000);
}
r++;
system("cls");
}
}
int main(){
srand((unsigned)time(NULL));
cout<<"Welcome to my game!!!!!!!!!!!!\n";
Sleep(3000);
system("cls");
cout<<"Please choose:\n1.killer\n2.doctor\n3.engineer\n4.help";
cin>>i;
if (i==4) help();
cout<<"You choose ";
if (i==1) killer();
if (i==2) doctor();
if (i==3) engineer();
cout<<P[p]<<endl;
i=rand()%3+1;
p++;
cout<<"The computer chooses ";
if (i==1) killer();
if (i==2) doctor();
if (i==3) engineer();
cout<<P[p]<<endl;
system("pause");
play();
if (H[1]<=0) cout<<"YOU LOSE~~~~~~~~~~~~~~~~~";
else cout<<"YOU WIN!!!!!!!!!!!!!!!!!!!";
return 0;
}

c++小游戏——职业战争的更多相关文章

  1. (NO.00002)iOS游戏精灵战争雏形(一)

    原本想做一个复杂点的平面动作游戏,可以觉得还是有点把握不了.还是先从简单的原型开始吧. 构思中的精灵战争(SpriteWar)是一个类似FC时代的小游戏,可以造兵,可以捕获敌兵.原本还想加上保卫老巢的 ...

  2. 魔兽争霸RPG游戏-军团战争-游戏经验总结

    终于要写这篇了,上一篇是个意外. 2015年关注,一代鬼王Xun和GGL比赛.晚上11点之后,经常有水友赛.主播xun,会带着一帮小弟,玩一些游戏.比如魔兽争霸6v6,2v2,RPG游戏-军团战争,疯 ...

  3. Html5 小游戏 俄罗斯方块

    导言 在一个风和日丽的一天,看完了疯狂HTML 5+CSS 3+JavaScript讲义,跟着做了书里最后一章的俄罗斯方块小游戏,并做了一些改进,作为自己前端学习的第一站. 游戏效果: 制作思路 因为 ...

  4. “限时分享“ 本地80个小游戏 HTML+CSS+JS源码分享

    ​ 里面有80款小游戏源码,支持内置导航,可以拿来练手或者消磨时间,具体功能以及游戏请看下图 ​ ​ ​ ​ ​ ​ ​ ​ 维京战争小游戏源码 链接:https://pan.baidu.com/s/ ...

  5. jQuery实践-网页版2048小游戏

    ▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...

  6. 拼图小游戏之计算后样式与CSS动画的冲突

    先说结论: 前几天写了几个非常简单的移动端小游戏,其中一个拼图游戏让我郁闷了一段时间.因为要获取每张图片的位置,用`<style>`标签写的样式,直接获取计算后样式再用来交换位置,结果就悲 ...

  7. 推荐10款超级有趣的HTML5小游戏

    HTML5的发展速度比任何人的都想像都要更快.更加强大有效的和专业的解决方案已经被开发......甚至在游戏世界中!这里跟大家分享有10款超级趣味的HTML5游戏,希望大家能够喜欢! Kern Typ ...

  8. 如何开发一个简单的HTML5 Canvas 小游戏

    原文:How to make a simple HTML5 Canvas game 想要快速上手HTML5 Canvas小游戏开发?下面通过一个例子来进行手把手教学.(如果你怀疑我的资历, A Wiz ...

  9. JavaScript版拼图小游戏

    慕课网上准备开个新的jQuery教程,花了3天空闲时间写了一个Javascript版的拼图小游戏,作为新教程配套的分析案例 拼图游戏网上有不少的实现案例了,但是此源码是我自己的实现,所以不做太多的比较 ...

随机推荐

  1. Anbox —— 在 Linux 系统中运行 Android 应用

    具有以下特性: 没有限制:由于 Anbox 运行着整个 Android 系统,所以理论上任何应用都可以在其中运行 安全:Anbox 将 Android APP 放进一个密封的盒子中,无需直接访问硬件或 ...

  2. StarWind Storage Appliance

    https://www.starwindsoftware.com/starwind-storage-appliance?gclid=CLzH8oGyptICFbIW0wodNuYG1Q

  3. 如何配置一个绿色化的 Qt for Windows 开发环境(有.bat脚本,亲测好用) good

    安装 QtCreator for Windows 其实是很简单的,不过,我一向讨厌什么软件都得弄个安装程序,我希望我所安装的这个 Qt 可以是绿色的.便携的,如果无法实现,至少让这个 Qt 可以在新系 ...

  4. Qt:解析命令行(使用QCommandLineOption和QCommandLineParser)

    Qt从5.2版开始提供了两个类QCommandLineOption和QCommandLineParser来解析应用的命令行参数. 一.命令行写法命令行:"-abc" 在QComma ...

  5. 如何让你的Sublime和Codeblocks支持C++11

    闲来没事看了一下C++11,比起C++0x多了很多新功能,像auto变量,智能指针等,g++4.7以上版本也提供了对C++11的支持,但是,如何在你的编辑器上执行C++11代码呢? 刚开始以为用法和以 ...

  6. Tomcat常见问题[内存溢出,虚拟目录配置等](一)

    一.Tomcat内存溢出的解决方法 内存溢出一般有如下三种常见的原因: OutOfMemoryError: Java heap space OutOfMemoryError: PermGen spac ...

  7. HBase —— 集群环境搭建

    一.集群规划 这里搭建一个3节点的HBase集群,其中三台主机上均为Regin Server.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002上部署备用的 ...

  8. 【数据结构】红黑树-Java实现

    WIKI:https://en.wikipedia.org/wiki/Red%E2%80%93black_tree 转:红黑树(五)之 Java的实现 总结的比较精炼的: http://www.cnb ...

  9. 关于java中构造方法、实例初始化、静态初始化执行顺序

    在Java笔试中,构造方法.实例初始化.静态初始化执行顺序,是一个经常被考察的知识点. 像下面的这道题(刚刚刷题做到,虽然做对了,但是还是想整理一下) 运行下面的代码,输出的结果是... class ...

  10. 跟我学SpringCloud | 第九篇:服务网关Zuul初

    SpringCloud系列教程 | 第九篇:服务网关Zuul初探 前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散 ...