#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. CentOS安装mysq

    一安装依赖 yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6 yum -y update libstdc++-4.4.7-4.el6.x8 ...

  2. Js 动态插入css js文件

    function loadjscssfile(filename,filetype){ var file, //动态插入的文件 doc = document; if(filetype == " ...

  3. APP导航设计九法

    近期在设计APP原型,用EXCEL,用Axure.但无论工具如何,产品本身的界面布局和交互设计确实逃不掉的!网络中有关于APP导航设计的总结: 第一种:app标签导航  易用性:★★★★★   趣味性 ...

  4. libjingler-0.6.2在windows和ubuntu 10.04下的编译(Google Talk)

    Libjingle版本:0.6.2 所需的资源:         gtest-1.6.0.zip         http://download.csdn.net/detail/cl_gamer/48 ...

  5. Protoc Buffer 优化传输大小的一个细节

    Protoc Buffer 是我们比较常用的序列化框架,Protocol Buffer 序列化后的占空间小,传输高效,可以在不同编程语言以及平台之间传输.今天这篇文章主要介绍 Protocol Buf ...

  6. 获取Spring中的Bean

    1.Utils工具类 package com.xxx.common.helper; import org.springframework.beans.BeansException; import or ...

  7. 【Netty整理02-详细使用】Netty入门

    重新整理版:https://blog.csdn.net/the_fool_/article/details/83002152 参考资料: 官方文档:http://netty.io/wiki/user- ...

  8. Java学习笔记——Linux下安装配置tomcat

    朝辞白帝彩云间,千里江陵一日还. 两岸猿声啼不住,轻舟已过万重山. ——早发白帝城 首先需要安装配置JDK,这里简单回顾下.Linux下用root身份在/opt/文件夹下创建jvm文件夹,然后使用ta ...

  9. Python开发【第六篇】: 面向对象

    内容概要 面向对象和面向过程 面向对象三大特征 面向对象的成员 类与类之间的关系 约束 type.issubclass.isinstance self.super.MRO 1. 面向对象和面向过程 0 ...

  10. mount -o remount,rw /命令什么意思

    1.关于如何改变linux中,对只有Read-only filesystem的文件,如何改为为可写.可读权限? I.可以执行 mount -o remount,rw /II.执行完毕后,会出现以下字样 ...