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;
}