当前位置:首页 » 编程语言 » c语言三国杀

c语言三国杀

发布时间: 2023-09-14 06:00:09

A. 求个用VC++C语言编写的小游戏

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(void)
{

int random();
int mopai(int shan);
int yourchusha(int shan);
int i,xingcan=0,temp,choice;
int yoursha=0,yourshan=0;
int itssha=0,itsshan=0;
int yourhp=4,itshp=4;

printf("三国杀简易版:\n");
printf("开始游戏:\n");
srand( (unsigned)time( NULL ) );
for(i=1;i<=4;i++)
{
random();//random() 方法可返回介于 0 ~ 1 之间的一个随机数。
if(!random())
yourshan+=1;
else yoursha+=1;
}
for(i=1;i<=4;i++)
{
random();
if(!random())
itsshan+=1;
else itssha+=1;
}
printf("你的手牌:杀%d张,闪%d张\t",yoursha,yourshan);
printf("计算机的手牌:%d张\n",itssha+itsshan);
printf("你的体力:%d\t",yourhp);
printf("计算机的体力:%d\n",itshp);

while(yourhp&&itshp)
{
printf("\n你的行动开始:\n");
printf("\n摸牌阶段:\n");
temp=mopai(xingcan);
yourshan+=temp;
yoursha+=(2-temp);
xingcan=0;
printf("你的手牌:杀%d张,闪%d张\n",yoursha,yourshan);
printf("\n按任意键继续\n");
getch();
system("cls");
printf("你的手牌:杀%d张,闪%d张\t",yoursha,yourshan);
printf("计算机的手牌:%d张\n",itssha+itsshan);
printf("你的体力:%d\t",yourhp);
printf("计算机的体力:%d\n",itshp);

printf("\n出牌阶段:\n");
printf("请选择:\n");
printf("1.出杀 2.弃牌\n");
while(1)
{
scanf("%d",&choice);
if(choice!=1&&choice!=2)
printf("输入错误,请重新输入\n");
else break;
}
if(choice==1)
{
if(yoursha)
{
yoursha-=1;
if(yourchusha(itsshan))
itsshan-=1;
else
{
itshp-=1;
}
}
else printf("你没有杀,请弃牌\n");
}
if(!itshp)
break;
printf("\n按任意键继续\n");
getch();
system("cls");
printf("你的手牌:杀%d张,闪%d张\t",yoursha,yourshan);
printf("计算机的手牌:%d张\n",itssha+itsshan);
printf("你的体力:%d\t",yourhp);
printf("计算机的体力:%d\n",itshp);

printf("弃牌阶段:\n");
while(yoursha+yourshan-yourhp>0)
{
printf("你需要弃掉%d张卡牌,请逐张弃牌:\n",yoursha+yourshan-yourhp);
printf("1.弃一张杀 2.弃一张闪\n");
while(1)
{
scanf("%d",&choice);
if(choice!=1&&choice!=2)
printf("输入错误,请重新输入\n");
else break;
}
switch(choice)
{
case 1:
{
if(yoursha)
yoursha-=1;
else printf("你没有杀,请重新选择\n");
break;
}
case 2:
{
if(yourshan)
yourshan-=1;
else printf("你没有闪,请重新选择\n");
break;
}
}
}
printf("你的行动结束。\n");
printf("\n按任意键继续\n");
getch();
system("cls");
printf("你的手牌:杀%d张,闪%d张\t",yoursha,yourshan);
printf("计算机的手牌:%d张\n",itssha+itsshan);
printf("你的体力:%d\t",yourhp);
printf("计算机的体力:%d\n",itshp);

printf("计算机的行动开始:\n");
printf("摸牌阶段:\n");
temp=mopai(xingcan);
itsshan+=temp;
itssha+=(2-temp);
xingcan=0;
printf("计算机手牌数:%d张\n",itssha+itsshan);
printf("\n按任意键继续\n");
getch();
system("cls");
printf("你的手牌:杀%d张,闪%d张\t",yoursha,yourshan);
printf("计算机的手牌:%d张\n",itssha+itsshan);
printf("你的体力:%d\t",yourhp);
printf("计算机的体力:%d\n",itshp);

printf("出牌阶段:\n");
if(itssha)
{
itssha-=1;
printf("杀\n");
printf("计算机对你出了一张杀,请出一张闪\n");
printf("1.确定 2.取消\n");
while(1)
{
scanf("%d",&choice);
if(choice!=1&&choice!=2){
printf("输入错误,请重新输入\n");
system("cls");
printf("你的手牌:杀%d张,闪%d张\t",yoursha,yourshan);
printf("计算机的手牌:%d张\n",itssha+itsshan);
printf("你的体力:%d\t",yourhp);
printf("计算机的体力:%d\n",itshp);
}
else break;
}
switch(choice)
{
case 1:
{
if(yourshan)
{
yourshan-=1;
printf("闪\n");
break;
}
else printf("你没有闪\n");
}
case 2:
{
yourhp-=1;
printf("计算机对你造成一点伤害\n");
}
}
}
if(!yourhp)
break;
printf("计算机手牌数:%d张\n",itssha+itsshan);

printf("弃牌阶段:\n");
if(itssha+itsshan-itshp>0)
{
if(itshp>itsshan)
{
printf("计算机弃杀%d张\n",itssha+itsshan-itshp);
itssha-=(itssha+itsshan-itshp);
}
else
{
printf("计算机弃杀%d张,闪%d张\n",itssha,itsshan-itshp);
itssha=0;
itsshan=itshp;
}
}
printf("计算机的行动结束。\n");
printf("\n按任意键继续\n");
getch();
system("cls");
printf("你的手牌:杀%d张,闪%d张\t",yoursha,yourshan);
printf("计算机手牌数:%d张\n",itssha+itsshan);
printf("你的体力:%d\t",yourhp);
printf("计算机的体力:%d\n",itshp);
}

if(!yourhp)
printf("很遗憾,计算机击败了你\n");
else printf("恭喜你,你击败了计算机\n");
printf("游戏结束,欢迎下次再来!\n");
printf("\n按任意键退出。");
getch();
return 0;
}
int random()
{
return rand()%3;
}

int mopai(int shan)
{
int i;
srand( (unsigned)time( NULL ) );
for(i=1;i<=2;i++)
{
random();
if(!random())
shan+=1;
}
return shan;
}

int yourchusha(int shan)
{
printf("杀 ");
if(shan)
{
printf("闪\n");
return 1;
}
else
{
printf("您对计算机造成一点伤害\n");
return 0;
}
}

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:232
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:532
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726