c++小游戏——杀手
杀手小游戏
会有一个存活者:(1 2 3 4 5),如果出现(1 0 3 4 5),代表二号已经死了。
一号有3次复活权 且有一次随机诅咒权(即当自己被杀死时,会随机诅咒另外一个人,当然不是死人或自己,使其死亡)
二号有一次复活权 且有一次随机诅咒权(但目标死亡率为50%)
三号有一次复活权
四号有再次攻击权(即当4号杀死一个人时,便可以再次攻击一个人)
五号有无视复活权(当成功杀死一个人时,有2/3的几率可以无视目标复活权直接将其杀死)
#include<cstdio>
#include<cstdlib>
#include<ctime>
#include<windows.h>
int main()
{
srand(time(NULL));
int b,p,x,c,d,e=0,f=0,g,h=0,i=1,j,l,m,n=5,o=0;
printf("选择你的杀手等级(1-5)\n");
scanf("%d",&b);
printf("\n");
int a[6]={0,1,2,3,4,5},k[10]={0};
AA:while(n!=1)
{
if(i==1)
{
Sleep (1000);
printf("存活者:%d %d %d %d %d\n\n",a[1],a[2],a[3],a[4],a[5]);
}
if(i==6) i=1;
if(a[i]==0)
{
i++;
continue;
}
Sleep(1000);
printf("轮到%d号\n",i);
if(i==b)
{
Sleep(1000);
printf("选择你的目标:%d %d %d %d %d\n",a[1],a[2],a[3],a[4],a[5]);
scanf("%d",&p);
}
else
do
p=rand()%5+1;
while(p!=i);
while(a[p]==0||p==i) p=rand()%5+1;
Sleep(1000);
printf("%d号选择了%d号\n",i,p);
Sleep(1000);
printf("%d号掷出了%d\n",i,c=rand()%6+1);
if(i>=c)
{
a[p]=0;
Sleep(1000);
printf("%d号杀死了%d号\n\n",i,p);
n--;
}
else {Sleep(1000); printf("%d号没有杀死目标\n\n",i);}
if(i==5&&a[p]==0)
{
if(rand()%3==1||rand()%3==2)
{
if(p==1&&f<=2)
{
Sleep(1000); printf("5号无视1号复活权\n");
Sleep(800); printf("直接将其杀死\n\n");
f=3;
}
if(p==2&&h==0)
{
Sleep(1000); printf("5号无视2号复活权\n");
Sleep(800); printf("直接将其杀死\n\n");
h=1;
}
if(p==3&&o==0)
{
Sleep(1000); printf("5号无视3号复活权\n");
Sleep(800); printf("直接将其杀死\n\n");
o=1;
}
}
}
if(a[1]==0)
{
if(f<=2)
{
Sleep(1000);
printf("1号使用复活权\n");
f++; n++; a[1]=1;
if(f==1)
{
do g=rand()%5+1;
while(a[g]==0||g==1);
Sleep(1000); printf("并随机诅咒了%d号\n",g);
Sleep(1000); printf("%d号死了\n\n",g);
a[g]=0; n--;
}
}
else a[1]=0;
}
if(a[2]==0&&h==0)
{
Sleep(1000);
printf("2号使用复活权\n");
n++;
a[2]=2;
do m=rand()%5+1;
while(a[m]==0||m==2);
Sleep(1000); printf("并随机诅咒了%d号\n",m);
if(rand()%2==1)
{
a[m]=0;
Sleep(1000); printf("%d号死了\n\n",m);
n--;
}
else
{
Sleep(1000); printf("但他没死\n\n");
}
h=1;
}
if(a[3]==0&&o==0)
{
Sleep(1000); printf("3号使用复活权\n\n"); a[3]=3; o++; n++;
}
if(i==4&&a[p]==0)
{
if(n==1) break;
else
{
Sleep(1000); printf("4号使用再次攻击权\n");
goto AA;
}
}
if(a[b]==0&&e==0)
{
if(n==1) break;
printf("你死了,是否继续?是按0,否按1\n");
scanf("%d",&x);
if(x==1) break;
else e=1;
}
i++;
}
for(j=1;j<=5;j++) if(a[j]!=0) d=j;
if(x!=1)
{
Sleep(800);
printf("%d号赢了",d);
}
else
printf("游戏结束");
return 0;
}
c++小游戏——杀手的更多相关文章
- 12岁的少年教你用Python做小游戏
首页 资讯 文章 频道 资源 小组 相亲 登录 注册 首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...
- jQuery实践-网页版2048小游戏
▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...
- 拼图小游戏之计算后样式与CSS动画的冲突
先说结论: 前几天写了几个非常简单的移动端小游戏,其中一个拼图游戏让我郁闷了一段时间.因为要获取每张图片的位置,用`<style>`标签写的样式,直接获取计算后样式再用来交换位置,结果就悲 ...
- 推荐10款超级有趣的HTML5小游戏
HTML5的发展速度比任何人的都想像都要更快.更加强大有效的和专业的解决方案已经被开发......甚至在游戏世界中!这里跟大家分享有10款超级趣味的HTML5游戏,希望大家能够喜欢! Kern Typ ...
- 如何开发一个简单的HTML5 Canvas 小游戏
原文:How to make a simple HTML5 Canvas game 想要快速上手HTML5 Canvas小游戏开发?下面通过一个例子来进行手把手教学.(如果你怀疑我的资历, A Wiz ...
- JavaScript版拼图小游戏
慕课网上准备开个新的jQuery教程,花了3天空闲时间写了一个Javascript版的拼图小游戏,作为新教程配套的分析案例 拼图游戏网上有不少的实现案例了,但是此源码是我自己的实现,所以不做太多的比较 ...
- C语言-纸牌计算24点小游戏
C语言实现纸牌计算24点小游戏 利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...
- Cocos2d-x 版本小游戏 《是男人就下100层》 项目开源
这个是很久就开始动手写的一个小游戏了,直到最近才把它收尾了,拖拖拉拉的毛病总是很难改啊. 项目是基于 cocos2d-x v2.2 版本 ,目前只编译到了 Win8 平台上,并且已经上传到了商店,支持 ...
- Chrome 中的彩蛋,一款小游戏,你知道吗?
今天看到一篇文章,介绍chrome中的彩蛋,带着好奇心进去看了一眼,没想到发现了一款小游戏,个人觉得还不错,偶尔可以玩一下,放松放松心情!^_^ 当 Chrome 无法连接到互联网时, 或者上着网突然 ...
随机推荐
- html5创建的sqlite存放为止以及在手机中的位置
C:\Users\xiaoai\AppData\Local\Google\Chrome\User Data\Default\databases\http_127.0.0.1_8020 如图:这是用bh ...
- Screensiz.es站收集整理了移动端的相关尺寸。
Screensiz.es站收集整理了移动端的相关尺寸. Screensiz.es 彩蛋爆料直击现场 Screensiz.es站收集整理了移动端的相关尺寸.
- REDM基础教程1-下载、编译代码
1.下载DM REDM的更新路径目前有两个,同步更新,可使用SVN或GIT下载对应代码 https://git.oschina.net/hgy413/REDM https://github.com/h ...
- 运维不仅仅是Linux,居然还要知道这么多?
摘要: 运维不仅仅是懂Linux就行,因为还有一大部分的Windows运维,向windows运维人员致敬.当然我们这篇文章不是说运维除了懂Linux,还要懂Windows,而是涉及运维的其他方方面面. ...
- hgoi#20190515
T1-Pie or die Volodya和Vlad在玩下面的这个游戏.这里有k个派,分布在n×m的板子上.每一回合Volodya移动一个派到这个派边界的格子,如果这个派在板子的边界,Volodya就 ...
- Java逆序输出整数
题目要求:编写方法reverseDigit,将一个整数作为参数,并反向返回该数字.例如reverseDigit(123)的值是321.同时编写程序测试此方法. 说明:10的倍数的逆序,均以实际结果为准 ...
- Git 本地仓库(使用小乌龟进行操作,一个人开发)
一.首先在本地创建版本库 创建成功最明显的特征是该目录下存在一个隐藏文件夹(.git) 前提:已设置显示隐藏文件 三种方式: 1.Git GUI Here(右击) 2.Git Bash Here(右击 ...
- Mysql常用的查询语句,记录一下,好东西大家共享
一查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!>,!<,=>,= ...
- 【JAVA NIO】java NIO
本文是博主深入学习Netty前的一些铺垫,之前只是使用Netty,用的很粗暴,导包,上网找个DEMO就直接用,对Netty中的组件了解并不深入. 于是再此总结下基础,并对一些核心组件作如下记录: 1. ...
- 【Netty整理03-NIO】Java 实现 NIO demo
jdk提供的NIO使用: 概览:https://blog.csdn.net/the_fool_/article/details/83000648 博主抄写了网上的demo,略作修改与调整,原文链接: ...