(不误正业)鼓励做题的时间陷阱
生活随笔
收集整理的這篇文章主要介紹了
(不误正业)鼓励做题的时间陷阱
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
在家閑的無聊想著沒人陪我做題就寫了一個可以(或許)鼓勵做題的東西
正題
關于時間陷阱
時間陷阱是種游戲類型,玩家開始時有一個倒計時,沒完成一個任務會增加倒計時,時間到了那么任務就輸了。
這里編寫的時間陷阱任務重要度(完成后加的時間)是基于洛谷題目難度的,當然你可以自己進行適當調整(畢竟惡意評分…)。
codecodecode
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<ctime> #include <conio.h> #include <iomanip> #include<windows.h> #define ull unsigned long long using namespace std; int op,hard,len; ull ttt,end_ttt; char s[10000]; void hidden()//隱藏光標 {HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO cci;GetConsoleCursorInfo(hOut,&cci);cci.bVisible=0;//賦1為顯示,賦0為隱藏SetConsoleCursorInfo(hOut,&cci); } void show()//顯示光標 {HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO cci;GetConsoleCursorInfo(hOut,&cci);cci.bVisible=1;//賦1為顯示,賦0為隱藏SetConsoleCursorInfo(hOut,&cci); } int main() {printf("時間陷阱\n1.新建挑戰\n2.繼續挑戰\n");scanf("%d",&op);if(op==1){system("cls");printf("請輸入挑戰難度\n");printf("0.簡單(綠題1h 藍題2h 紫題4h 黑題7h)\n");printf("1.普通(綠題40min 藍題1.5h 紫題3h 黑題5h)\n");printf("2.困難(綠題20min 藍題1h 紫題2h 黑題3h)\n");scanf("%d",&hard);printf("輸入開始時間(h)\n");scanf("%llu",&ttt);end_ttt=time(0)+ttt*3600;len=-1;}//新建挑戰if(op==2){freopen("save.txt","r",stdin);scanf("%d%llu",&hard,&ttt);scanf("%s",s);end_ttt=time(0)+ttt;len=strlen(s);fclose(stdin);}//讀取存檔system("cls");//system("color 02");hidden();while(1){system("cls");ull t=end_ttt-time(0);if(t<0){system("cls");printf("時間到,挑戰結束\n你完成了%s\n",s);system("pause");return 0; }//判斷結束printf("剩余時間:");cout<<setw(2)<<setfill('0')<<t/60/60<<":"<<setw(2)<<setfill('0')<<t/60%60<<":"<<setw(2)<<setfill('0')<<t%60<<endl;//輸出時間printf("目前已完成:%s\n",s); printf("p鍵暫停,t鍵退出,k鍵表示完成題目");if(kbhit()){char ch=getch();if(ch=='p')system("pause");if(ch=='t'){freopen("save.txt","w",stdout);printf("%d %llu\n%s",hard,t,s);fclose(stdin);return 0;}//結束-存檔if(ch=='k'){system("cls");printf("你完成了?(題目難度 題號)\n");printf("(1:綠題 2:藍題 3:紫題 4:黑題)\n");show();int c,num;scanf("%d %d",&c,&num);s[++len]='P';s[++len]=num/1000+'0';s[++len]=num/100%10+'0';s[++len]=num/10%10+'0';s[++len]=num%10+'0';s[++len]='-';if(c==1) s[++len]='G',s[++len]='r',end_ttt+=3600-hard*1200;if(c==2) s[++len]='B',s[++len]='l',end_ttt+=7200-hard*1800;if(c==3) s[++len]='P',s[++len]='u',end_ttt+=14400-hard*1600;if(c==4) s[++len]='B',s[++len]='a',end_ttt+=3600*7-hard*7200;s[++len]='|';//顯示完成并且延長倒計時hidden();}}} }后續
以后應該會開一些挑戰(或者拉上ZYCdalaoZYCdalaoZYCdalao他們來玩)。也會發在這篇博客里。
總結
以上是生活随笔為你收集整理的(不误正业)鼓励做题的时间陷阱的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存占用更少如何降低电脑内存使用率
- 下一篇: 重装系统精灵官网教你索尼电脑如何重装系统