another_game 代码

· · 休闲·娱乐

#include <bits/stdc++.h>
#include <windows.h>
#include <winternl.h>
#include <conio.h>
#include <time.h>
using namespace std;
int userlen;
long long fps_round;
int fps_fps=0,fps_oldfps[1050],fps_oldfpspos,fps_fpssum,fps_oldfpslen=100,fps_realfps;
string username[150],password[150],adminpassword="Blank.admin.password";
string userdata[10050];
int usernow;
//basic tool function area start
void puttostr(int x,string &str)
{
    if(x<0)
    {
        str+='-';
        puttostr(-x,str);
    }
    if(x>9)
    {
        puttostr(x/10,str);
    }
    str+=(x%10)+'0';
}
void save_root()
{
    fclose(stdout);
    freopen("another_game.data","w",stdout);
    cout<<adminpassword<<endl;
    cout<<userlen<<endl;
    for(int i=1;i<=userlen;i++)
    {
        cout<<username[i]<<" "<<password[i]<<endl;
    }
    cout<<endl;
    fclose(stdout);
    freopen("CON","w",stdout);
}
void save_user()
{
    fclose(stdout);
    char file_path[100]="another_game_user_";
    int len=username[usernow].length();
    for(int i=0;i<len;i++)
    {
        file_path[18+i]=username[usernow][i];
    }
    file_path[18+len]='.';
    file_path[19+len]='d';
    file_path[20+len]='a';
    file_path[21+len]='t';
    file_path[22+len]='a';
    file_path[23+len]='\0';
    freopen(file_path,"w",stdout);
    for(int i=1;i<=10000;i++)
    {
        if(userdata[i]!="")
        {
            cout<<i<<endl;
            cout<<userdata[i]<<endl;
            cout<<endl;
        }
    }
    cout<<-1<<endl;
    fclose(stdout);
    freopen("CON","w",stdout);
}
bool getsaving_root()
{
    freopen("another_game.data","r",stdin);
    cin>>adminpassword;
    if(adminpassword=="Blank.admin.password")
    {
        return 0;
    }
    cin>>userlen;
    for(int i=1;i<=userlen;i++)
    {
        cin>>username[i]>>password[i];
    }
    fclose(stdin);
    return 1;
}
void getsaving_user()
{
    char file_path[100]="another_game_user_";
    int len=username[usernow].length();
    for(int i=0;i<len;i++)
    {
        file_path[18+i]=username[usernow][i];
    }
    file_path[18+len]='.';
    file_path[19+len]='d';
    file_path[20+len]='a';
    file_path[21+len]='t';
    file_path[22+len]='a';
    file_path[23+len]='\0';
    freopen(file_path,"r",stdin);
    while(1)
    {
        int id;
        cin>>id;
        if(id==-1)
        {
            break;
        }
        cin>>userdata[id];
    }
    return;
}
POINT pointerpos()
{
    POINT pt;
    GetCursorPos(&pt);
    HWND h=GetForegroundWindow();
    ScreenToClient(h,&pt);
    pt.x/=8;pt.y/=16;
    int t=pt.x;
    pt.x=pt.y;
    pt.y=t;
    return pt;
}
int pointerx()
{
    return pointerpos().x;
}
int pointery()
{
    return pointerpos().y;
}
int getcolor(string str)
{
    if(str=="dark black")
    {
        return 0;
    }
    else if(str=="dark blue")
    {
        return 1;
    }
    else if(str=="dark green")
    {
        return 2;
    }
    else if(str=="dark cyan")
    {
        return 3;
    }
    else if(str=="dark red")
    {
        return 4;
    }
    else if(str=="dark purple")
    {
        return 5;
    }
    else if(str=="dark yellow")
    {
        return 6;
    }
    else if(str=="dark white")
    {
        return 7;
    }
    else if(str=="light black")
    {
        return 8;
    }
    else if(str=="light blue")
    {
        return 9;
    }
    else if(str=="light green")
    {
        return 10;
    }
    else if(str=="light cyan")
    {
        return 11;
    }
    else if(str=="light red")
    {
        return 12;
    }
    else if(str=="light purple")
    {
        return 13;
    }
    else if(str=="light yellow")
    {
        return 14;
    }
    else if(str=="light white")
    {
        return 15;
    }
    else
    {
        return 0;
    }
}
void setcolor(string str2="light white",string str1="dark black")
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),getcolor(str1)*16+getcolor(str2));
}
void setcolor(int int2=15,int int1=0)
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),int1*16+int2);
}
void hidecursor()
{
    CONSOLE_CURSOR_INFO cursor_info={1,0}; //第二个值0表示隐藏光标
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
}
void showcursor()
{
    CONSOLE_CURSOR_INFO cursor_info={1,1}; //第二个值0表示隐藏光标
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
} 
void setpos(int i, int j) { //设置坐标点位(光标)
    HANDLE hout;
    COORD coord;
    coord.X = j;
    coord.Y = i;
    hout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hout, coord);
}
void putline(int x,int y,char ch,int times)
{
    setpos(x,y);
    for(int i=1;i<=times;i++)
    {
        cout<<ch;
    }
}
void printline(int r,int c,char ch,int num)
{
    setpos(r,c);
    for(int i=1;i<=num;i++)
    {
        cout<<ch;
    }
}
bool launch()
{
    setcolor("light white");
    cout<<"Please wait while game is loading..."<<endl;
    cout<<"Hint: this message should appear when you compile the program"<<endl;
    cout<<"Hint: use arrow keys"<<endl;
    cout<<"Hint: do not use VScode"<<endl;
    cout<<"Hint: if this text lasts more than 1 minutes, your saves might be damaged."<<endl;
    cout<<"Hint: if your save was damaged, you can delete another_game.data to restart everything."<<endl;
    hidecursor();
    if(!getsaving_root())//no 'another_game.data'
    {
        fclose(stdin);
        system("cls");
        cout<<"This is the first time you launch the game.You need to set the admin password.(You cannot change it after this time)"<<endl;
        cout<<">>> Admin password: "<<endl;
        cout<<"    Comfirm admin password: "<<endl;
        cout<<"    Done!";
        char adminpw1[150],adminpw2[150];
        int adminpw1len=0,adminpw2len=0;
        int cursorposition=1;
        while(1)
        {
            if(kbhit())
            {
                int ch1,ch2=-1;
                ch1=getch();
                if(ch1/128)
                {
                    ch2=getch();
                }
                if(ch1==224 && ch2==80)
                {
                    if(cursorposition>=3)
                    {
                        continue;
                    }
                    setpos(cursorposition,0);
                    cout<<"   ";
                    cursorposition++;
                    setpos(cursorposition,0);
                    cout<<">>>";
                }
                else if(ch1==224 && ch2==72)
                {
                    if(cursorposition<=1)
                    {
                        continue;
                    }
                    setpos(cursorposition,0);
                    cout<<"   ";
                    cursorposition--;
                    setpos(cursorposition,0);
                    cout<<">>>";
                }
                else if(ch2==-1 && ((ch1>='A' && ch1<='Z') || (ch1>='a' && ch1<='z') || (ch1>='0' && ch1<='9') || ch1==' ' || ch1=='_'))
                {
                    if(ch1==' ')
                    {
                        ch1='_';
                    }
                    if(cursorposition==1)
                    {
                        setpos(cursorposition,20+adminpw1len);
                        cout<<(char)ch1;
                        adminpw1len++;
                        adminpw1[adminpw1len]=ch1;
                    }
                    if(cursorposition==2)
                    {
                        setpos(cursorposition,28+adminpw2len);
                        cout<<(char)ch1;
                        adminpw2len++;
                        adminpw2[adminpw2len]=ch1;
                    }
                }
                else if(ch1==8 && ch2==-1)
                {
                    if(cursorposition==1)
                    {
                        if(adminpw1len<=0)
                        {
                            continue;
                        }
                        setpos(cursorposition,20+adminpw1len-1);
                        cout<<" ";
                        adminpw1[adminpw1len]=' ';
                        adminpw1len--;
                    }
                    if(cursorposition==2)
                    {
                        if(adminpw2len<=0)
                        {
                            continue;
                        }
                        setpos(cursorposition,28+adminpw2len-1);
                        cout<<" ";
                        adminpw2[adminpw2len]=' ';
                        adminpw2len--;
                    }
                }
                else if(ch1==224 && ch2==77)
                {
                    if(cursorposition==3)
                    {
                        if(adminpw1len!=adminpw2len)
                        {
                            setpos(4,0);
                            setcolor("light red");
                            cout<<"Admin password is not equal to comfirm password!                                ";
                            setcolor("light white");
                            continue;
                        }
                        bool good=1;
                        for(int i=1;i<=adminpw1len;i++)
                        {
                            if(adminpw1[i]!=adminpw2[i])
                            {
                                setpos(4,0);
                                setcolor("light red");
                                cout<<"Admin password is not equal to comfirm password!                                ";
                                setcolor("light white");
                                good=0;
                                break;
                            }
                        }
                        if(good==0)
                        {
                            continue;
                        }
                        setpos(4,0);
                        if(adminpw1len==0)
                        {
                            setpos(4,0);
                            setcolor("light red");
                            cout<<"Admin password too short!                                                       ";
                            setcolor("light white");
                            continue;
                        }
                        adminpassword="";
                        for(int i=1;i<=adminpw1len;i++)
                        {
                            adminpassword+=adminpw1[i];
                        }
                        save_root();
                        setcolor("light green");
                        cout<<"Done! (Restart this program to proceed.)                                        "<<endl;
                        setcolor("light white");
                        return 0;
                    }
                }
            }
            Sleep(10);
        }
    }
    system("cls");
    cout<<"Login or Register?"<<endl;
    cout<<">>> Login"<<endl;
    cout<<"    Register"<<endl;
    int cursorposition=1;
    hidecursor();
    while(1)
    {
        if(_kbhit())
        {
            int input1=getch(),input2=-1;
            if(input1/128)
            {
                input2=getch();
            }
            if(input1==224 && input2==80)
            {
                if(cursorposition<2)
                {
                    setpos(cursorposition,0);
                    cout<<"   ";
                    cursorposition++;
                    setpos(cursorposition,0);
                    cout<<">>>";
                }
            }
            else if(input1==224 && input2==72)
            {
                if(cursorposition>1)
                {
                    setpos(cursorposition,0);
                    cout<<"   ";
                    cursorposition--;
                    setpos(cursorposition,0);
                    cout<<">>>";
                }
            }
            else if(input1==224 && input2==77)
            {
                if(cursorposition==1)
                {
                    system("cls");
                    setpos(0,0);
                    cout<<"Login:"<<endl;
                    cout<<">>> Username: "<<endl;
                    cout<<"    Password: "<<endl;
                    cout<<"    Login!"<<endl;
                    cout<<"    Quit";
                    cursorposition=1;
                    int usernamelen=0,passwordlen=0;
                    int loginchance=5;
                    char usernamenow[150]={0},passwordnow[150]={0};
                    while(1)
                    {
                        if(_kbhit())
                        {
                            int input1=getch(),input2=-1;
                            if(input1/128)
                            {
                                input2=getch();
                            }
                            if(input1==224 && input2==80)//down
                            {
                                if(cursorposition<4)
                                {
                                    setpos(cursorposition,0);
                                    cout<<"   ";
                                    cursorposition++;
                                    setpos(cursorposition,0);
                                    cout<<">>>";
                                }
                            }
                            else if(input1==224 && input2==72)//up
                            {
                                if(cursorposition>1)
                                {
                                    setpos(cursorposition,0);
                                    cout<<"   ";
                                    cursorposition--;
                                    setpos(cursorposition,0);
                                    cout<<">>>";
                                }
                            }
                            else if(input2==-1 && ((input1>='A' && input1<'Z') || (input1>='a' && input1<='z') || (input1>='0' && input1<='9') || input1==' ' || input1=='_'))//input
                            {
                                if(input1==' ')
                                {
                                    input1='_';
                                }
                                if(cursorposition==1)
                                {
                                    setpos(cursorposition,14+usernamelen);
                                    cout<<(char)input1;
                                    usernamenow[usernamelen]=input1;
                                    usernamelen++;
                                }
                                else if(cursorposition==2)
                                {
                                    setpos(cursorposition,14+passwordlen);
                                    cout<<(char)input1;
                                    passwordnow[passwordlen]=input1;
                                    passwordlen++;
                                }
                            }
                            else if(input1==8 && input2==-1)//backspace
                            {
                                if(cursorposition==1)
                                {
                                    if(usernamelen==0)
                                    {
                                        continue;
                                    }
                                    usernamelen--;
                                    setpos(cursorposition,14+usernamelen);
                                    cout<<" ";
                                    usernamenow[usernamelen]=0;
                                }
                                else if(cursorposition==2)
                                {
                                    if(passwordlen==0)
                                    {
                                        continue;
                                    }
                                    passwordlen--;
                                    setpos(cursorposition,14+passwordlen);
                                    cout<<" ";
                                    passwordnow[passwordlen]=0;
                                }
                            }
                            else if(input1==224 && input2==77)// Right
                            {
                                if(cursorposition==3)
                                {
                                    setpos(5,0);
                                    int findindex=-1;
                                    for(int i=1;i<=userlen;i++)
                                    {
                                        int good=1;
                                        int len1=username[i].length(),len2=password[i].length();
                                        if(len1==usernamelen && len2==passwordlen)
                                        {
                                            for(int j=0;j<len1;j++)
                                            {
                                                if(username[i][j]!=usernamenow[j])
                                                {
                                                    good=0;
                                                    break;
                                                }
                                            }
//                                          if(good==0)
//                                          {
//                                              break;
//                                          }
                                            for(int j=0;j<len2;j++)
                                            {
                                                if(password[i][j]!=passwordnow[j])
                                                {
                                                    good=0;
                                                    break;
                                                }
                                            }
                                        }
                                        else
                                        {
                                            good=0;
                                        }
                                        if(good)
                                        {
                                            findindex=i;
                                            break;
                                        }
                                    }
//                                  setpos(5,0);
//                                  setcolor("light white");
//                                  cout<<findindex<<endl;
                                    if(findindex!=-1)
                                    {
                                        usernow=findindex;
                                        setcolor("light green");
                                        cout<<"You have succefully logged!                                                     "<<endl;
                                        setcolor("light white");
                                        return 1;
                                    }
                                    else
                                    {
                                        setcolor("light red");
                                        cout<<"Wrong username or password!"<<endl;
                                        loginchance--;
                                        cout<<"You can try "<<loginchance<<" more times.                                                       ";
                                        if(loginchance==0)
                                        {
                                            system("cls");
                                            cout<<"Login failed!"<<endl<<"You enter the wrong username or password for too many times.";
                                            setcolor("light white");
                                            return 0;
                                        }
                                        setcolor("light white");
                                    }
                                }
                                else if(cursorposition==4)
                                {
                                    cursorposition=1;
                                    system("cls");
                                    cout<<"Login or Register?"<<endl;
                                    cout<<">>> Login"<<endl;
                                    cout<<"    Register"<<endl;
                                    break;
                                }
                            }
                        }
                        Sleep(10);
                    }
                }
                else if(cursorposition==2)
                {
                    system("cls");
                    setpos(0,0);
                    cout<<"Register:"<<endl;
                    cout<<">>> Admin password: "<<endl;
                    cout<<"    Username: "<<endl;
                    cout<<"    Password: "<<endl;
                    cout<<"    Confirm password: "<<endl;
                    cout<<"    Register!"<<endl;
                    cout<<"    Quit";
                    cursorposition=1;
                    int usernamelen=0,passwordlen=0,adminpasswordlen=0,comfirmpasswordlen=0;
                    int loginchance=5;
                    char usernamenow[150]={0},passwordnow[150]={0},adminpasswordnow[150]={0},comfirmpasswordnow[150]={0};
                    while(1)
                    {
                        if(_kbhit())
                        {
                            int input1=getch(),input2=-1;
                            if(input1/128)
                            {
                                input2=getch();
                            }
                            if(input1==224 && input2==80)//down
                            {
                                if(cursorposition<6)
                                {
                                    setpos(cursorposition,0);
                                    cout<<"   ";
                                    cursorposition++;
                                    setpos(cursorposition,0);
                                    cout<<">>>";
                                }
                            }
                            else if(input1==224 && input2==72)//up
                            {
                                if(cursorposition>1)
                                {
                                    setpos(cursorposition,0);
                                    cout<<"   ";
                                    cursorposition--;
                                    setpos(cursorposition,0);
                                    cout<<">>>";
                                }
                            }
                            else if(input2==-1 && ((input1>='A' && input1<='Z') || (input1>='a' && input1<='z') || (input1>='0' && input1<='9') || input1==' ' || input1=='_'))//input
                            {
                                if(input1==' ')
                                {
                                    input1='_';
                                }
                                if(cursorposition==1)
                                {
                                    setpos(cursorposition,20+adminpasswordlen);
                                    cout<<(char)input1;
                                    adminpasswordnow[adminpasswordlen]=input1;
                                    adminpasswordlen++;
                                }
                                else if(cursorposition==2)
                                {
                                    setpos(cursorposition,14+usernamelen);
                                    cout<<(char)input1;
                                    usernamenow[usernamelen]=input1;
                                    usernamelen++;
                                }
                                else if(cursorposition==3)
                                {
                                    setpos(cursorposition,14+passwordlen);
                                    cout<<(char)input1;
                                    passwordnow[passwordlen]=input1;
                                    passwordlen++;
                                }
                                else if(cursorposition==4)
                                {
                                    setpos(cursorposition,22+comfirmpasswordlen);
                                    cout<<(char)input1;
                                    comfirmpasswordnow[comfirmpasswordlen]=input1;
                                    comfirmpasswordlen++;
                                }
                            }
                            else if(input1==8)//backspace
                            {
                                if(cursorposition==1)
                                {
                                    if(adminpasswordlen==0)
                                    {
                                        continue;
                                    }
                                    adminpasswordlen--;
                                    setpos(cursorposition,20+adminpasswordlen);
                                    cout<<" ";
                                    adminpasswordnow[adminpasswordlen]=0;
                                }
                                else if(cursorposition==2)
                                {
                                    if(usernamelen==0)
                                    {
                                        continue;
                                    }
                                    usernamelen--;
                                    setpos(cursorposition,14+usernamelen);
                                    cout<<" ";
                                    usernamenow[usernamelen]=0;
                                }
                                else if(cursorposition==3)
                                {
                                    if(passwordlen==0)
                                    {
                                        continue;
                                    }
                                    passwordlen--;
                                    setpos(cursorposition,14+passwordlen);
                                    cout<<" ";
                                    passwordnow[passwordlen]=0;
                                }
                                else if(cursorposition==4)
                                {
                                    if(comfirmpasswordlen==0)
                                    {
                                        continue;
                                    }
                                    comfirmpasswordlen--;
                                    setpos(cursorposition,22+comfirmpasswordlen);
                                    cout<<" ";
                                    comfirmpasswordnow[comfirmpasswordlen]=0;
                                }
                            }
                            else if(input1==224 && input2==77)//right
                            {
                                if(cursorposition==5)
                                {
                                    setpos(7,0);
                                    int len1=adminpassword.length();
                                    if(len1!=adminpasswordlen)
                                    {
                                        setcolor("light red");
                                        cout<<"Wrong admin password!                                              "<<endl;
                                        loginchance--;
                                        cout<<"You can try "<<loginchance<<" more times.                          "<<endl;
                                        if(loginchance==0)
                                        {
                                            system("cls");
                                            cout<<"Register failed!"<<endl;
                                            cout<<"You enter the worng adminpassword for too many times."<<endl;
                                            setcolor("light white");
                                            return 0;
                                        }
                                        setcolor("light white");
                                        continue;
                                    }
                                    bool good0=1;
                                    for(int i=0;i<len1;i++)
                                    {
                                        if(adminpassword[i]!=adminpasswordnow[i])
                                        {
                                            good0=0;
                                            break;
                                        }
                                    }
                                    if(!good0)
                                    {
                                        setcolor("light red");
                                        cout<<"Wrong admin password!                                              "<<endl;
                                        loginchance--;
                                        cout<<"You can try "<<loginchance<<" more times.                          "<<endl;
                                        if(loginchance==0)
                                        {
                                            system("cls");
                                            cout<<"Register failed!"<<endl;
                                            cout<<"You enter the worng adminpassword for too many times."<<endl;
                                            setcolor("light white");
                                            return 0;
                                        }
                                        setcolor("light white");
                                        continue;
                                    }

                                    int findindex=-1;
                                    for(int i=1;i<=userlen;i++)
                                    {
                                        int good=1;
                                        int len1=username[i].length();
                                        if(len1==usernamelen)
                                        {
                                            for(int j=0;j<len1;j++)
                                            {
                                                if(username[i][j]!=usernamenow[j])
                                                {
                                                    good=0;
                                                    break;
                                                }
                                            }
                                            if(good==0)
                                            {
                                                break;
                                            }
                                        }
                                        else
                                        {
                                            good=0;
                                        }
                                        if(good)
                                        {
                                            findindex=i;
                                            break;
                                        }
                                    }
                                    setpos(7,0);
                                    if(findindex!=-1)
                                    {
                                        setcolor("light red");
                                        cout<<"You have already registered!"<<endl<<"                                                       ";
                                        cout<<"                                                                                             "<<endl;
                                        setcolor("light white");
                                        continue;
                                    }
                                    if(passwordlen!=comfirmpasswordlen)
                                    {
                                        setcolor("light red");
                                        cout<<"Password is not equal to comfirm password!                                                   "<<endl;
                                        cout<<"                                                                                             "<<endl;
                                        setcolor("light white");
                                        continue;
                                    }
                                    bool good=1;
                                    for(int i=1;i<=passwordlen;i++)
                                    {
                                        if(passwordnow[i]!=comfirmpasswordnow[i])
                                        {
                                            setcolor("light red");
                                            cout<<"Password is not equal to comfirm password!                                                   "<<endl;
                                            cout<<"                                                                                             "<<endl;
                                            setcolor("light white");
                                            good=0;
                                            break;
                                        }
                                    }
                                    if(!good)
                                    {
                                        continue;
                                    }
                                    if(usernamelen==0)
                                    {
                                        setcolor("light red");
                                        cout<<"Username too short!                                                                          "<<endl;
                                        cout<<"                                                                                             "<<endl;
                                        setcolor("light white");
                                        continue;
                                    }
                                    if(passwordlen==0)
                                    {
                                        setcolor("light red");
                                        cout<<"Password too short!"<<endl;
                                        setcolor("light white");
                                        continue;
                                    }
                                    userlen++;
                                    for(int i=0;i<usernamelen;i++)
                                    {
                                        username[userlen]+=usernamenow[i];
                                    }
                                    for(int i=0;i<passwordlen;i++)
                                    {
                                        password[userlen]+=passwordnow[i];
                                    }
                                    save_root();
                                    usernow=userlen;
                                    save_user();
                                    setcolor("light green");
                                    cout<<"You have succefully registered!                               "<<endl;
                                    cout<<"You need to restart this program.                             "<<endl;
                                    setcolor("light white");
                                    return 0;
                                }
                                else if(cursorposition==6)
                                {
                                    system("cls");
                                    cout<<"Login or Register?"<<endl;
                                    cout<<"    Login"<<endl;
                                    cout<<">>> Register"<<endl;
                                    cursorposition=2;
                                    break;
                                }
                            }
                        }
                        Sleep(10);
                    }
                }
            }
        }
        Sleep(10);
    }

    return 0;
}
void notes()
{
    /*
    there are 16 colors:
    0=dark black
    1=dark blue;
    2=dark green
    3=dark cyan
    4=dark red
    5=dark purple
    6=dark yellow
    7=dark white
    8=light black
    9=light blue
    10=light green
    11=light cyan
    12=light red
    13=light purple
    14=light yellow
    15=light white
    16*bgcolor+1*frontcolor

    up:224 72
    down:224 80
    left:224 75
    right:224 77

    width=120,height=30 
    */
}
//basic tool function area end
//games area start
//game 1
void game_the_max_sum()
{
    system("cls");
    setpos(0,0);
    cout<<"The max sum"<<endl;
    cout<<">>> Start"<<endl;
    cout<<"    Rules"<<endl;
    cout<<"    Settings"<<endl;
    cout<<"    Stats"<<endl;
    cout<<"    Quit"<<endl;
    srand(time(0));
    int dicemin=1,dicemax=1,multi1=1,multi2=1,tries=1,diescore=100,highscore=0;
    if(userdata[1]=="")
    {
        dicemin=1;
        dicemax=6;
        multi1=1;
        multi2=10;
        tries=10;
        diescore=100;
        highscore=0;
        cout<<"This is first time you play the game."<<endl;
        cout<<"Read the rules."<<endl;
    }
    else
    {
        int pt=0;
        dicemin=dicemax=multi1=multi2=tries=diescore=highscore=0;
        while(userdata[1][pt]!=',')
        {
            dicemin*=10;
            dicemin+=userdata[1][pt]-'0';
            pt++;
        }
        pt++;
        while(userdata[1][pt]!=',')
        {
            dicemax*=10;
            dicemax+=userdata[1][pt]-'0';
            pt++;
        }
        pt++;
        while(userdata[1][pt]!=',')
        {
            multi1*=10;
            multi1+=userdata[1][pt]-'0';
            pt++;
        }
        pt++;
        while(userdata[1][pt]!=',')
        {
            multi2*=10;
            multi2+=userdata[1][pt]-'0';
            pt++;
        }
        pt++;
        while(userdata[1][pt]!=',')
        {
            tries*=10;
            tries+=userdata[1][pt]-'0';
            pt++;
        }
        pt++;
        while(userdata[1][pt]!=',')
        {
            diescore*=10;
            diescore+=userdata[1][pt]-'0';
            pt++;
        }
        pt++;
        while(userdata[1][pt]!=',')
        {
            highscore*=10;
            highscore+=userdata[1][pt]-'0';
            pt++;
        }
        pt++;
    }
    int cursorpos1=1;
    while(1)
    {
        if(kbhit())
        {
            int ch1=getch(),ch2=-1;
            if(ch1/128)
            {
                ch2=getch();
            }
            if(ch1==224 && ch2==72 && cursorpos1>1)
            {
                setpos(cursorpos1,0);
                cout<<"   ";
                cursorpos1--;
                setpos(cursorpos1,0);
                cout<<">>>";
            }
            else if(ch1==224 && ch2==80 && cursorpos1<5)
            {
                setpos(cursorpos1,0);
                cout<<"   ";
                cursorpos1++;
                setpos(cursorpos1,0);
                cout<<">>>";
            }
            else if(ch1==224 && ch2==77)
            {
                if(cursorpos1==1)//start
                {
                    system("cls");
                    setpos(0,0);
                    int score=0;
                    for(int i=1;i<=10;i++)
                    {
                        int dice=rand()%6+1;
                        cout<<"Round "<<i<<"/"<<10<<endl;
                        cout<<"Score: "<<score<<endl;
                        cout<<"Dice is "<<dice<<endl;
                        cout<<"Wanna x10 or x1? (1/0)"<<endl;
                        cout<<endl;
                        int input=-1;
                        while(1)
                        {
                            if(kbhit())
                            {
                                int ch1=getch(),ch2=-1;
                                if(ch1/128)
                                {
                                    ch2=getch();
                                }
                                if(ch1==48 && ch2==-1)
                                {
                                    input=0;
                                    break;
                                }
                                else if(ch1==49 && ch2==-1)
                                {
                                    input=1;
                                    break;
                                }
                            }
                        }
                        if(input==0)
                        {
                            score+=dice;
                        }
                        else
                        {
                            score+=dice*10;
                        }
                        if(score>100)
                        {
                            break;
                        }
                    }
                    if(score<=100)
                    {
                        cout<<"You win!!!"<<endl;
                        cout<<"Your score is "<<score<<"!"<<endl;
                        cout<<"Your highest score is "<<highscore<<"."<<endl;
                        if(score>highscore)
                        {
                            cout<<"Highscore updated to "<<score<<endl;
                            highscore=score;
                            cout<<"Congradulations!"<<endl;
                        }
                        else
                        {
                            cout<<"Keep trying!"<<endl;
                        }
                    }
                    else
                    {
                        cout<<"You died because your score is too high!"<<endl;
                        cout<<"Your score is "<<score<<endl;
                        cout<<"Your highest score is "<<highscore<<"."<<endl;
                        cout<<"You lose!!!"<<endl;
                    }
                    cout<<"Press space to continue..."<<endl;
                    while(1)
                    {
                        if(kbhit())
                        {
                            int ch1=getch(),ch2=-1;
                            if(ch1/128)
                            {
                                ch2=getch();
                            }
                            if(ch1==32 && ch2==-1)
                            {
                                break;
                            }
                        }
                    }
                    system("cls");
                    setpos(0,0);
                    cout<<"The max sum"<<endl;
                    cout<<">>> Start"<<endl;
                    cout<<"    Rules"<<endl;
                    cout<<"    Settings"<<endl;
                    cout<<"    Stats"<<endl;
                    cout<<"    Quit"<<endl;
                }
                if(cursorpos1==2)//rules
                {
                    system("cls");
                    setpos(0,0);
                    cout<<"The max sum rules"<<endl;
                    cout<<"There are "<<tries<<" dice rolls."<<endl;
                    cout<<"Each will generate random number from "<<dicemin<<" to "<<dicemax<<"."<<endl;
                    cout<<"You have a score, when you start, it is 0."<<endl;
                    cout<<"In each try, you can choose to add [dice number]*["<<multi1<<" or "<<multi2<<"] to your score."<<endl;
                    cout<<"If your score is more than "<<diescore<<", you will explode and die!!!"<<endl;
                    cout<<"Your goal is to get the max score and survive. Good luck!"<<endl;
                    cout<<">>> Back"<<endl;
                    while(1)
                    {
                        if(kbhit())
                        {
                            int ch1=getch(),ch2=-1;
                            if(ch1/128)
                            {
                                ch2=getch();
                            }
                            if(ch1==224 && ch2==77)
                            {
                                break;
                            }
                        }
                    }
                    system("cls");
                    setpos(0,0);
                    cout<<"The max sum"<<endl;
                    cout<<"    Start"<<endl;
                    cout<<">>> Rules"<<endl;
                    cout<<"    Settings"<<endl;
                    cout<<"    Stats"<<endl;
                    cout<<"    Quit"<<endl;
                }
                if(cursorpos1==3)//settings
                {
                    system("cls");
                    setpos(0,0);
                    cout<<"Settings"<<endl;
                    cout<<"1. Min dice number: "<<dicemin<<endl;
                    cout<<"2. Max dice number: "<<dicemax<<endl;
                    cout<<"3. Multiply number 1: "<<multi1<<endl;
                    cout<<"4. Multiply number 2: "<<multi2<<endl;
                    cout<<"5. Dice rolls in a round: "<<tries<<endl;
                    cout<<"6. Max score to keep you alive: "<<diescore<<endl;
                    cout<<">>> Back"<<endl;
                    cout<<"    Adjust settings"<<endl;

                    int cursorpos2=7;
                    while(1)
                    {
                        if(kbhit())
                        {
                            int ch1=getch(),ch2=-1;
                            if(ch1/128)
                            {
                                ch2=getch();
                            }
                            if(ch1==224 && ch2==72 && cursorpos2>7)
                            {
                                setpos(cursorpos2,0);
                                cout<<"   ";
                                cursorpos2--;
                                setpos(cursorpos2,0);
                                cout<<">>>";
                            }
                            else if(ch1==224 && ch2==80 && cursorpos2<8)
                            {
                                setpos(cursorpos2,0);
                                cout<<"   ";
                                cursorpos2++;
                                setpos(cursorpos2,0);
                                cout<<">>>";
                            }
                            else if(ch1==224 && ch2==77)
                            {
                                if(cursorpos2==7)
                                {
                                    break;
                                }
                                if(cursorpos2==8)
                                {
                                    system("cls");
                                    setpos(0,0);
                                    cout<<"Adjust settings"<<endl;
                                    cout<<"Are you sure? This will clear your highscore!"<<endl;
                                    cout<<">>> No"<<endl;
                                    cout<<"    Yes"<<endl;
                                    int cursorpos3=2;
                                    while(1)
                                    {
                                        if(kbhit())
                                        {
                                            int ch1=getch(),ch2=-1;
                                            if(ch1/128)
                                            {
                                                ch2=getch();
                                            }
                                            if(ch1==224 && ch2==72 && cursorpos3>2)
                                            {
                                                setpos(cursorpos3,0);
                                                cout<<"   ";
                                                cursorpos3--;
                                                setpos(cursorpos3,0);
                                                cout<<">>>";
                                            }
                                            else if(ch1==224 && ch2==80 && cursorpos3<3)
                                            {
                                                setpos(cursorpos3,0);
                                                cout<<"   ";
                                                cursorpos3++;
                                                setpos(cursorpos3,0);
                                                cout<<">>>";
                                            }
                                            else if(ch1==224 && ch2==77)
                                            {
                                                if(cursorpos3==2)
                                                {
                                                    break;
                                                }
                                                if(cursorpos3==3)
                                                {
                                                    system("cls");
                                                    setpos(0,0);
                                                    cout<<"Adjust settings:"<<endl;
                                                    cout<<">>> 1. Min dice number: "<<dicemin<<endl;
                                                    cout<<"    2. Max dice number: "<<dicemax<<endl;
                                                    cout<<"    3. Multiply number 1: "<<multi1<<endl;
                                                    cout<<"    4. Multiply number 2: "<<multi2<<endl;
                                                    cout<<"    5. Dice rolls in a round: "<<tries<<endl;
                                                    cout<<"    6. Max score to keep you alive: "<<diescore<<endl;
                                                    cout<<"    7. Back"<<endl;
                                                    int cursorpos4=1;
                                                    while(1)
                                                    {
                                                        if(kbhit())
                                                        {
                                                            int ch1=getch(),ch2=-1;
                                                            if(ch1/128)
                                                            {
                                                                ch2=getch();
                                                            }
                                                            if(ch1==224 && ch2==72 && cursorpos4>1)
                                                            {
                                                                setpos(cursorpos4,0);
                                                                cout<<"   ";
                                                                cursorpos4--;
                                                                setpos(cursorpos4,0);
                                                                cout<<">>>";
                                                            }
                                                            else if(ch1==224 && ch2==80 && cursorpos4<7)
                                                            {
                                                                setpos(cursorpos4,0);
                                                                cout<<"   ";
                                                                cursorpos4++;
                                                                setpos(cursorpos4,0);
                                                                cout<<">>>";
                                                            }
                                                            else if(ch1==224 && ch2==77)
                                                            {
                                                                if(cursorpos4==7)
                                                                {
                                                                    break;
                                                                }
                                                            }
                                                        }

                                                    }
                                                    break; 
                                                }
                                            }
                                        }
                                    }
                                    system("cls");
                                    setpos(0,0);
                                    cout<<"Settings"<<endl;
                                    cout<<"1. Min dice number: "<<dicemin<<endl;
                                    cout<<"2. Max dice number: "<<dicemax<<endl;
                                    cout<<"3. Multiply number 1: "<<multi1<<endl;
                                    cout<<"4. Multiply number 2: "<<multi2<<endl;
                                    cout<<"5. Dice rolls in a round: "<<tries<<endl;
                                    cout<<"6. Max score to keep you alive: "<<diescore<<endl;
                                    cout<<"    Back"<<endl;
                                    cout<<">>> Adjust settings"<<endl;
                                }
                            }
                        }
                    }
                    system("cls");
                    setpos(0,0);
                    cout<<"The max sum"<<endl;
                    cout<<"    Start"<<endl;
                    cout<<"    Rules"<<endl;
                    cout<<">>> Settings"<<endl;
                    cout<<"    Stats"<<endl;
                    cout<<"    Quit"<<endl;
                }
                if(cursorpos1==4)//stats
                {
                    system("cls");
                    cout<<"The max sum stats"<<endl;
                    cout<<"Max score: "<<highscore<<endl;
                    cout<<">>> Back"<<endl;
                    while(1)
                    {
                        if(kbhit())
                        {
                            int ch1=getch(),ch2=-1;
                            if(ch1/128)
                            {
                                ch2=getch();
                            }
                            if(ch1==224 && ch2==77)
                            {
                                break;
                            }
                        }
                    }
                    system("cls");
                    setpos(0,0);
                    cout<<"The max sum"<<endl;
                    cout<<"    Start"<<endl;
                    cout<<"    Rules"<<endl;
                    cout<<"    Settings"<<endl;
                    cout<<">>> Stats"<<endl;
                    cout<<"    Quit"<<endl;

                }
                if(cursorpos1==5)//quit
                {
                    userdata[1]="";
                    puttostr(dicemin,userdata[1]);
                    userdata[1]+=',';
                    puttostr(dicemax,userdata[1]);
                    userdata[1]+=',';
                    puttostr(multi1,userdata[1]);
                    userdata[1]+=',';
                    puttostr(multi2,userdata[1]);
                    userdata[1]+=',';
                    puttostr(tries,userdata[1]);
                    userdata[1]+=',';
                    puttostr(diescore,userdata[1]);
                    userdata[1]+=',';
                    puttostr(highscore,userdata[1]);
                    userdata[1]+=',';
                    return;
                }
            }
        }
    }
}
//games area end
void Enter()
{
    system("cls");
    cout<<"Function Selection"<<endl;
    cout<<">>> Quit"<<endl;
    cout<<"    Games"<<endl;
    cout<<"    Tools"<<endl;
    cout<<"    Good stuffs"<<endl;
    int cursorpos1=1;
    while(1)
    {
        if(kbhit())
        {
            int ch1=getch(),ch2=-1;
            if(ch1/128)
            {
                ch2=getch();
            }
            if(ch1==224 && ch2==72 && cursorpos1>1)
            {
                setpos(cursorpos1,0);
                cout<<"   ";
                cursorpos1--;
                setpos(cursorpos1,0);
                cout<<">>>";
            }
            else if(ch1==224 && ch2==80 && cursorpos1<4)
            {
                setpos(cursorpos1,0);
                cout<<"   ";
                cursorpos1++;
                setpos(cursorpos1,0);
                cout<<">>>";
            }
            else if(ch1==224 && ch2==77)
            {
                if(cursorpos1==1)
                {
                    system("cls");
                    setpos(0,0);
                    cout<<"Another_Game: 6x7's game collection     account: "<<username[usernow]<<endl;
                    cout<<">>> Enter"<<endl;
                    cout<<"    Info"<<endl;
                    cout<<"    Save & Quit"<<endl;
                    cout<<"    Delete your account"<<endl;
                    cout<<"    Change password"<<endl;
                    return;
                }
                else if(cursorpos1==2)
                {
                    system("cls");
                    setpos(0,0);
                    cout<<"Game selection"<<endl;
                    cout<<">>> Quit"<<endl;
                    cout<<"    The max sum"<<endl;
                    cout<<"    Devil's roulette"<<endl;
                    cout<<"    Guess the number"<<endl;
                    cout<<"    Oasis"<<endl;
                    cout<<"    Wsmud"<<endl;
                    cout<<"    Factory builder"<<endl;
                    cout<<"    Piston game"<<endl;
                    int number_of_games=7;
                    int cursorpos2=1;
                    while(1)
                    {
                        if(kbhit())
                        {
                            int ch1=getch(),ch2=-1;
                            if(ch1/128)
                            {
                                ch2=getch();
                            }
                            if(ch1==224 && ch2==72 && cursorpos2>1)
                            {
                                setpos(cursorpos2,0);
                                cout<<"   ";
                                cursorpos2--;
                                setpos(cursorpos2,0);
                                cout<<">>>";
                            }
                            else if(ch1==224 && ch2==80 && cursorpos2<number_of_games+1)
                            {
                                setpos(cursorpos2,0);
                                cout<<"   ";
                                cursorpos2++;
                                setpos(cursorpos2,0);
                                cout<<">>>";
                            }
                            else if(ch1==224 && ch2==77)
                            {
                                if(cursorpos2==1)
                                {
                                    system("cls");
                                    cout<<"Function Selection"<<endl;
                                    cout<<"    Quit"<<endl;
                                    cout<<">>> Games"<<endl;
                                    cout<<"    Tools"<<endl;
                                    cout<<"    Good stuffs"<<endl;
                                    break;
                                }
                                else
                                {
                                    if(cursorpos2==2)
                                    {
                                        game_the_max_sum();
                                    }
                                    cursorpos2=1;
                                    system("cls");
                                    setpos(0,0);
                                    cout<<"Game selection"<<endl;
                                    cout<<">>> Quit"<<endl;
                                    cout<<"    The max sum"<<endl;
                                    cout<<"    Devil's roulette"<<endl;
                                    cout<<"    Guess the number"<<endl;
                                    cout<<"    Oasis"<<endl;
                                    cout<<"    Wsmud"<<endl;
                                    cout<<"    Factory builder"<<endl;
                                    cout<<"    Piston game"<<endl;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    return;
}
void Info()
{
    system("cls");
    setpos(0,0);
    cout<<"Another Game by 6x7"<<endl;
    cout<<"Version: 2025/10/31"<<endl;
    cout<<"Author: 6x7"<<endl;
    cout<<endl;
    cout<<"Credits:"<<endl;
    cout<<"Anyone can spread or change the code of the game"<<endl;
    cout<<"but must not delete this info."<<endl;
    cout<<endl;
    cout<<">>> Back"<<endl;
    while(1)
    {
        if(kbhit())
        {
            int ch1=getch(),ch2=-1;
            if(ch1/128)
            {
                ch2=getch();
            }
            if(ch1==224 && ch2==77)
            {
                system("cls");
                setpos(0,0);
                cout<<"Another_Game: 6x7's game collection"<<endl;
                cout<<"    Entry"<<endl;
                cout<<">>> Info"<<endl;
                cout<<"    Save & quit"<<endl;
                cout<<"    Delete your account"<<endl;
                cout<<"    Change password"<<endl;
                return;
            }
        }
        Sleep(10);
    }
}
int main()
{
    if(!launch())
    {
        return 0;
    }
    getsaving_user();
    system("cls");
    setcolor("light white");
    setpos(0,0);
    int clocknum=0;
    cout<<"Another_Game: 6x7's game collection     account: "<<username[usernow]<<endl;
    cout<<">>> Enter"<<endl;
    cout<<"    Info"<<endl;
    cout<<"    Save & Quit"<<endl;
    cout<<"    Delete your account"<<endl;
    cout<<"    Change password"<<endl;
    int cursorpos=1;
    while(1)//selcection
    {
        if(kbhit())
        {
            int ch1=getch(),ch2=-1;
            if(ch1/128)
            {
                ch2=getch();
//              ch1%=128;
            }
            if(ch1==224 && ch2==80 && cursorpos<5)
            {
                setpos(cursorpos,0);
                cout<<"   ";
                cursorpos++;
                setpos(cursorpos,0);
                cout<<">>>";
            }
            if(ch1==224 && ch2==72 && cursorpos>1)
            {
                setpos(cursorpos,0);
                cout<<"   ";
                cursorpos--;
                setpos(cursorpos,0);
                cout<<">>>";
            }
            if(ch1==224 && ch2==77)
            {
                if(cursorpos==1)
                {
                    Enter();
                }
                else if(cursorpos==2)
                {
                    Info();
                }
                else if(cursorpos==3)
                {
                    system("cls");
                    cout<<"saving..."<<endl;
                    save_user();
                    cout<<"complete"<<endl;
                    Sleep(1000);
                    while(1)
                    {
                        if(kbhit())
                        {
                            int ch1,ch2=-1;
                            ch1=getch();
                            if(ch1/128)
                            {
                                ch2=getch();
                            }
                            cout<<ch1<<" "<<ch2<<endl;
                        }
                    }
                }
                else if(cursorpos==4)
                {
                    system("cls");
                    setpos(0,0);
                    cout<<"Are you sure to delete your account?"<<endl;
                    cout<<">>> ";
                    setcolor("light green");
                    cout<<"NO"<<endl;
                    setcolor("dark red");
                    cout<<"    I'm very sure!"<<endl;
                    setcolor("light white");
                    int cursorpos2=1;
                    while(1)
                    {
                        if(kbhit())
                        {
                            int ch1=getch(),ch2=-1;
                            if(ch1/128)
                            {
                                ch2=getch();
                            }
                            if(ch1==224 && ch2==80 && cursorpos2<2)
                            {
                                setpos(cursorpos2,0);
                                cout<<"   ";
                                cursorpos2++;
                                setpos(cursorpos2,0);
                                cout<<">>>";
                            }
                            if(ch1==224 && ch2==72 && cursorpos2>1)
                            {
                                setpos(cursorpos2,0);
                                cout<<"   ";
                                cursorpos2--;
                                setpos(cursorpos2,0);
                                cout<<">>>";
                            }
                            if(ch1==224 && ch2==77 && cursorpos2==1)
                            {
                                system("cls");
                                setpos(0,0);
                                cout<<"Another_Game: 6x7's game collection"<<endl;
                                cout<<"    Entry"<<endl;
                                cout<<"    Info"<<endl;
                                cout<<"    Save & quit"<<endl;
                                cout<<">>> Delete your account"<<endl;
                                cout<<"    Change password"<<endl;
                                break;

                            }
                            if(ch1==224 && ch2==77 && cursorpos2==2)
                            {
                                system("cls");
                                setpos(0,0);
                                cout<<"Deleting your account..."<<endl;
                                char file_path[100]="another_game_user_";
                                int len=username[usernow].length();
                                for(int i=0;i<len;i++)
                                {
                                    file_path[18+i]=username[usernow][i];
                                }
                                file_path[18+len]='.';
                                file_path[19+len]='d';
                                file_path[20+len]='a';
                                file_path[21+len]='t';
                                file_path[22+len]='a';
                                file_path[23+len]='\0';
                                cout<<"Deleting "<<file_path<<" ..."<<endl;
                                int tmp=remove(file_path);
                                if(tmp!=0)
                                {
                                    setpos(2,0);
                                    cout<<"Fail to delete "<<file_path<<" ! Error code: "<<tmp<<endl;
                                    cout<<"Retry?"<<endl;
                                    cout<<">>> Yes"<<endl;
                                    cout<<"    Skip anyway"<<endl;
                                    int cursorpos3=4;
                                    setpos(cursorpos3,0);
                                    while(1)
                                    {
                                        if(kbhit())
                                        {
                                            int ch1=getch(),ch2=-1;
                                            if(ch1/128)
                                            {
                                                ch2=getch();
                                            }
                                            if(ch1==224 && ch2==80 && cursorpos3<5)
                                            {
                                                setpos(cursorpos3,0);
                                                cout<<"   ";
                                                cursorpos3++;
                                                setpos(cursorpos3,0);
                                                cout<<">>>";
                                            }
                                            if(ch1==224 && ch2==72 && cursorpos3>4)
                                            {
                                                setpos(cursorpos3,0);
                                                cout<<"   ";
                                                cursorpos3--;
                                                setpos(cursorpos3,0);
                                                cout<<">>>";
                                            }
                                            if(ch1==224 && ch2==77 && cursorpos3==4)
                                            {
                                                int tmp=remove(file_path);
                                                if(tmp==0)
                                                {
                                                    break;
                                                }
                                                else
                                                {
                                                    setpos(2,0);
                                                    cout<<"Fail to delete "<<file_path<<" ! Error code: "<<tmp<<endl;
                                                    cout<<"Retry?"<<endl;
                                                    cout<<">>> Yes"<<endl;
                                                    cout<<"    Skip anyway"<<endl;
                                                }
                                            }
                                            if(ch1==224 && ch2==77 && cursorpos3==5)
                                            {
                                                break;
                                            }
                                        }
                                    }
                                }
                                setpos(2,0);
                                cout<<"                                                                                "<<endl;
                                cout<<"                                                                                "<<endl;
                                cout<<"                                                                                "<<endl;
                                cout<<"                                                                                "<<endl;
                                setpos(2,0);
                                cout<<"Rewriting another_game.data..."<<endl;

                                for(int i=1;i<=userlen-1;i++)
                                {
                                    if(i>=userlen)
                                    {
                                        username[i]=username[i+1];
                                        password[i]=password[i+1];
                                    }
                                }
                                userlen--;
                                save_root();
                                cout<<"Rewriten another_game.data!"<<endl;
                                cout<<endl;
                                setcolor("light green");
                                cout<<"Sucessfully removed your account!"<<endl;
                                cout<<"You need to restart this program to finish."<<endl;
                                setcolor("light white");
                                return 0;
                            }
                        }
                    }
                }
                else if(cursorpos==5)
                {
                    system("cls");
                    setpos(0,0);
                    cout<<"Change password"<<endl;
                    cout<<">>> Old password: "<<endl;
                    cout<<"    New password: "<<endl;
                    cout<<"    Confirm password: "<<endl;
                    cout<<"    Save"<<endl;
                    cout<<"    Quit"<<endl;
                    setpos(0,0);
                    int cursorpos2=1;
                    int oldlen=0,passwordlen=0,comfirmpasswordlen=0;
                    int loginchance=5;
                    char oldnow[150]={0},passwordnow[150]={0},comfirmpasswordnow[150]={0};
                    while(1)
                    {
                        if(_kbhit())
                        {
                            int input1=getch(),input2=-1;
                            if(input1/128)
                            {
                                input2=getch();
                            }
                            if(input1==224 && input2==80)//down
                            {
                                if(cursorpos2<5)
                                {
                                    setpos(cursorpos2,0);
                                    cout<<"   ";
                                    cursorpos2++;
                                    setpos(cursorpos2,0);
                                    cout<<">>>";
                                }
                            }
                            else if(input1==224 && input2==72)//up
                            {
                                if(cursorpos2>1)
                                {
                                    setpos(cursorpos2,0);
                                    cout<<"   ";
                                    cursorpos2--;
                                    setpos(cursorpos2,0);
                                    cout<<">>>";
                                }
                            }
                            else if(input2==-1 && ((input1>='A' && input1<='Z') || (input1>='a' && input1<='z') || (input1>='0' && input1<='9') || input1==' ' || input1=='_'))//input
                            {
                                if(input1==' ')
                                {
                                    input1='_';
                                }
                                if(cursorpos2==1)
                                {
                                    setpos(cursorpos2,18+oldlen);
                                    cout<<(char)input1;
                                    oldnow[oldlen]=input1;
                                    oldlen++;
                                }
                                else if(cursorpos2==2)
                                {
                                    setpos(cursorpos2,18+passwordlen);
                                    cout<<(char)input1;
                                    passwordnow[passwordlen]=input1;
                                    passwordlen++;
                                }
                                else if(cursorpos2==3)
                                {
                                    setpos(cursorpos2,22+comfirmpasswordlen);
                                    cout<<(char)input1;
                                    comfirmpasswordnow[comfirmpasswordlen]=input1;
                                    comfirmpasswordlen++;
                                }
                            }
                            else if(input1==8)//backspace
                            {
                                if(cursorpos2==1)
                                {
                                    if(oldlen==0)
                                    {
                                        continue;
                                    }
                                    oldlen--;
                                    setpos(cursorpos2,18+oldlen);
                                    cout<<" ";
                                    oldnow[oldlen]=0;
                                }
                                else if(cursorpos2==2)
                                {
                                    if(passwordlen==0)
                                    {
                                        continue;
                                    }
                                    passwordlen--;
                                    setpos(cursorpos2,18+passwordlen);
                                    cout<<" ";
                                    passwordnow[passwordlen]=0;
                                }
                                else if(cursorpos2==3)
                                {
                                    if(comfirmpasswordlen==0)
                                    {
                                        continue;
                                    }
                                    comfirmpasswordlen--;
                                    setpos(cursorpos2,22+comfirmpasswordlen);
                                    cout<<" ";
                                    comfirmpasswordnow[comfirmpasswordlen]=0;
                                }
                            }
                            else if(input1==224 && input2==77)//right
                            {
                                if(cursorpos2==4)
                                {
                                    setpos(6,0);
                                    int len1=password[usernow].length();
                                    if(len1!=oldlen)
                                    {
                                        setcolor("light red");
                                        cout<<"Wrong old password!                                                "<<endl;
                                        loginchance--;
                                        cout<<"You can try "<<loginchance<<" more times.                          "<<endl;
                                        if(loginchance==0)
                                        {
                                            system("cls");
                                            cout<<"Register failed!"<<endl;
                                            cout<<"You enter the worng old password for too many times."<<endl;
                                            setcolor("light white");
                                            return 0;
                                        }
                                        setcolor("light white");
                                        continue;
                                    }
                                    int good0=1;
                                    for(int i=0;i<len1;i++)
                                    {
                                        if(password[usernow][i]!=oldnow[i])
                                        {
                                            good0=0;
                                            break;
                                        }
                                    }
                                    if(!good0)
                                    {
                                        setcolor("light red");
                                        cout<<"Wrong old password!                                                "<<endl;
                                        loginchance--;
                                        cout<<"You can try "<<loginchance<<" more times.                          "<<endl;
                                        if(loginchance==0)
                                        {
                                            system("cls");
                                            cout<<"Register failed!"<<endl;
                                            cout<<"You enter the worng old password for too many times."<<endl;
                                            setcolor("light white");
                                            return 0;
                                        }
                                        setcolor("light white");
                                        continue;
                                    }

                                    if(passwordlen!=comfirmpasswordlen)
                                    {
                                        setcolor("light red");
                                        cout<<"Password is not equal to comfirm password!                                                   "<<endl;
                                        cout<<"                                                                                             "<<endl;
                                        setcolor("light white");
                                        continue;
                                    }
                                    bool good=1;
                                    for(int i=1;i<=passwordlen;i++)
                                    {
                                        if(passwordnow[i]!=comfirmpasswordnow[i])
                                        {
                                            setcolor("light red");
                                            cout<<"Password is not equal to comfirm password!                                                   "<<endl;
                                            cout<<"                                                                                             "<<endl;
                                            setcolor("light white");
                                            good=0;
                                            break;
                                        }
                                    }
                                    if(!good)
                                    {
                                        continue;
                                    }
                                    if(passwordlen==0)
                                    {
                                        setcolor("light red");
                                        cout<<"Password too short!                                          "<<endl;
                                        setcolor("light white");
                                        continue;
                                    }
                                    password[usernow]="";
                                    for(int i=0;i<passwordlen;i++)
                                    {
                                        password[usernow]=password[usernow]+passwordnow[i];
                                    }
                                    save_root();
                                    setcolor("light green");
                                    cout<<"You have succefully changed your password!                               "<<endl;
                                    cout<<"You need to restart this program.                             "<<endl;
                                    setcolor("light white");
                                    return 0;
                                }
                                else if(cursorpos2==5)
                                {
                                    system("cls");
                                    cout<<"Another_Game: 6x7's game collection     account: "<<username[usernow]<<endl;
                                    cout<<"    Enter"<<endl;
                                    cout<<"    Info"<<endl;
                                    cout<<"    Save & Quit"<<endl;
                                    cout<<"    Delete your account"<<endl;
                                    cout<<">>> Change password"<<endl;
                                    break;
                                }
                            }
                        }
                        Sleep(10);
                    }
                }
            }
        }
        if(clock()-clocknum<50)//20 tick per second
        {
            Sleep(1);
            continue;
        }
    }

    return 0;
}