500行c语言程序,500行C语言程序.doc

500行C语言程序

一 、 题目阐述:

通过本学期对C语言的学习,对程序编译有了初步的了解,并运用了各种函数(如文件包含,宏定义,结构体,函数调用等)编写了这个推箱子游戏。

二 、 设计思路:

程序中“3”代表墙壁,“2”代表箱子,“4”代表目的地,“0”代表空,“5”代表人+目的地,“ 1“ 代表人,“6“代表箱子+目的地,用“Enter”键选择关数,按“p“键可以毁步,但最多只能毁5次。通过上下左右键实现箱子的上下左右移动,在可移动的范围内,推送到目的地。在推动的过程中若彻底失败,便按r键重新启动游戏。

三、主要解决问题的方法及技术关键

主要问题及解决方法

★函数的定义及调用

★光标的定位设置处理问题

★光标的定位设置处理是通过void gotoxy(int x,int y)函数实现的。定位设置手段是通过型参x、y获取定位点,应用int86的中断调用完成光标定位。

★数组函数,switch,if语句,for循环语句的应用

技术关键

★光标定位

C语言中循环语句的使用

★C语言绘图及定义函数的使用

I

Input name();

C

Char;

P

Printf(“\n\nPlease input your name…”)

C

C=getchar();

C

C!=’y’&&c!=’y’&&c!

C!=’

C!=’y’&&c!=’y’

intgd=DETECT,gm;

intgd=DETECT,gm;

Judgeide();

Judgeide();

Key!=key-Enter

CASE

Key=bio=key(0);

bio=key(1)

IF

Setbkcolor(BKCOLOR);

Idc=0

Idc=0

Idc=1Game();break;

Idc=1

Game();break;

ViewRecord();bio=key

ViewRecord();bio=key

Idc=2

Idc=2

DeleteRecord=();bio=keyIdc=3

DeleteRecord=();bio=key

Idc=3

exit(0);

exit(0);

Key=Key_EnterInti,I,flog;NextMission();time(&t1);break;flag==1Flog=0;1IFIF

Key=Key_Enter

Inti,I,flog;

NextMission();time(&t1);break;

flag==1

Flog=0;

1

IF

IF

T

The end.

四: 程序清单:

#define MAX 2 /*游戏中总关数*/

#define STARTX 180

#define STARTY 80

#define BKCOLOR BLACK

#define MANCOLOR RED

#define OBJECTCOLOR YELLOW

#define TIMEINT 2

#define STARNUM 300

#define STEPMAX 5

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define Key_R 0x1372

#define Key_Up 0x4800

#define Key_Enter 0x1c0d

#define Key_Down 0x5000

#define Key_P 0x1970

#define Key_Esc 0x11b

#define Key_Right 0x4d00

#define Key_Left 0x4b00

typedef struct star

{

int x;

int y;

int c;

}Star;

Star s[STARNUM];

typedef struct record

{

char name[20];

int second;

struct time t;

struct date d;

}Record;

Record r[MAX];

typedef struct c

{

int x;

int y;

}Add;

typedef struct a

{

int x;

int y;

}Player;

Player p;

char name[20]; /*进入游戏时记录玩家的姓名*/

time_t t1,t2; /*游戏结束时的时间*/

int Ide; /*开始进入游戏时,选择菜单时返的功能号(1,2,3)*/

int

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我是一名语言模型,无法提供文档或程序的下载和分享。但是,我可以为您提供修改密码程序的基本思路和示例代码。 修改密码程序的基本思路如下: 1. 提示用户输入旧密码。 2. 验证旧密码是否正确。 3. 如果旧密码正确,则提示用户输入新密码。 4. 输入新密码后,再次要求用户确认新密码。 5. 如果两次输入的新密码相同,则将新密码存储为用户的密码,并提示修改成功。 6. 如果两次输入的新密码不同,则提示用户两次输入的密码不一致,并要求重新输入新密码。 以下是修改密码程序的示例代码: ``` #include <stdio.h> #include <string.h> int main() { char password[20]; // 存储密码的数组 char old_pwd[20]; // 存储旧密码的数组 char new_pwd[20]; // 存储新密码的数组 char confirm_pwd[20];// 存储确认密码的数组 // 初始化密码为 123456 strcpy(password, "123456"); // 提示用户输入旧密码 printf("请输入旧密码:"); scanf("%s", old_pwd); // 验证旧密码是否正确 if(strcmp(old_pwd, password) != 0) { printf("旧密码输入错误!\n"); return 0; } // 提示用户输入新密码 printf("请输入新密码:"); scanf("%s", new_pwd); // 要求用户确认新密码 printf("请再次输入新密码:"); scanf("%s", confirm_pwd); // 检查两次输入的新密码是否一致 if(strcmp(new_pwd, confirm_pwd) != 0) { printf("两次输入的新密码不一致!\n"); return 0; } // 更新密码 strcpy(password, new_pwd); printf("密码修改成功!\n"); return 0; } ``` 注意:上述示例代码只是一个简单的演示,实际应用中需要考虑更多的安全性和可靠性问题。例如,可以对密码进加密存储,防止被恶意破解等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值