Witam. Nie za bardzo wiem jak napisać jedną z prostych funkcji aplikacji konsolowej w C. Za pomocą strzałek przesuwam kursorem po ekranie i wstawiam "prostokąciki" (znak 'X' z tym samym kolorem tła i czcionki).
case VK_SPACE:
if(buffer[horiz-1][verti-16]!='X'){
buffer[horiz-1][verti-16]='X';}
else if(buffer[horiz-1][verti-16]='X'){
buffer[horiz-1][verti-16]=' ';}
int j;
for(i=0;i<SIZE_X;i++)
{
for(j=0;j<SIZE_Y;j++)
{
if(buffer[i][j]=='X')
{
gotoXY(i+1,j+16);
write('X');
}
else if(buffer[i][j]==' ')
{
gotoXY(i+1,j+16);
write(' ');
}
}
};
break;
case 'R':
for(i=0;i<SIZE_X;i++)
{
for(j=0;j<SIZE_Y;j++)
{
buffer[i][j]=0;
}
};
for(i=0;i<SIZE_X;i++)
{
for(j=0;j<SIZE_Y;j++)
{
if(buffer[i][j]==0){
gotoXY(i+1,j+16);
write(' ');}
}
};
break;
case '1': setTextAttributes( FOREGROUND_BLUE | BACKGROUND_BLUE);break;
Chodzi mi o to, iż na początku wstawiam zwyczajne, białe znaki (prostokąciki). Gdy wciskam jeden z klawiszy od 1 do 8 kolor wstawianych znaków ma się zmienić (np. na niebieski). Problem w tym, że gdy wciskam 1, zmieniam kolor i chcę wstawić znak, zmienia mi się kolor wszystkich znaków znajdujących się na ekranie. Chciałbym aby zmieniał się kolor jedynie tych znaków, które wstawię po wciśnięciu '1'.
W podanym kodzie spacja wstawia znak, R czyści ekran. Trochę chaotycznie w wyjaśniłem ale mam nadzieję, że znajdzie się ktoś kto potrafi pomóc ;p
Pozdrawiam.