怎么用C语言编出猜拳游戏

Python017

怎么用C语言编出猜拳游戏,第1张

挺有意思的,我用vc++6.0试了试,似乎可以

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

void main()

{int a,b,c,d,e,f=0,g=0,h=0,num=0

float i,j,k=0

int caiquan1(int x)

int caiquan2(int x)

int shengfu1(int x,int y)

int shengfu2(int x,int y)

srand((int)time(0))

printf("1=剪刀\t2=锤子\t3=布\t0=结束\n")

printf("请输入\n")

while(1)

{

scanf("%f",&i)

a=(int)i

if(a!=0&&a!=1&&a!=2&&a!=3)

{printf("输入错误,请重新输入\n")continue}

if(a==0) break

system("cls")

printf("1=剪刀\t2=锤子\t3=布\t0=退出\n")

printf("请输入\n")

b=1+rand()%99

j=(a-1)*50

printf("你出:")caiquan1(j)

c=caiquan2(j)

printf("\n")

printf("电脑出:")caiquan1(b)

d=caiquan2(b)

printf("\n")

num++

shengfu1(c,d)

e=shengfu2(c,d)

if(e==1) f++

if(e==2) g++

if(e==3) h++}

system("cls")

printf("赢%d\n",f)

printf("平%d\n",g)

printf("负%d\n",h)

printf("胜率%f\n",((float)f/num))

}

int caiquan1(int x)

{if(x<34) printf("剪刀")

else if(x>66) printf("布")

else printf("锤子")

return(0)}

int caiquan2(int x)

{int y

if(x<34) y=1

else if(x>66) y=3

else y=2

return(y)}

int shengfu1(int x,int y)

{if(x==1&&y==3) printf("赢")

else if(x==2&&y==1) printf("赢")

else if(x==3&&y==2) printf("赢")

else if(x==y) printf("平")

else printf("负")

return(0)}

int shengfu2(int x,int y)

{int k

if(x==1&&y==3) k=1

else if(x==2&&y==1) k=1

else if(x==3&&y==2) k=1

else if(x==y) k=2

else k=3

return(k)}

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

void introduction(){

printf("猜价格游戏,。。。。。\n")

}

int startgame(){

int price,player

int i

time_t t

srand((unsigned)time(&t))

price=rand()%101+100

printf("%d\n",price)

for(i=0i<6i++){

printf("请输入价格:")

scanf("%d",&player)

if(player>price)

printf("高\n")

else if(player<price)

printf("低\n")

else{

printf("恭喜你!猜对了!\n")

return i

break

}

}

printf("很遗憾!没有猜对!\n")

return -1

}

double winingper(int winnum,int total){

double per,prinper

if(total==0){

printf("你还没有进行游戏!\n")

return -1

}

per=(double)winnum/total

prinper=per*100

printf("你的胜率为:%.1lf % \n",prinper)

return prinper

}

int average(int score,int num){

if(num==0){

printf("你还没有进行游戏!\n")

return -1

}

printf("你的平均分为:%d\n",score/num)

return score/num

}

int gameover(){

exit(1)

}

void menu(){

printf("***********menu*************\n")

printf("1.游戏介绍\n")

printf("2.开始游戏\n")

printf("3.输出胜率\n")

printf("4.输出平均成绩\n")

printf("5.\n")

printf("6.退出游戏\n")

printf("****************************\n")

}

void main(){

int i,select,flag

int count=0,wincount=0,score=0

label:

menu()

scanf("%d",&select)

switch(select){

case 1:introduction()goto label

break

case 2:flag=startgame()count++

if(flag!=-1){

wincount++

score+=(5-flag)*2

}

goto label

break

case 3:winingper(wincount,count)goto label

break

case 4:average(score,count)goto label

break

case 5:goto label

break

case 6:exit(1)

break

default:

printf("错误的选择项!\n")

break

}

}

刚制作了一个猜拳的游戏,vc++6.0做的,你试试

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

void main()

{int a,b,c,d,e,f=0,g=0,h=0,num=0

float i,j,k=0

int caiquan1(int x)

int caiquan2(int x)

int shengfu1(int x,int y)

int shengfu2(int x,int y)

srand((int)time(0))

printf("1=剪刀\t2=锤子\t3=布\t0=结束\n")

printf("请输入\n")

while(1)

{

scanf("%f",&i)

a=(int)i

if(a!=0&&a!=1&&a!=2&&a!=3)

{printf("输入错误,请重新输入\n")continue}

if(a==0) break

system("cls")

printf("1=剪刀\t2=锤子\t3=布\t0=退出\n")

printf("请输入\n")

b=1+rand()%99

j=(a-1)*50

printf("你出:")caiquan1(j)

c=caiquan2(j)

printf("\n")

printf("电脑出:")caiquan1(b)

d=caiquan2(b)

printf("\n")

num++

shengfu1(c,d)

e=shengfu2(c,d)

if(e==1) f++

if(e==2) g++

if(e==3) h++}

system("cls")

printf("赢%d\n",f)

printf("平%d\n",g)

printf("负%d\n",h)

printf("胜率%f\n",((float)f/num))

}

int caiquan1(int x)

{if(x<34) printf("剪刀")

else if(x>66) printf("布")

else printf("锤子")

return(0)}

int caiquan2(int x)

{int y

if(x<34) y=1

else if(x>66) y=3

else y=2

return(y)}

int shengfu1(int x,int y)

{if(x==1&&y==3) printf("赢")

else if(x==2&&y==1) printf("赢")

else if(x==3&&y==2) printf("赢")

else if(x==y) printf("平")

else printf("负")

return(0)}

int shengfu2(int x,int y)

{int k

if(x==1&&y==3) k=1

else if(x==2&&y==1) k=1

else if(x==3&&y==2) k=1

else if(x==y) k=2

else k=3

return(k)}