游戏开发日志支线5
2026-03-20 21:55:45
发布于:香港
接上回
游戏:Typing Game
更新版本:0.4.1
代码:李伙子ia
美术:也没美术啊
翻译:Artificial Intelligence
团队:新手团
部分奇怪字体在复制进DEV-C++后会恢复正常
本次主要修复一些问题和更新一些内容
· 部分繁体字的显示问题(忘了繁体版没有发布)
· 关于此游戏的宏定义
#define GAME_NAME "TypingGame" //游戏名
#define VERSION "0.4.1" //版本号
#define CODER "ルia" //代码
#define ARTIST "⊿Τ" //美术
#define ENGLISH_TRANSLATOR "醇" //英语翻译
#define LAST_UPDATE_DATE "2026/3/20" //最后更新日期
#define AUTHOR_HOMEPAGE "https://www.acgo.cn/person/4913066" //窝的ACGO主页
· 部分跨平台兼容
#ifdef _WIN32 //_WIN32为Windows
#include<conio.h> //包含_getch
#else
#include<unistd.h>
#include<termios.h>
char _getch(void){ //手写_getch
struct termios,oldt,newt;
char ch;
tcgetattr(STDIN_FILENO,&oldt);
newt=oldt;
newt.c_lflag&=~(ICANON|ECHO);
tcsetattr(STDIN_FILENO,TCSANOW,&newt);
ch=getchar();
tcsetattr(STDIN_FILENO_TCSANOW,&oldt);
return ch;
}
#endif
#ifdef _WIN32 //只有Windows
int16_t get_cursor(char xy){ //获取光标(辅助gotoxy)
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&csbi);
if(xy=='x'||xy=='X') return csbi.dwCursorPosition.X;
if(xy=='y'||xy=='Y') return csbi.dwCursorPosition.Y;
else return csbi.dwCursorPosition.X;
}
void gotoxy(int16_t x,int16_t y){ //光标走到[x,y](坐标由0开始数)
HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos={x,y};
SetConsoleCursorPosition(hout,pos);
}
#endif
void clear(){ //清屏
#ifdef _WIN32
system("cls");
#else
system("clear");
#endif
}
· 返回键(只支持Windows)
int32_t typing_level(int32_t level){
int32_t wrong=0;
if(level<_L_||level>R)return -1;
std::vector<std::string> typing_words_lines=levels[level];
size_t lines=typing_words_lines.size();
for(size_t i=0;i<lines;i++){
std::string typing_words=typing_words_lines.at(i);
size_t len=typing_words.size();
std::cout<<show(typing_words)<<std::endl;
for(size_t j=0;j<len;){
unsigned char typing_key=_getch();
if(typing_key==27)return -27;
if(typing_key==typing_words.at(j)){
if(typing_words.at(j)=='\t') std::cout<<"___";
std::cout<<"_";
j++;
}
#ifdef _WIN32
else if(typing_key=='\b'){
if(get_cursor('x')){
std::cout<<"\b ";
gotoxy(get_cursor('x')-1,get_cursor('y'));
j--;
}
}
#endif
else wrong++;
type_word_cnt++;
}
std::cout<<std::endl;
}
return wrong;
}
int32_t _typing_level_(int32_t _level_){
int32_t _wrong_=0;
if(_level_<_L_||_level_>R)return -1;
std::vector<std::string> _typing_words_lines_=_levels_[_level_];
size_t _lines_=_typing_words_lines_.size();
for(size_t i=0;i<_lines_;i++){
std::string _typing_words_=_typing_words_lines_.at(i);
size_t _len_=_typing_words_.size();
std::cout<<show(_typing_words_)<<std::endl;
for(size_t j=0;j<_len_;){
unsigned char _typing_key_=_getch();
if(_typing_key_==27)return -27;
if(_typing_key_==_typing_words_.at(j)){
if(_typing_words_.at(j)=='\t') std::cout<<"___";
std::cout<<"_";
j++;
}
#ifdef _WIN32
else if(_typing_key_=='\b'){
if(get_cursor('x')){
std::cout<<"\b ";
gotoxy(get_cursor('x')-1,get_cursor('y'));
j--;
}
}
#endif
else _wrong_++;
type_word_cnt++;
}
std::cout<<std::endl;
}
return _wrong_;
}
· 主函数标志
#define MAIN_FLAG 0x7FFFFFFF //标志
auto main()->int{
//...
}
· "黑框框"标题
#ifdef _WIN32
system(((std::string)"title "+GAME_NAME+"("+VERSION+")").c_str());
#else
std::cout<<(std::string)"\033]0;"+GAME_NAME+"("+VERSION")"+"\007";
#endif
· 主页跳转
case 'H':
case 'h':{
#ifdef _WIN32
system(((std::string)"start "+AUTHOR_HOMEPAGE).c_str());
#else
system(((std::string)"xdg-open "+AUTHOR_HOMEPAGE).c_str());
#endif
if(language=="c") std::cout<<"ヴ種龄膥尿 . . . ";
else std::cout<<"Press any keys to contiune . . . ";
_getch();
clear();
break;
}
· 游戏设置页面的小更新
if(language=="c"){
std::cout<<"村栏砞竚"<<std::endl;
std::cout<<"セ: "<<VERSION<<std::endl;
std::cout<<"籹虫"<<std::endl;
std::cout<<"絏: "<<CODER<<std::endl;
std::cout<<"砃: "<<ARTIST<<std::endl;
std::cout<<"璣ゅ陆亩: "<<ENGLISH_TRANSLATOR<<std::endl;
std::cout<<": "<<AUTHOR_HOMEPAGE<<std::endl;
std::cout<<std::endl;
std::cout<<"ち传砞竚"<<std::endl;
std::cout<<"'t'ち传璸虫"<<std::endl;
std::cout<<"'l'ち传粂ē"<<std::endl;
std::cout<<"'h'秈"<<std::endl;
std::cout<<"[Esc]癶"<<std::endl;
std::cout<<std::endl;
std::cout<<"Θ碞"<<std::endl;
std::cout<<"ゴ计: "<<type_word_cnt<<std::endl;
std::cout<<"硄筁闽: "<<pass_level_cnt<<std::endl;
}else{
std::cout<<"Game Settings"<<std::endl;
std::cout<<"Version: "<<VERSION<<std::endl;
std::cout<<"Credits"<<std::endl;
std::cout<<"Coder: ルia"<<std::endl;
std::cout<<"Artist: None"<<std::endl;
std::cout<<"English translator: Artificial Intelligence"<<std::endl;
std::cout<<"Author homepage: "<<AUTHOR_HOMEPAGE<<std::endl;
std::cout<<std::endl;
std::cout<<"Change setting"<<std::endl;
std::cout<<"Press 't' change the timing unit"<<std::endl;
std::cout<<"Press 'l' change the language"<<std::endl;
std::cout<<"Press 'h' go to author homepage"<<std::endl;
std::cout<<"Press [Esc] exit the game setting"<<std::endl;
std::cout<<std::endl;
std::cout<<"Suffer"<<std::endl;
std::cout<<"Typed Words: "<<type_word_cnt<<std::endl;
std::cout<<"Passed Levels: "<<pass_level_cnt<<std::endl;
}
成品:
#define GAME_NAME "TypingGame"
#define VERSION "0.4.1"
#define CODER "ルia"
#define ARTIST "⊿Τ"
#define ENGLISH_TRANSLATOR "醇"
#define LAST_UPDATE_DATE "2026/3/20"
#define AUTHOR_HOMEPAGE "https://www.acgo.cn/person/4913066"
#ifdef _WIN32
#include<conio.h>
#else
#include<unistd.h>
#include<termios.h>
char _getch(void){
struct termios,oldt,newt;
char ch;
tcgetattr(STDIN_FILENO,&oldt);
newt=oldt;
newt.c_lflag&=~(ICANON|ECHO);
tcsetattr(STDIN_FILENO,TCSANOW,&newt);
ch=getchar();
tcsetattr(STDIN_FILENO_TCSANOW,&oldt);
return ch;
}
#endif
#include<stdint.h>
#include<regex>
#include<chrono>
#include<string>
#include<vector>
#include<iostream>
#ifdef _WIN32
#include<windows.h>
#endif
#ifdef _WIN32
int16_t get_cursor(char xy){
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&csbi);
if(xy=='x'||xy=='X') return csbi.dwCursorPosition.X;
if(xy=='y'||xy=='Y') return csbi.dwCursorPosition.Y;
else return csbi.dwCursorPosition.X;
}
void gotoxy(int16_t x,int16_t y){
HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos={x,y};
SetConsoleCursorPosition(hout,pos);
}
#endif
void clear(){
#ifdef _WIN32
system("cls");
#else
system("clear");
#endif
}
std::string show(const std::string& str){
std::string result=str;
result=std::regex_replace(result,std::regex("\r")," [Enter]");
result=std::regex_replace(result,std::regex(" "),"Tab]");
return result;
}
unsigned char main_menu_key,game_setting_key;
std::string timing_unit="s";
std::string language="e";
std::string name="";
int32_t type_word_cnt=0,pass_level_cnt=0;
std::vector<std::string> levels[]={
{"Typing Game"},
{"fj"},
{"f f j j f j f j f f f j j j f j j j j f"},
{"ffff jjjj fff jjj ff jj fjfj jfjf fjjf jffj"},
{"dk"},
{"d d k k d k d k d d d k k k d k k k k d"},
{"dddd kkkk ddd kkk dd kk dkdk kdkd dkkd kddk"},
{"ff jj fj dd kk dk jf jjff kd kkdd fjdk kdjf fkjd kfdj ffffjjjjddddkkkk"},
{"sl"},
{"s s l l s l s l s s s l l l s l l l l s"},
{"ssss llll sss lll ss ll slsl lsls slls lssl"},
{"a;"},
{"a a ; ; a ; a ; a a a ; ; ; a ; ; ; ; a"},
{"aaaa ;;;; aaa ;;; aa ;; a;a; ;a;a a;;a ;aa;"},
{"ss ll sl aa ;; a; sl ssll a; aa;; sla; ;als s;la ;sal ssssllllaaaa;;;;"},
{"gh"},
{"g g h h g h g h g g g h h h g h h h h g"},
{"gggg hhhh ggg hhh gg hh ghgh hghg ghhg hggh"},
{
"glad dad had half a glass as salad; "
"dad shall ask glass flags had glass ask shall flask had slash jaff"
}, //18
{"ru"},
{"r r u u r u r u r r r u u u r u u u u r"},
{"rrrr uuuu rrr uuu rr uu ruru urur ruur urru"},
{"ei"},
{"e e i i e i e i e e e i i i e i i i i e"},
{"eeee iiii eee iii ee ii eiei ieie eiie ieei"},
{"rr uu ru ee ii ei ru rruu ei eeii ruei ieur riue ireu rrrruuuueeeeiiii"},
};
const int32_t L=1,R=24;
std::vector<std::string> _levels_[]={
{"Typing Game"},
{
"//cpp\r",
"#include<iostream>\r",
"using namespace std;\r",
"int main(){\r",
" cout<<\"Hello World!\"<<endl;\r",
" return 0;\r",
"}\r"
},
{
"#py\r",
"# -*- coding: utf-8 -*-\r",
"#welcome message\r",
"def welcome_message():\r",
" print(\"************************\")\r",
" print(\"* *\")\r",
" print(\"* Welcome to Typing! *\")\r",
" print(\"* *\")\r",
" print(\"************************\")\r",
"if __name__==\"__main__\":\r",
" welcome_message()\r"
}
};
const int32_t _L_=1,_R_=2;
int32_t typing_level(int32_t level){
int32_t wrong=0;
if(level<_L_||level>R)return -1;
std::vector<std::string> typing_words_lines=levels[level];
size_t lines=typing_words_lines.size();
for(size_t i=0;i<lines;i++){
std::string typing_words=typing_words_lines.at(i);
size_t len=typing_words.size();
std::cout<<show(typing_words)<<std::endl;
for(size_t j=0;j<len;){
unsigned char typing_key=_getch();
if(typing_key==27)return -27;
if(typing_key==typing_words.at(j)){
if(typing_words.at(j)=='\t') std::cout<<"___";
std::cout<<"_";
j++;
}
#ifdef _WIN32
else if(typing_key=='\b'){
if(get_cursor('x')){
std::cout<<"\b ";
gotoxy(get_cursor('x')-1,get_cursor('y'));
j--;
}
}
#endif
else wrong++;
type_word_cnt++;
}
std::cout<<std::endl;
}
return wrong;
}
int32_t _typing_level_(int32_t _level_){
int32_t _wrong_=0;
if(_level_<_L_||_level_>R)return -1;
std::vector<std::string> _typing_words_lines_=_levels_[_level_];
size_t _lines_=_typing_words_lines_.size();
for(size_t i=0;i<_lines_;i++){
std::string _typing_words_=_typing_words_lines_.at(i);
size_t _len_=_typing_words_.size();
std::cout<<show(_typing_words_)<<std::endl;
for(size_t j=0;j<_len_;){
unsigned char _typing_key_=_getch();
if(_typing_key_==27)return -27;
if(_typing_key_==_typing_words_.at(j)){
if(_typing_words_.at(j)=='\t') std::cout<<"___";
std::cout<<"_";
j++;
}
#ifdef _WIN32
else if(_typing_key_=='\b'){
if(get_cursor('x')){
std::cout<<"\b ";
gotoxy(get_cursor('x')-1,get_cursor('y'));
j--;
}
}
#endif
else _wrong_++;
type_word_cnt++;
}
std::cout<<std::endl;
}
return _wrong_;
}
#define MAIN_FLAG 0x7FFFFFFF
auto main()->int{
auto main_start=std::chrono::high_resolution_clock::now();
#ifdef _WIN32
system(((std::string)"title "+GAME_NAME+"("+VERSION+")").c_str());
#else
std::cout<<(std::string)"\033]0;"+GAME_NAME+"("+VERSION")"+"\007";
#endif
std::cout<<"What is your name? (ぐ或)"<<std::endl;
std::cout<<"Your answer (氮): ";
std::getline(std::cin,name);
clear();
while(1){
if(language=="c"){
std::cout<<"ID: 001"<<std::endl;
std::cout<<": "<<name<<std::endl;
std::cout<<"垫虫"<<std::endl;
std::cout<<"[]秨﹍村栏"<<std::endl;
std::cout<<"'x'秈夯家Α"<<std::endl;
std::cout<<"[Esc]癶村栏"<<std::endl;
std::cout<<"'s'ち传村栏砞竚"<<std::endl;
}else{
std::cout<<"ID: 001"<<std::endl;
std::cout<<"Name: "<<name<<std::endl;
std::cout<<"Main Menu"<<std::endl;
std::cout<<"Press [space] start the game"<<std::endl;
std::cout<<"Press 'x' go to hell mode"<<std::endl;
std::cout<<"Press [Esc] exit the game"<<std::endl;
std::cout<<"Press 's' change game settings"<<std::endl;
}
main_menu_key=_getch();
clear();
switch(main_menu_key){
case ' ':{
if(language=="c"){
std::cout<<"叫匡拒闽"<<std::endl;
std::cout<<"材"<<L<<"~"<<R<<"闽"<<std::endl;
}else{
std::cout<<"Please choose a level"<<std::endl;
std::cout<<"Level "<<L<<"~"<<R<<": ";
}
int32_t level;
std::cin>>level;
std::cin.ignore();
clear();
if(language=="c") std::cout<<"材"<<level<<"闽"<<std::endl;
else std::cout<<"level "<<level<<std::endl;
auto start=std::chrono::high_resolution_clock::now();
int32_t wrong=typing_level(level);
auto end=std::chrono::high_resolution_clock::now();
if(wrong==-27){
clear();
break;
}
if(wrong==-1){
if(language=="c") std::cout<<"тぃ闽"<<std::endl;
else std::cout<<"Level cannot be find it"<<std::endl;
}
else{
if(language=="c") std::cout<<"尺眤硄筁闽!"<<std::endl;
else std::cout<<std::endl<<"Congratulation on pass the level!"<<std::endl;
int64_t use_time;
if(timing_unit=="s"){
use_time=
std::chrono::duration_cast<std::chrono::seconds>(end-start).count();
}else if(timing_unit=="ms"){
use_time=
std::chrono::duration_cast<std::chrono::milliseconds>(end-start).count();
}else if(timing_unit=="mus"){
use_time=
std::chrono::duration_cast<std::chrono::microseconds>(end-start).count();
}else if(timing_unit=="ns"){
use_time=
std::chrono::duration_cast<std::chrono::nanoseconds>(end-start).count();
}else{
use_time=
std::chrono::duration_cast<std::chrono::seconds>(end-start).count();
}
if(language=="c")
std::cout<<"ㄏノ丁: "<<use_time<<timing_unit<<", 岿: "<<wrong<<std::endl;
else
std::cout<<"Used time: "<<
use_time<<timing_unit<<
", Wrong words: "<<wrong<<std::endl;
pass_level_cnt++;
}
if(language=="c") std::cout<<"ヴ種龄膥尿 . . . ";
else std::cout<<"Press any keys to contiune . . . ";
_getch();
clear();
break;
}
case 'X':
case 'x':{
if(language=="c"){
std::cout<<"叫匡拒闽"<<std::endl;
std::cout<<"材"<<_L_<<"~"<<_R_<<"闽"<<std::endl;
}else{
std::cout<<"Please choose a level"<<std::endl;
std::cout<<"Level "<<_L_<<"~"<<_R_<<": ";
}
int32_t _level_;
std::cin>>_level_;
std::cin.ignore();
clear();
if(language=="c") std::cout<<"材"<<_level_<<"闽"<<std::endl;
else std::cout<<"level "<<_level_<<std::endl;
auto _start_=std::chrono::high_resolution_clock::now();
int32_t _wrong_=_typing_level_(_level_);
auto _end_=std::chrono::high_resolution_clock::now();
if(_wrong_==-27){
clear();
break;
}
if(_wrong_==-1){
if(language=="c") std::cout<<"тぃ闽"<<std::endl;
else std::cout<<"Level cannot be find it"<<std::endl;
}
else{
if(language=="c") std::cout<<"尺眤硄筁闽!"<<std::endl;
else std::cout<<std::endl<<"Congratulation on pass the level!"<<std::endl;
int64_t _use_time_;
if(timing_unit=="s"){
_use_time_=
std::chrono::duration_cast<std::chrono::seconds>(_end_-_start_).count();
}else if(timing_unit=="ms"){
_use_time_=
std::chrono::duration_cast<std::chrono::milliseconds>(_end_-_start_).count();
}else if(timing_unit=="mus"){
_use_time_=
std::chrono::duration_cast<std::chrono::microseconds>(_end_-_start_).count();
}else if(timing_unit=="ns"){
_use_time_=
std::chrono::duration_cast<std::chrono::nanoseconds>(_end_-_start_).count();
}else{
_use_time_=
std::chrono::duration_cast<std::chrono::seconds>(_end_-_start_).count();
}
if(language=="c") std::cout<<"ㄏノ丁: "<<
_use_time_<<timing_unit<<
", 岿: "<<_wrong_<<std::endl;
else std::cout<<"Used time: "<<
_use_time_<<timing_unit<<", Wrong words: "<<_wrong_<<std::endl;
pass_level_cnt++;
}
if(language=="c") std::cout<<"ヴ種龄膥尿 . . . ";
else std::cout<<"Press any keys to contiune . . . ";
_getch();
clear();
break;
}
case 'S':
case 's':{
if(language=="c"){
std::cout<<"村栏砞竚"<<std::endl;
std::cout<<"セ: "<<VERSION<<std::endl;
std::cout<<"籹虫"<<std::endl;
std::cout<<"絏: "<<CODER<<std::endl;
std::cout<<"砃: "<<ARTIST<<std::endl;
std::cout<<"璣ゅ陆亩: "<<ENGLISH_TRANSLATOR<<std::endl;
std::cout<<": "<<AUTHOR_HOMEPAGE<<std::endl;
std::cout<<std::endl;
std::cout<<"ち传砞竚"<<std::endl;
std::cout<<"'t'ち传璸虫"<<std::endl;
std::cout<<"'l'ち传粂ē"<<std::endl;
std::cout<<"'h'秈"<<std::endl;
std::cout<<"[Esc]癶"<<std::endl;
std::cout<<std::endl;
std::cout<<"Θ碞"<<std::endl;
std::cout<<"ゴ计: "<<type_word_cnt<<std::endl;
std::cout<<"硄筁闽: "<<pass_level_cnt<<std::endl;
}else{
std::cout<<"Game Settings"<<std::endl;
std::cout<<"Version: "<<VERSION<<std::endl;
std::cout<<"Credits"<<std::endl;
std::cout<<"Coder: ルia"<<std::endl;
std::cout<<"Artist: None"<<std::endl;
std::cout<<"English translator: Artificial Intelligence"<<std::endl;
std::cout<<"Author homepage: "<<AUTHOR_HOMEPAGE<<std::endl;
std::cout<<std::endl;
std::cout<<"Change setting"<<std::endl;
std::cout<<"Press 't' change the timing unit"<<std::endl;
std::cout<<"Press 'l' change the language"<<std::endl;
std::cout<<"Press 'h' go to author homepage"<<std::endl;
std::cout<<"Press [Esc] exit the game setting"<<std::endl;
std::cout<<std::endl;
std::cout<<"Suffer"<<std::endl;
std::cout<<"Typed Words: "<<type_word_cnt<<std::endl;
std::cout<<"Passed Levels: "<<pass_level_cnt<<std::endl;
}
game_setting_key=_getch();
clear();
switch(game_setting_key){
case 'T':
case 't':{
if(language=="c"){
std::cout<<"ㄏノ璸虫: "<<timing_unit<<std::endl;
std::cout<<"砞竚虫"<<std::endl;
std::cout<<"- s: "<<std::endl;
std::cout<<"- ms: 睝 (1/1,000)"<<std::endl;
std::cout<<"- mus: 稬 (1/1,000,000)"<<std::endl;
std::cout<<"- ns: (1/1,000,000,000)"<<std::endl;
std::cout<<"ち传Θ";
}else{
std::cout<<"Using timing unit: "<<timing_unit<<std::endl;
std::cout<<"Support units"<<std::endl;
std::cout<<"- s: second"<<std::endl;
std::cout<<"- ms: millisecond (1/1,000s)"<<std::endl;
std::cout<<"- mus: microsecond (1/1,000,000s)"<<std::endl;
std::cout<<"- ns: nanosecond (1/1,000,000,000s)"<<std::endl;
std::cout<<"Change to";
}
std::cout<<" (s, ms, mus, ns): ";
do{
std::cin>>timing_unit;
if(timing_unit=="s"||
timing_unit=="ms"||
timing_unit=="mus"||
timing_unit=="ns"
) break;
if(language=="c"){
std::cout<<"砞竚ア毖"<<std::endl;
std::cout<<"叫穝砞竚: "<<std::endl;
}else{
std::cout<<"Setup failed"<<std::endl;
std::cout<<"Please try again";
}
std::cout<<" (s, ms, mus, ns): ";
}while(timing_unit!="s"||
timing_unit!="ms"||
timing_unit!="mus"||
timing_unit!="ns"
);
if(language=="c"){
std::cout<<"砞竚Θ!"<<std::endl;
std::cout<<"ヴ種龄膥尿 . . . ";
}else{
std::cout<<"Setting saved!"<<std::endl;
std::cout<<"Press any keys to contiune . . . ";
}
_getch();
clear();
break;
}
case 'L':
case 'l':{
if(language=="c") std::cout<<"粂ē砞竚"<<std::endl;
else std::cout<<"Language setting"<<std::endl;
std::cout<<"- c: 羉砰いゅ"<<std::endl;
std::cout<<"- e: English"<<std::endl;
if(language=="c") std::cout<<"ち传Θ";
else std::cout<<"Change to";
std::cout<<" (c, e): ";
do{
std::cin>>language;
if(language=="c"||language=="e")break;
if(language=="c"){
std::cout<<"砞竚ア毖"<<std::endl;
std::cout<<"叫穝砞竚: "<<std::endl;
}else{
std::cout<<"Setup failed"<<std::endl;
std::cout<<"Please try again";
}
std::cout<<" (c, e): ";
}while(language!="c"||language!="e");
if(language=="c"){
std::cout<<"砞竚Θ!"<<std::endl;
std::cout<<"ヴ種龄膥尿 . . . ";
}else{
std::cout<<"Setting saved!"<<std::endl;
std::cout<<"Press any keys to contiune . . . ";
}
_getch();
clear();
break;
}
case 'H':
case 'h':{
#ifdef _WIN32
system(((std::string)"start "+AUTHOR_HOMEPAGE).c_str());
#else
system(((std::string)"xdg-open "+AUTHOR_HOMEPAGE).c_str());
#endif
if(language=="c") std::cout<<"ヴ種龄膥尿 . . . ";
else std::cout<<"Press any keys to contiune . . . ";
_getch();
clear();
break;
}
case 27:{break;}
}
break;
}
case 27:{
if(language=="c") std::cout<<"ǎ!"<<std::endl;
else std::cout<<"Goodbye!"<<std::endl;
auto main_end=std::chrono::high_resolution_clock::now();
auto _cnt_time=
std::chrono::duration_cast<std::chrono::seconds>(main_end-main_start).count();
if(language=="c"){
std::cout<<"--------------------------------"<<std::endl;
std::cout<<"秈祘"<<_cnt_time<<"癶, 0"<<std::endl;
std::cout<<"ヴ種龄膥尿 . . . ";
}else{
std::cout<<"--------------------------------"<<std::endl;
std::cout<<"Process exited after "<<
_cnt_time<<" seconds with return value 0"<<std::endl;
std::cout<<"Press any key to continue . . . ";
}
while(1) _getch();
}
}
}
}
最后,如跨平台出现问题,请见谅
全部评论 3

所以为什么会这样2天前 来自 辽宁
0试试把字体换成繁体字
2天前 来自 香港
0换编码吗
2天前 来自 辽宁
0应该是的,窝没有仔细研究过
2天前 来自 香港
0
谁会玩呢?
2天前 来自 香港
0ddd
2天前 来自 广东
0



























有帮助,赞一个