Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zmiana koloru poszczególnych liter


Rekomendowane odpowiedzi

Opublikowano

Hej,

Nie mogę sobie poradzić z dodaniem w kodzie funkcji zmiany koloru dla poszczególnych znaków..

Chodzi mi o to, aby w labiryncie znak gracza (czyli "!"), znak ściany ( #)  i klucz ( @ ) oraz wyjście ( | ) miały  inne kolory.. 

czy mógłby mi ktoś pomóc?

Kod:

 

 

#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <time.h>
#include <unistd.h>
 
using namespace std;
 
//voidy
void plansza();
void gotoxy(int c, int y);
void wGore(int x, int y, char klawisz);
void wDol(int x, int y, char klawisz);
void naLewo(int x, int y, char klawisz);
void naPrawo(int x, int y, char klawisz);
void plansza2();
void plansza3();
 
//kierowanie definicja na koncu tu nie dziala?!?!?
 
 
//glowne
int main()
{
bool Klucz_1=0;
bool Klucz_2=0;
bool Klucz_3=0;
bool npoziom=0;
bool npoziom_2=0;
int poziom=1;
 
//mapa z kodowaniem
int lab [10] [56] =
{
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1},
{1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1, 0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1, 0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1},
{1,1,1,1,1,1,0,1,0,0,0,0,1,0,1,0,0,0,1, 0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, 0,1,0,1,0,1,1,0,1,0,0,0,1,0,0,0,0,0,1},
{1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1, 0,1,0,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1, 0,1,0,1,0,1,1,0,0,0,1,0,0,0,1,1,1,0,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1, 0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1, 0,1,0,1,0,1,1,0,0,0,1,0,0,0,1,1,1,0,1},
{1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1, 0,1,0,1,0,0,0,1,0,0,0,1,0,0,1,1,0,1, 0,1,0,1,0,1,1,1,0,0,1,0,1,1,1,1,1,0,1},
{1,2,1,0,1,0,1,0,1,0,1,0,1,1,1,1,0,0,1, 0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,0,1, 0,1,0,1,0,1,1,1,0,0,1,0,1,1,1,1,1,0,1},
{1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1, 0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1, 0,1,0,0,0,1,1,1,0,2,1,0,1,1,1,1,0,0,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
}; 
 
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN);
 
gotoxy(0,0); //MAPA
 
plansza();
char klawisz; 
int x = 1; //miejsce startu DOZMIANY??
int y = 1;
gotoxy (1,1);
 
bool rysuj = false;
bool rysuj_2 = false;
do
{
gotoxy(0,20);
klawisz = getch();
 
//PORUSZANIE
if (klawisz == 'w' && lab[y-1] [x] !=1)
{
wGore(x,y,'!');
y = y-1;
}
 
if (klawisz == 's' && lab[y+1][x] != 1)
{
wDol(x,y,'!');
y= y+1;
}
 
if (klawisz == 'd' && lab[y] [x+1] !=1)
{
naPrawo(x,y,'!');
x= x+1;
}
 
if (klawisz == 'a' && lab[y] [x-1] !=1)
{
naLewo(x,y,'!');
x= x-1;
}
 
if (x==1 && y==7)
{
Klucz_1=1;
lab [8] [18]=0;
gotoxy (1,17);
cout<<"Zdobyles klucz do 2 poziomu!";
}
 
if (x==23 && y==4)
{
Klucz_2=1;
lab [8] [36]=0;
gotoxy (2,17);
cout<<"Zdobyles klucz do finalowego poziomu!";
}
 
if (x==46 && y==8)
{
Klucz_3=1;
lab [9] [54]=0;
gotoxy (3,17);
cout<<"Masz ostatni klucz, biegnij do wyjscia!"; 
}
 
if (x==18 && y==8 && npoziom==false)
{
poziom=poziom+1;
npoziom=true;
}
 
//tekst pod mapka
gotoxy (0,11);
cout<<"Poziom nr "<<poziom;
cout<<"\nPoruszanie sie: W(GORA) A(LEWO) S(DOL) D(PRAWO) ,\naby przejsc do nastepnego pomieszczenia najpierw znajdz klucz (@),\nPowodzenia! ";
 
if (poziom==2 && rysuj==false)
{
plansza2();
rysuj=true;
gotoxy(x,y);
cout << "@";
}
 
if (x==36 && y==8 && npoziom_2==false)
{
poziom=poziom+1;
npoziom_2=true; 
} 
 
if (poziom==3 && rysuj_2 == false) 
{ 
plansza3(); 
rysuj_2 = true;
gotoxy (x,y);
cout << "@"; 
 
}
 
if (x==54 && y==9)
 
{
system("cls");
cout << " KUBAT DANIEL 2H PROJEKT LABIRYNT " << endl;
cout << " WYGRANA! Wyszedles z labiryntu! \nNacisnij dowolny klawisz by zakonczyc gre. " << endl << endl << endl << endl << endl << endl << endl << endl ;
 
getch();
return 0;
}
}
while (klawisz != 'z' && klawisz != 'x' && klawisz != 'c');
 
//system("PAUSE");
return 0;
}
 
 
//STALE KIEROWANIE
 
