Wątek przeniesiony 2015-01-09 14:42 z C/C++ przez ŁF.

Wczytywanie z pliku tekstowego

0

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

0

bitmapy z pliku tekstowego?
Jeżeli na pewno wiesz o co pytasz to zapoznaj się z formatami: http://pl.wikipedia.org/wiki/Portable_anymap

0

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

0

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ć.

0

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ł?

0

Możesz plik nawet znak po znaku czytać. Absolutnie nie ma znaczenia jak czytać plik.

0

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

0

getline też może być.

0

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?

0

Czemu nie po prostu:

if(komórka == ' ' || komórka == '/n') {...}

?

0

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

0
if(isspace(komórka))
0

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

0

To nie przy próbie otwarcia, tylko próbie linkowania.
Nie dołączyłeś odpowiedniej biblioteki.

0

rozwiązałem już ten problem, za radą znajomego zmieniłem ustawienia w visualu i zadziałało

1 użytkowników online, w tym zalogowanych: 0, gości: 1