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

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

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

,函数功能要单一;一个函数不能超过50行;

避免重复、冗余代码;

◎ 代码块清晰。

● 命名规范,变量名应该具有自明性:

◎ 函数的命名:

使用"动词"或者"动词+名词"(动宾词组)的形式,由一个或多个单词组成且以小写字母开头,以后每个单词之间用下划线隔开

◎ 变量的命名与定义

应当使用"名词"或者"形容词+名词",由一个或多个单词组成且以小写字母开头,以后每个单词之间用下划线隔开。

● 注释充分:变量、函数(包括参数、返回值)、代码功能块、一些复杂算法……等都需要

清晰明了地说明;

5. 对个性的规定

把项目做出个性出来。下列各项中有和比人不同之处、或很有创意,即可认为有个性。独立设计的软件,一般都会出现一些个性。参考、抄袭不会出现个性。

● 设计思路:包括软件的整体架构、功能块的设计思路、函数封装等等;

● 功能实现:从用户的角度,使用上发现与众不同的地方;

● 其它方面;

c语言程序代码:

/*

func:猜拳游戏

auth:肖乔

date:2014.02.22

*/

#include

#include

#include

#include

#define TRUE 1

typedef struct {

charname[30]; //用户名长度最长28

charpassword[30]; //密码长度最长28

doublemoney;

inttimes;

intwin;

}game_t;

//清空缓存

void fflush_in();

//登录菜单函数

void log_menu();

//功能菜单函数

void ctrl_menu();

//登录函数

int log_in(game_t *p,int *count,int *my);

//注册函数

int add_user(game_t *p,int *count);

//登录控制函数

void log_ctrl(game_t *p,int *count,int*my);

//功能控制函数

void ctrl(game_t *p,int *count,int *my);

//查看函数

void look(game_t *p,int *count,int *my);

//查看菜单

void look_menu();

//查看所有

void look_all(game_t *p,int *count);

//查看个人

void look_my(game_t *p,int *my);

//初始化函数

int log_start(game_t *p,int *count);

//保存函数

int exit_save(game_t *p,int *count);

//充值函数

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

//修改函数

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

//修改菜单

void alter_menu();

//修改密码

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

//注销用户

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

//游戏控制函数

void game_ctrl(game_t *p,int *my);

//游戏菜单

void game_menu();

//下注

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

//游戏函数

void game_play(game_t *p,int *my,double*mon);

//游戏

int game();

//排序控制函数

void cmp(game_t *p,int *count);

//排序菜单

void cmp_menu();

//按金额排序函数

int cmp_money(const void *px,const void*py);

//胜率函数

void win_times(game_t *p,int *count);

//按胜率排序函数

int cmp_win(const void *px,const void *py);

int main(){

game_tstu[100]={""}; //最多100个用户

intcount=0; //count表示用户数

intmy=0; //my表示本人用户下标

printf("欢迎使用猜拳游戏");

if(log_start(stu,&count)==0) //系统初始化

printf("系统初始化成功");

else

printf("系统初始化失败");

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

return0;

}

//初始化函数 0-成功1-失败

int log_start(game_t *p,int *count){

FILE*fp=NULL;

fp=fopen("data","a+");

if(NULL==fp)

return1;

while(fread(&p[*count],sizeof(game_t),1,fp))

*count+=1;

fclose(fp);

return0;

}

//保存函数 0-成功 1-失败

int exit_save(game_t *p,int *count){

FILE*fp=NULL;

fp=fopen("data","w");

if(NULL==fp)

return1;;

fwrite(p,sizeof(game_t),*count,fp);

fclose(fp);

return0;

}

//功能控制函数

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

intchose=0;

while(TRUE){

chose=0;

ctrl_menu();

printf("请选择:");

scanf("%d",&chose);

fflush_in();

switch(chose){

case1: //查看

look(p,count,my);

break;

case2: //游戏

game_ctrl(p,my);

break;

case3: //充值

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

printf("充值成功");

else

printf("充值失败");

break;

case4: //修改

alter(p,count,my);

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

网站地图

Top