void gotoxy(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
 
void wGore(int x, int y, char klawisz)
{
gotoxy(x,y);
cout<<" ";
gotoxy(x,y-1);
cout<<klawisz;
}
 
void wDol(int x, int y, char klawisz)
{
gotoxy(x,y);
cout<<" ";
gotoxy(x,y+1);
cout<<klawisz;
}
 
void naPrawo(int x, int y, char klawisz)
{
gotoxy(x,y);
cout<<" ";
gotoxy(x+1,y);
cout<<klawisz;
}
 
void naLewo(int x, int y, char klawisz)
{
gotoxy(x,y);
cout<<" ";
gotoxy(x-1,y);
cout<<klawisz;
}
 
// MAPKI RAW
 
void plansza()
{
cout << "#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<< endl;
cout << "#"<<"S"<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<"#"<< endl;
cout << "#"<<"#"<<"#"<<"#"<<"#"<<"#"<<" "<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<" "<<"#"<<"#"<<"#"<<"#"<<"#"<< endl;
cout << "#"<<"#"<<"#"<<"#"<<"#"<<"#"<<" "<<"#"<<" "<<" "<<" "<<" "<<"#"<<" "<<"#"<<" "<<" "<<" "<<"#"<< endl;
cout << "#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<"#"<< endl;
cout << "#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<" "<<"#"<< endl;
cout << "#"<<" "<<"#"<<" "<<" "<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<" "<<" "<<" "<<"#"<<" "<<" "<<"#"<< endl;
cout << "#"<<"@"<<"#"<<" "<<"#"<<" "<<"#"<<" "<<"#"<<" "<<"#"<<" "<<"#"<<"#"<<"#"<<"#"<<" "<<" "<<"#"<< endl;
cout << "#"<<" "<<" "<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<"|"<< endl;
cout << "#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<< endl;
}
 
void plansza2()
{
gotoxy (19,0);
cout << "#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<< endl;
gotoxy (19,1);
cout << " "<<" "<<" "<<"#"<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<"#"<< endl;
gotoxy (19,2);
cout << " "<<"#"<<" "<<"#"<<" "<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<" "<<"#"<< endl;
gotoxy (19,3);
cout << " "<<"#"<<" "<<"#"<<" "<<"#"<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<"#"<< endl;
gotoxy (19,4);
cout << " "<<"#"<<" "<<"#"<<"@"<<"#"<<" "<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<< endl;
gotoxy (19,5);
cout << " "<<"#"<<" "<<"#"<<"#"<<"#"<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<"#"<< endl;
gotoxy (19,6);
cout << " "<<"#"<<" "<<"#"<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<"#"<<" "<<" "<<"#"<<"#"<<" "<<"#"<< endl;
gotoxy (19,7);
cout << " "<<"#"<<" "<<"#"<<" "<<"#"<<" "<<"#"<<" "<<"#"<<" "<<"#"<<"#"<<"#"<<"#"<<"#"<<" "<<"#"<< endl;
gotoxy (19,8);
cout << " "<<"#"<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<" "<<" "<<" "<<" "<<"|"<< endl;
gotoxy (19,9);
cout << "#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<< endl;
}
 
void plansza3()
{
gotoxy (37,0);
cout << "#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<< endl;
gotoxy (37,1);
cout << " "<<" "<<" "<<"#"<<" "<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<" "<<" "<<"#"<< endl;
gotoxy (37,2);
cout << " "<<"#"<<" "<<"#"<<" "<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<" "<<" "<<"#"<< endl;
gotoxy (37,3);
cout << " "<<"#"<<" "<<"#"<<" "<<"#"<<"#"<<" "<<"#"<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<" "<<" "<<"#"<< endl;
gotoxy (37,4);
cout << " "<<"#"<<" "<<"#"<<" "<<"#"<<"#"<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<"#"<<"#"<<"#"<<" "<<"#"<< endl;
gotoxy (37,5);
cout << " "<<"#"<<" "<<"#"<<" "<<"#"<<"#"<<" "<<" "<<" "<<"#"<<" "<<" "<<" "<<"#"<<"#"<<"#"<<" "<<"#"<< endl;
gotoxy (37,6);
cout << " "<<"#"<<" "<<"#"<<" "<<"#"<<"#"<<"#"<<" "<<" "<<"#"<<" "<<"#"<<"#"<<"#"<<"#"<<"#"<<" "<<"#"<< endl;
gotoxy (37,7);
cout << " "<<"#"<<" "<<"#"<<" "<<"#"<<"#"<<"#"<<" "<<" "<<"#"<<" "<<"#"<<"#"<<"#"<<"#"<<"#"<<" "<<"#"<< endl;
gotoxy (37,8);
cout << " "<<"#"<<" "<<" "<<" "<<"#"<<"#"<<"#"<<" "<<"@"<<"#"<<" "<<"#"<<"#"<<"#"<<"#"<<"#"<<" "<<"#"<< endl;
gotoxy (37,9);
cout << "#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"#"<<"_"<<"#"<< endl;
}

 

 

Opublikowano

No najpierw zmieniasz atrybut tekstu na inny kolor, wypisujesz ten znak, a później znowu zmieniasz atrybut na stary kolor i wypisujesz resztę.

RAsfepN.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...