#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. 浅析在QtWidget中自定义Model(beginInsertRows()和endInsertRows()是空架子,类似于一种信号,用来通知底层)

    Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系.这种结构带来的功能上的分离给了开发人员更大的弹性来定制数据项的表示,它也提供一个标准的model接 ...

  2. UWP-磁贴初识

    原文:UWP-磁贴初识 简单的磁贴内容实现,来自 Bob 的视频. 为一个按钮添加点击事件,来更新磁贴. private void ChangeTileContentButton_Click(obje ...

  3. easyui tree后台传json处理问题

    一.tree json格式 [ { "id": 1, "text": "权限管理", "iconCls": " ...

  4. Qt5.5.0在Linux下静态编译(加上-fontconfig编译项才能显示中文) good

    测试系统环境:Ubuntu12.04 (32bit/64bit)编译软件环境:QT5.5.0   本文章主要介绍Linux下QT静态编译环境的搭建,以及如何编译我们的程序board_driver. 1 ...

  5. window下搭建qt开发环境编译、引用ace

    工作中经常用到ace.tao等,在windwo下的c++开发工具基本上就是vs20xx这些工具,还有些就是类似编辑工具例如:source insight等,前者比较大,打开.编译运行比较慢,二期针对a ...

  6. Qt云服务/云计算平台QTC(Qt Cloud Services)入门(0)

    在这个“大数据”的时代,传统的跨平台C++库Qt已经将魔爪丧心病狂的伸向了“云计算”.在2012年的Qt开发者大会上,Qt发布了BaaS(Backend as a Service)服务——Engini ...

  7. 记一次 qW3xT.4,解决挖矿病毒。

    最近感觉我的服务器特别卡,打开数据库都半天,刚开始以为网咯不好也没太在意. 利用top命令: 这时候问题出来了,最高cpu占用100%,那我用啥??? 根据进程id 一看究竟,ps -ef|grep ...

  8. vmware centos7虚拟机克隆系统如何修改网卡设置?

    1.克隆虚拟机,克隆前需关闭虚拟机2.克隆之后的网卡问题解决,其中需要修改HWADDR和UUID  /etc/sysconfig/network-scripts/ifcfg-ens32  uuid获取 ...

  9. Call调用webservice接口,使用命名空间和不使用命名空间的区别

    生活中我们会遇到许许多多的奇葩问题,而这些问题又是我们不得不解决的. 我先用一段代码来引出我想要说的内容: import javax.jws.WebMethod; import javax.jws.W ...

  10. SqlServer导入大文件Sql

    sqlcmd -S "192.168.1.218" -U "sa" -P "1qaz~xsw2" -d "SispMain&quo ...