Ejemplo n.º 1
0
int main()
{
    int width, height, select;
    int c1,x1=34,y1=10, Y1=1;
    int c, x = Ws+2, y =Hs+1 ,i=Hs,X=0,Y=0;
    int go_on;
    initscr();
    cbreak(); // disable key buffering
    noecho(); // disable echoing
    nodelay( stdscr, 1 );
    start_color();
    keypad(stdscr, TRUE); // enable keypad reading
    getmaxyx(stdscr, height, width); // get screen size
    
    Make_map Map01;
    Menu M;
    M.PrintMenu();
    Time T;
	Step S;
	CheckPosition Check;
	
    select = TRUE;
    while(select)
    {
        move(y1,x1);
        c1 = getch();
        switch(c1)
        {
            case KEY_UP:	 mvprintw(y1,x1,"  "); y1=y1-2;  Y1--; M.Check(y1,Y1); mvprintw( y1, x1, "->" ); break;
            case KEY_DOWN: 	 mvprintw(y1,x1,"  "); y1=y1+2;  Y1++; M.Check(y1,Y1); mvprintw( y1, x1, "->" ); break;
            case KEY_RIGHT:  switch(Y1)
                             {
                                case 1 : erase();
                                
												T.setT1();
												S.set();
												Map01.initialize();
												Map01.setMap();
												Map01.BanSpace();
												Map01.displayMap(); 
				 
													mvaddstr(1,16,  "Pressed Key: [1~9]");
													mvaddstr(21, 17, "Clear space: [0]");
													
													go_on = TRUE;
													while (go_on) {
														move(y, x);
														c = getch();
															switch(c)
															{
															case KEY_LEFT:	 x=x-LRS;  X--; Check.CheckPositionX(x,X); mvaddstr(18, 64, "  "); break;
															case KEY_RIGHT:	 x=x+LRS;  X++; Check.CheckPositionX(x,X); mvaddstr(18, 64, "  "); break;
															case KEY_UP:	 y=y-UDS;  Y--; Check.CheckPositionY(y,Y); mvaddstr(18, 64, "  "); break;
															case KEY_DOWN: 	 y=y+UDS;  Y++; Check.CheckPositionY(y,Y); mvaddstr(18, 64, "  "); break;
															case '0': Map01.getAns(0,X,Y); S.getStep();    break;
															case '1': Map01.getAns(1,X,Y); S.getStep();	break;
															case '2': Map01.getAns(2,X,Y); S.getStep();	break;
															case '3': Map01.getAns(3,X,Y); S.getStep();	break;
															case '4': Map01.getAns(4,X,Y); S.getStep();	break;
															case '5': Map01.getAns(5,X,Y); S.getStep();	break;
															case '6': Map01.getAns(6,X,Y); S.getStep();	break;
															case '7': Map01.getAns(7,X,Y); S.getStep();	break;
															case '8': Map01.getAns(8,X,Y); S.getStep();	break;
															case '9': Map01.getAns(9,X,Y); S.getStep();	break;
															case 'z': go_on = FALSE; break;
															case 'n': Map01.initialize();Map01.setMap();Map01.BanSpace();Map01.displayMap();T.setT1();S.set(); break;
															case 'f': Map01.CheckAns(); break;
															case 'Z': go_on = FALSE; break;
															case 'N': Map01.initialize();Map01.setMap();Map01.BanSpace();Map01.displayMap();T.setT1();S.set(); break;
															case 'F': Map01.CheckAns(); break;
															case 's': Map01.Save();T.Save();S.Save();break;
															case 'S': Map01.Save();T.Save();S.Save();break;
															case 'l': Map01.initialize();Map01.Load();Map01.displayMap();T.setT1();T.Load();S.Load();break;
															case 'L': Map01.initialize();Map01.Load();Map01.displayMap();T.setT1();T.Load();S.Load();break;
															default: T.setT2(); T.displayTime();
															} // switch (c)
													//refresh();
														while (x < 0) x += width;
														while (x >= width) x -= width;
														while (y < 0) y += height;
														while (y >= height) y -= height;
													} // while (go_on)	
													
																			
											erase(); M.PrintMenu(); break;
                                case 2 : select = FALSE; break;
                                default: ;
                             }
                             break;
        }
    }
    endwin();
    return 0;
} // main( )