#include<iostream>
#include<string>
#include<fstream>
#include<Windows.h>
using namespace std;
class Game {
private:
string firstword;
string secondword;
bool first = true;
ofstream fout;
public :
void Begin();
};
void Game::Begin() {
fout.open("info.txt");
if (!fout.is_open()) {
cout << "open info.txt error" << endl;
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
cout << "请输入成语:" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
cin >> firstword;
fout << firstword << "\n";
int length = 0;
while (true) {
if (!first) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
cout << "输入接龙成语" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
cin >> secondword;
if (secondword == "exit") {
system("pause");
exit(0);
}
}
length = firstword.length();
string firstend;
string secondbegin;
/*如果是utf-8需要加下面这句
firstend += firstword[length - 3];
*/
firstend += firstword[length - 2];
firstend += firstword[length - 1];
if (!first) {
secondbegin += secondword[0];
secondbegin += secondword[1];
/*如果是utf-8需要加下面这句
secondbegin += secondword[2];
*/
if (firstend == secondbegin) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);
cout << "<|接龙成功|>" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
fout << secondword << "\n";
}
else {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
cout << "[接龙失败],上个成语为 \"" << firstword<<"\"" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
continue;
}
firstword = secondword;
fout.flush();
}
first = false;
}
}
int main() {
Game *a =new Game ;
a->Begin();
system("pause");
return 0;
}