Witam,
jestem w trakcie tworzenia projektu gry arkanoid.
Napotkalam jednak na swojej drodze problem, którego nie umiem rozgryzc. Otóż, chcę, aby klocki (bitmapy) byly wczytywane na plansze z pliku tekstowego.
Z gory dziekuje za pomoc
bitmapy z pliku tekstowego?
Jeżeli na pewno wiesz o co pytasz to zapoznaj się z formatami: http://pl.wikipedia.org/wiki/Portable_anymap
Mam bitmape ( jest to jeden klocek), a w pliku tekstowym jest np
******
AAAAAA
AAAAAA
AAAAAA
******
******
******
I chodzi mi o to, w jaki sposob wczytac ten plik, aby wyswietlala mi sie plansza z klockami
Czym jest ten klocek?
Co oznaczają te litery A?
Co oznaczają te znaki kropek?
To nie jest forum wróżbitów, tu trzeba dokładnie wszystko opisać.
to może ja rozwinę pytanie bo mam też z tym problem
w moim przypadku klocki w arkanoidzie nie są bitmapami ale mam specjalną funkcję, która rysuje prostokąty i wypełnia je kolorem
jeżeli w pliku tekstowym mam np.
A A A A A A
B B B B B B
to chcę aby po wczytaniu tego pliku tekstowego narysowało mi tą funkcją klocki w odpowiednich miejscach
myślnik oznacza brak klocka, a A i B to są klocki ale różne kolorami
nie jestem pewny jakie zmienne muszę zadeklarować i jak wczytać ten plik
myślałem np., żeby zrobic tablicę typu char[100] która by przechowywała numer danego klocka (licząć od lewego górnego rogu i lecąc w prawo), potem chciałem zadeklarować np int[b][4], gdzie b to numer klocka a komorki od 0-3 zawierają współrzędne konsoli wierzchołków prostokąta (potrzebne chyba później do określenia czy piłka się odbiła od jakies krawędzi)
mógłby ktoś mi pomóc, bo nie wiem czy mam dobry tok rozumowania, może ma ktoś jakiś lepszy pomysł?
Możesz plik nawet znak po znaku czytać. Absolutnie nie ma znaczenia jak czytać plik.
z jakiej funkcji najlepiej korzystać do wczytywania pliku i odczytywania wartości?
jak pisałem sudoku to też miałem wczytywanie z pliku i używałem getline, tyle tylko że potem musiałem konwertować to ze stringa na inty bo getline działało mi tylko jak przypisywałem dane do stringa
getline też może być.
mam jeszcze jedno pytanie
jeśli będę korzystał z funkcji get() do odczytywania znak po znaku i przypisywał to do tablicy charów to przypisze mi też spacje i enter
moje pytanie: jaki dać if na sprawdzenie czy dana komórka zawiera enter? będzie to znak ascii czy jakiś inny znak?
Czemu nie po prostu:
if(komórka == ' ' || komórka == '/n') {...}
?
jesteś pewny, że "komórka == '/n' " zadziała w przypadku wczytywaniu z pliku
pytam, bo sam zbyt wiele nie robiłem z odczytywaniem z plliku
if(isspace(komórka))
dlaczego przy próbie otwarcia pliku zapisem:
fstream plik;
plik.open("uklad.txt", ios::in);
gdzie uklad to nazwa otwieraniego pliku występuję mi 2 błędy
1)Error 12 error LNK1120: 1 unresolved externals
2)Error 11 error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public: char const & __thiscall std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >::operator*(void)const " (??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ)
dodanie znaczników <code> i <code class="cpp">
- @furious programming
To nie przy próbie otwarcia, tylko próbie linkowania.
Nie dołączyłeś odpowiedniej biblioteki.
rozwiązałem już ten problem, za radą znajomego zmieniłem ustawienia w visualu i zadziałało