微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > C语言猜拳游戏代码及分析

C语言猜拳游戏代码及分析

时间:12-01 来源:互联网 点击:

if(p1->money>p2->

if(p1->

if(p1->money>p2->

if(p1->

case-1:

return1;

default:

return0;

}

}

//下注 0-成功 1-失败

int game_pay(game_t *p,int *my,double*mon){

doublemoney=0.0;

if(p[*my].money==0){

printf("您的余额为0.00,请充值");

return1;

}

printf("您的余额为:%.2lf元",p[*my].money);

printf("请下注:");

scanf("%lf",&money);

fflush_in();

if(money<=0){

printf("金额输入有误");

return1;

}

if(money>p[*my].money){

printf("余额不足,请充值");

return1;

}

*mon=money;

return0;

}

//游戏菜单

void game_menu(){

printf("1.下注 2.猜拳 3.返回");

}

//修改函数 0-成功 1-失败

void alter(game_t *p,int *count,int *my){

intchose=0;

while(TRUE){

chose=0;

alter_menu();

printf("请选择:");

scanf("%d",&chose);

fflush_in();

switch(chose){

case1: //改密

if(alter_pass(p,my)==0)

printf("修改密码成功");

else

printf("修改密码失败");

break;

case2: //注销

if(del(p,count,my)==0){

printf("注销成功");

log_ctrl(p,count,my); //功能控制函数

}

else

printf("注销失败");

break;

case3: //返回

return;

break;

default:

printf("输入错误,请重新输入");

}

}

}

//注销用户 0-成功 1-失败

int del(game_t *p,int *count,int *my){

charpass[30]="";

inti=0,chose=0;

printf("密码:");

fgets(pass,30,stdin);

pass[strlen(pass)-1]=;

if(!(strcmp(p[*my].password,pass))==0){

printf("密码输入错误");

return1;

}

printf("是否注销?1.是 2.否");

printf("请选择:");

scanf("%d",&chose);

fflush_in();

if(chose==1){

for(i=*my;i<*count-1;i++){

strcpy(p[i].name,p[i+1].name);

strcpy(p[i].password,p[i+1].password);

p[i].money=p[i+1].money;

p[i].times=p[i+1].times;

p[i].win=p[i+1].win;

}

}

else

return1;

*count-=1;

return0;

}

//修改密码 0-成功 1-失败

int alter_pass(game_t *p,int *my){

charpass[30]="",pass2[30]="";

intchose=0;

printf("密码:");

fgets(pass,30,stdin);

pass[strlen(pass)-1]=;

if(!(strcmp(p[*my].password,pass))==0){

printf("密码输入错误");

return1;

}

printf("提示:密码长度为6-28位");

printf("输入新密码:");

fgets(pass,30,stdin);

pass[strlen(pass)-1]=;

printf("确认新密码:");

fgets(pass2,30,stdin);

pass2[strlen(pass2)-1]=;

if(strcmp(pass,pass2)!=0){

printf("两次输入密码不一样");

return1;

}

if(strcmp(p[*my].password,pass)==0){

printf("新密码与原密码相同");

return1;

}

printf("是否改密?1.是 2.否");

printf("请选择:");

scanf("%d",&chose);

fflush_in();

if(chose==1)

strcpy(p[*my].password,pass);

else

return1;

return0;

}

//修改函数菜单

void alter_menu(){

printf("1.修改密码 2.注销 3.返回");

}

//充值函数

int pay(game_t *p,int *my){

inti=0;

doublemoney=0;

charpass[30]="";

charstr[10]="",str2[10]="";

printf("请输入金额:");

scanf("%lf",&money);

fflush_in();

if(money<=0.0)

return1;

//验证码

for(i=0;i<5;i++){

srand((unsigned)time(NULL)+i);

str[i]="0123456789abcdefghihklmnopqrstuvwxyz"[rand()%36];

}

printf("充值密码:%s",str);

printf("");

printf("请输入充值密码:");

fgets(str2,10,stdin);

str2[strlen(str2)-1]=;

if(strcmp(str,str2)!=0){

printf("充值密码输入错误");

return1;

}

printf("密码:");

fgets(pass,30,stdin);

pass[strlen(pass)-1]=;

if(!(strcmp(p[*my].password,pass))==0)

return1;

p[*my].money+=money;

return0;

}

//查看函数

void lo

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top