當(dāng)前位置:
首頁 >
程序员是怎样练打字速度
發(fā)布時間:2024/5/15
71
豆豆
生活随笔
收集整理的這篇文章主要介紹了
程序员是怎样练打字速度
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
大家好!歡迎大家來預(yù)覽此文章,今天我們做出自己的“打字游戲”、還配它音樂(7種音符)
》》》》》》》》》》》》》》》》》》》》
演示效果
素材音樂(do re mi fa so la xi)鏈接:素材(do re mi fa so la xi)
我不多解釋啦!直接上代碼,代碼有注釋
/* 程序類型:(命令行)游戲 編寫時間:2019年12月8日16:44:58 游戲說明:本游戲為打字游戲,為了訓(xùn)練手速而設(shè)計的,容量小,功能簡單,方便,游戲規(guī)則為 屏幕上方出現(xiàn)字幕慢慢往下流下來 字幕流到屏幕下方是消失 并生命值減一,減到0為止游戲結(jié)束,字幕流到屏幕底之前敲鍵盤上的相應(yīng)的字幕會消掉次字幕并得分積一分,積分的同時播放音符,每集10分會改變屏幕字符顏色并游戲速度加速一 個單位,按錯會語音提示dong~~~~~ 作者:Abr(A貝爾) 開發(fā)環(huán)境:VS2019 運行環(huán)境:Windows7 ,Windows8.1 ,Windows10 (x64 x86) */#define _CRT_SECURE_NO_WARNINGS //跳過安全檢查 #include "windows.h" #include "stdio.h" #include "string.h" #include<mmsystem.h> #include "conio.h"//_getch #pragma comment(lib, "WINMM.LIB")int playMusic(int nums);//播放素材音符int chushizhi = 0; // int speed = 300; //游戲速度 int shengming = 3; //生命 int defen, zifu_x, zifu_y;//輸出坐標(biāo) char zifu; //輸出字符 char color = '3'; //字體顏色 char strcolor[256] = "color 0", strcolorr[256] = "\0";//play music //播放素材音符 int playMusic(int num) {//根據(jù)素材序號生成素材名char fileName[MAX_PATH];sprintf(fileName, "music\\%d", num);strcat(fileName, ".mp3");char shortName[MAX_PATH] = { "\0" };GetShortPathNameA(fileName, shortName, sizeof(shortName) / sizeof(char));//獲取絕對路徑char cmd[MAX_PATH];sprintf(cmd, "play %s", shortName);//播放命令mciSendStringA(cmd, NULL, 0, NULL);//播放素材Sleep(2000 + 50); //這里是防止一播放就結(jié)束做的延遲return 0; }void huanhang(int num)//循環(huán)換行 改變字符y坐標(biāo) {for (int i = num; i > 0; i--){printf("\r\n");} } void kongge(int num)//循環(huán)打印空格 改變字符x坐標(biāo) {for (int i = num; i > 0; i--){printf(" ");} } void gamehead()//游戲頭 初始化界面 {strcpy(strcolorr, strcolor);strcat(strcolorr, &color);system(strcolorr);//命令行顏色kongge(40);printf("歡迎來到Abr打字游戲!\r\n");huanhang(2);kongge(40);printf("生命:%d", shengming);kongge(5);printf("得分:%d\n", defen);for (int i = 100; i > 0; i--)printf("-"); }int main()//主函數(shù) { CG://重新開始標(biāo)簽//初始化變量值color = '3'; //字體顏色shengming = 3; //生命初始化為3defen = 0; //得分清零zifu_y = 0; //字符y坐標(biāo)清零int num = 1;while (TRUE)//死循環(huán){system("cls");//清屏gamehead();//游戲頭huanhang(8);//換行kongge(40);//空格printf("請安任意鍵開始游戲!");//中間位置輸出提示_getch();//按任意鍵繼續(xù)while (TRUE){system("cls");//清屏gamehead();//游戲頭zifu = 'a' + rand() % 26;//隨機(jī)輸出任意a-z的字符zifu_x = rand() % 99;//字符輸出x軸位置int NumMusic = 0; //素材序號清零while (TRUE){//文字往下流代碼部分zifu_y++;if (zifu_y > 18)//文字留下來的最低點{shengming -= 1;if (shengming == 0)//判斷游戲結(jié)束{system("cls");//清屏//居中顯示游戲結(jié)束huanhang(8);kongge(40);printf("游戲結(jié)束!\n");//居中顯示游戲得分kongge(40);printf("得分:%d\n", defen);GC://重新輸入標(biāo)簽huanhang(2);kongge(24);printf("推出游戲( T )\t\t重新開始( C )\n");char temp = getchar();switch (temp){case 'c':case 'C':goto CG;//重新開始標(biāo)簽 調(diào)到游戲頭重新開始break;case 't':case 'T':exit(0);//結(jié)束游戲break;default:{system("cls");//清屏kongge(24);printf("請重新輸入正確標(biāo)簽!\n");goto GC;//按其它鍵就調(diào)到重新輸入位置}}exit(0);}zifu_y = 0;//初始化字符行位置break;}kongge(zifu_x);//打印空格printf("%c", zifu);//打印字符Sleep(speed);//下流速度printf("\b \n");//消除最后打印的字符并按空格符if (_kbhit())//判斷是否有鍵盤消息{//printf("\a");//有鍵盤消息就播放系統(tǒng)提示音dong~~~if (zifu == _getch())//判斷是否相同{defen += 1;//敲對就得分加1//把素材從頭到尾播放一遍 if (10 == (defen - chushizhi))//每加10分游戲速度加快一個單位{color++;if (color > '9'){color = '2';}strcpy(strcolorr, strcolor);strcat(strcolorr, &color);system(strcolorr);//命令行顏色chushizhi = defen;speed -= 20;CreateThread(NULL, NULL, (unsigned long(__stdcall*)(void*))playMusic, 8, NULL, NULL);//}else{if (num > 7)num = 1;CreateThread(NULL, NULL, (unsigned long(__stdcall*)(void*))playMusic, (void*)num, NULL, NULL);//num++;}zifu_y = 0;//初始化字符行位置break;//退出本次循環(huán)} else{printf("\a");//打錯就播放系統(tǒng)提示音dong~~~}}}}} }總結(jié)
以上是生活随笔為你收集整理的程序员是怎样练打字速度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jetson_TK1_TX1学习网站
- 下一篇: 在Win10安装上Hadoop2.7.5