摘要:

沐春风,惹一身红尘;望秋月,化半缕轻烟。顾盼间乾坤倒转,一霎时沧海桑田。方晓,弹指红颜老,刹那芳华逝。

                                                                             
                                                                ——金庸《天龙八部》
//stdafx.h #ifndef STDAFX_H #define STDAFX_H //输入输出函数包含的头文件 #include <stdio.h>
//system函数包含的头文件 #include <stdlib.h> //设置光标位置包含的头文件 #include <windows.h>
//时间函数包含的头文件 #include <time.h> //播放音乐函数的头文件 #pragma comment(lib,"Winmm.lib")
//播放音乐 void play_music(); //设置输入,输出的位置,也就是当前光标位置 void setxy(int x, int y);
//欢迎界面,进入游戏提示:欢迎来到《天龙八部》游戏世界 int welcome(); //选择服务器 int select_server(); #endif
//setxy.cpp #include "stdafx.h" void setxy(int x, int y) { COORD coord = { x, y
}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); }
//welcome.cpp #include "stdafx.h" int welcome() { //设置窗口标题
SetConsoleTitle(L"《新天龙八部》1.0"); //设置窗口大小100×50 system("mode con cols=100
lines=50"); //设置白底红字 system("color f4"); //设置光标到窗口中央 setxy(25, 20); //输出欢迎语居中显示
printf("欢迎来到《天龙八部》游戏世界!"); //设置系统时间 time_t t; struct tm * lt; time(&t); lt =
localtime(&t); printf("今天是%d/%d/%d %d:%d:%d\n", lt->tm_year + 1900, lt->tm_mon
+ 1, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec); //请按任意键继续 getchar();
//清屏 system("cls"); //设置光标 setxy(40, 10); //输出健康游戏忠告 printf("健康游戏忠告\n\n\n");
//设置光标 setxy(32, 12); printf("抵制不良游戏,拒绝盗版游戏\n"); //设置光标 setxy(32, 13);
printf("注意自我保护,谨防受骗上当\n"); //设置光标 setxy(32, 14); printf("适度游戏益脑,沉迷游戏伤身\n");
//设置光标 setxy(32, 15); printf("合理安排时间,享受健康生活\n"); //按任意键结束 system("pause");
return 0; } //play_music.cpp #include "stdafx.h" void play_music() {
PlaySound(TEXT("摩登兄弟 - 我行即我道.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
} //select_server.cpp #include "stdafx.h" int select_server() { loop: //清屏
system("cls"); //设置光标 setxy(40,10); //推荐服务器:西北电信一区 printf("推荐服务器:西北电信一区");
//设置光标 setxy(20,12); //服务器列表 printf("1·梨花针\t2·楼兰古城\t3·大漠孤烟\t4·敦煌飞天\t5·昆仑山");
//设置光标 setxy(20, 14); printf("6·火焰山\t7·星宿海\t8·夜明珠\t9·镇北堡\t10·兰山书院"); //设置光标
setxy(20, 16); printf("11·虚竹\n"); //请输入选择的服务器 printf("请输入选择的服务器的序号(退出为0):");
int choice; int choi; scanf("%d",&choice); if (choice==0) { exit(0); } else {
switch (choice) { case 1: printf("\n服务器:梨花针\n"); printf("1.注册 2.登陆 0.退出\n");
scanf("%d", &choi); while (choi) { if (choi == 1) { registe(); break; } if
(choi == 2) { login(); break; } else { printf("输入有误!请重新选择!\n"); printf("1.注册
2.登陆 0.退出\n"); scanf("%d", &choi); } } break; case 2:printf("\n服务器:楼兰古城\n");
registe(); break; case 3:printf("\n服务器:大漠孤烟\n"); registe(); break; case
4:printf("\n服务器:敦煌飞天\n"); registe(); break; case 5:printf("\n服务器:昆仑山\n");
registe(); break; case 6:printf("\n服务器:火焰山\n"); registe(); break; case
7:printf("\n服务器:星宿海\n"); registe(); break; case 8:printf("\n服务器:夜明珠\n");
registe(); break; case 9:printf("\n服务器:镇北堡\n"); registe(); break; case
10:printf("\n服务器:兰山书院\n"); registe(); break; case 11:printf("\n服务器:虚竹\n");
registe(); break; default:printf("\n输入有误,请重新输入服务器序号!\n"); goto loop; break; } }
system("pause"); return 0; }
 
//registe.cpp #include "stdafx.h" int registe() { //账号,密码 char ID[50],
Password[100]; loop: system("cls"); printf("\n*******注册界面*******\n");
printf("请输入账号:"); //输入前清空缓冲区 fflush(stdin); gets(ID); for (int i = 0; ID[i] !=
'\0';i++) { if (ID[i]==' ') { printf("账号里不能出现空格字符,请重新输入!\n"); goto loop; } }
printf("请输入密码:"); //输入前清空缓冲区 fflush(stdin); gets(Password); for (int i = 0;
Password[i] != '\0'; i++) { if (Password[i] == ' ') {
printf("密码里不能出现空格字符,请重新输入!\n"); goto loop; } } printf("\n注册成功,请登录!\n"); FILE
*fp; //建立一个可以追加的文件 fp = fopen("ID-Password.dat", "a+"); if (fp == NULL) {
printf("不能打开ID-Password.dat文件!\n"); exit(0); } //写入文件 fprintf(fp, "%s %s\n",
ID, Password); //关闭文件 fclose(fp); return 0; }
 

 

 
//login.cpp #include "stdafx.h" int login() { //文件中的账号密码 char ID[50][50],
Password[50][50]; FILE *fp; //读取文件 fp = fopen("ID-Password.dat", "r"); if (fp
== NULL) { printf("不能打开ID-Password.dat文件!\n"); exit(0); } //检查是否能读取账号密码 for
(int i = 0; fscanf(fp, "%s %s", &ID[i], &Password[i])!= EOF; i++) {
printf("ID:%s Password:%s\n", ID[i], Password[i]); } //手动输入的账号密码 char
ID_temp[50][50], Password_temp[50][50]; loop: printf("账号:"); fflush(stdin);
scanf("%s", &ID_temp[0]); printf("\n密码:"); fflush(stdin); scanf("%s",
&Password_temp[0]); //一一对应检验账号密码是否正确 for (int j = 0; j < 50;j++) { if
((strcmp(ID_temp[0],ID[j])==0)&&(strcmp(Password_temp[0],Password[j])==0)) {
printf("账号密码正确,登陆成功!\n"); break; } if (j==49) { printf("账号密码错误,登陆失败!\n"); goto
loop; } } return 0; }





友情链接
ioDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信