Pogledaj ovdje: viewtopic.php?t=21649
Na tebi je da odlučiš kako ćeš što spremati u datoteku tj. što ćeš iz nje čitati.
Dal može netko napisat kako da napravim save/load game u pascalu. Ako nezna nitko u pascalu tad može napisat u nekom drugom jeziku, pa ću probat odkodirat. Zahvaljujem se svima zainteresiranima.
Pogledaj ovdje: viewtopic.php?t=21649
Na tebi je da odlučiš kako ćeš što spremati u datoteku tj. što ćeš iz nje čitati.
Tu piše kako raditi sa C++, a njega zanima pascal. Pogledaj malo Input/Output u pascalu. Mislim da bi to trebalo biti to.
BTW mozes vise puta u datoteku upisivat varijablu tipa lik naredbom write(datoteka, igrac); , samo ce se dalje zapisivat poslije prve varijableCode:TYPE lik = RECORD ime : string[8]; level : integer; END; TYPE data = FILE OF lik; VAR datoteka : data; igrac: lik; (* SNIMA VARIJABLU IGRAC U SAVE.DAT *) assign(datoteka, 'save.dat'); rewrite(datoteka); write(datoteka, igrac); close(datoteka); (* CITA IZ SAVE.DAT U VARIJABLU IGRAC *) assign(datoteka, 'save.dat'); reset(datoteka); read(datoteka, igrac); close(datoteka);
Isto tako mozes citati vise puta sa procedurom read()... funkciju eof(datoteka) , koristis da znas kad si dosao do kraja datoteke...
Hvala svima!
Nije ni cudo sto nisam znao, jer do toga još nismo došli, ali sam potrazio u knjigi i nasao.
To mi treba, zato sto sam jučer poceo raditi igru(za sad imam cca 500 redaka). Mislim da će priča biti zanimljiva, ali igrivost ono minimalac, jer nema nikakve grafike, jer još nisam u to dovoljno upučen. Probat ću ju napisat u više dijelova, ali ne kao epizode, već kao nastavak priče. Očekujte ju možda još ovaj tjedan.
Ajde da ne otvaram novu temu pa ću ovdje nastaviti...
Dal to mogu nekako pisat u vise dijelova(to se odnosi na samo pisanje programa). Npr. Jedan dio napišem do, recimo kod mene do treninga, i onda pređem na novi source file, ali da nemoram ponovno pisat variable i ta sranja, znači samo pomoću 1. sourca filea otvorim drugi i pišem na novi list.
Ako niste shvatili rečite, jer ću se tada malo bolje potruditi u opisu, pošto mi je to jako važno pri snalaženju u samom programu
Misliš da imaš u jednom source fileu varijable koje ti trebaju, pa da ih možeš koristiti u kompletnom projektu? Vidiš, i ja sam imao taj problem za item database. U C++u se koristi #ifndef DATABASE #define DATABASE #endif//DATABASE(imaš bolje opisano u temi C++, gdje sam pitao) i pomoću riječi extern. Sad, pogledaj, možda ima nešto slično za pascal. I sretno u izradi, znam što te čeka!
Na neki način i to ali ja sam mislio da u jednom source fileu napišem do nekog dijela igru, a u drugom neki drugi dio, ali da nemoram pisat ponovno variable, ako me kužite...Izvorno postao DragonSoul
P.S. moram priznati da si mi ti dao ideju u izradi igre bez grafike. Jest da je ona igra Nik&Nak bilo dosta kratka, ali sam skužio princip kako bi to mogao napravit i u pascalu. Naravno priča nije niti slična onoj tvojoj, jer bi to bila kopija nečeg napravljenog, a to neželim. Dal možeš reči koliko ti je trebalo vremena za tvoju igru, čisto ono informativno me zanima?
Hm...., ne znam, nisam jako upoznat sa pascalom(radio sam možda 3 tjedna u njemu), ali ako pascal ima nešto kao funkcije onda bi ti i preporučio da radiš u više source fileova. Ono, moja main funkcija ti izgleda ovako:
U biti ti praviš funkcije koje nešto rade, npr. izabuje ti radnom broj od 1 do 5 i vraća vrijednost random broja. Tako da imaš funkciju koja će ti uvijek dati radnom broj u varijablu tak da napišeš:Code:int main() { MainMenu(); return 0; }
E, sad, nisam upoznat sa pascalom pa ti ne znam dobro objasniti.Code:int Varijabla = Rand_num_1_5();
Volim što sam nekog nadahnuo da ne dira game makere nego pravi vlasiti kod. Sad, u sourceu sam si zapisao da sam počeo 12.03.2008, pa sad pogledaj kad sam objavio. Epizoda 0 je služila u biti samo da ja vidim kako bi to radilo, a objavio sam je zato da vidim kako će "javnost" reagirati na to. Sretno u izradi, jer dok ti ne dođe onaj "ahaaaaa" momenat namučiti ćeš se. Ja sam dosta pisao dok mi je došao taj "ahaaaaa" moment, i od onda sam sve uspio ostvariti što sam probao. Eto, ako još što trebaš, javi, sigurno se nađe ovdje netko tko će pomoći
ehm, dragone samo da znas ja odavno pravim nesto svoje, text based avanturu... prije tebe sam poceo mislim. jos bi mogli i razmjenu iskustava i kodova mozda napraviti
Ma, nećemo se sada prepirati tko je prvi šta izmislio...., nitko od nas nije izmislio žanr avanture, sad što nemamo znanja da to spakujemo u grafičko sučelje je naš problem A gle, što se tiće razmjene iskustva, to je uvijek dobro došlo
EDIT: 100x post, nije nešta pre važno, samo da naglasnim
tako je dodao sam te na msnu...
nego dosta smo offtopičarili, luka sry nas
Ubaci naredbu (*$I NEKADATOTEKA.PAS *)Izvorno postao Filip_k
i onda ce ti se compailer ponasat kao da se sadrazaj iz te datoteke nalazi na tom mjestu gdje je ta naredba...
Brobal bum. ponovno hvala. Vidim da imaš dugogodišnja iskustva sa pascalom.Izvorno postao koki007
@DragonSoul: moram priznat da sam došel do onog Ahhhhaaaaa. Uglavnom došao sam do malo više od 600 redaka i kad najedamput zapnem na nečemu. Po logici bi to sve trebalo štimat, ali on meni uporno radi nešt sasvim deseto. Pročitao sam 3 puta cijeli program i na to potrošio više od sad i pol i nema nigdje grešaka. Moram priznat da sam poludio, jer sam došao gotovo do kraja prvog dijela kad ono takvo sranje. Probat ću još sutra nešto napravit ako nebudem uspio onda neznam kaj budem napravio, a baš sam se ufural
EDIT: oprostite kaj kasnim sa odgovorima, prošli mjesec sam nabio doma račun za internet malo veći, pa su mi moji ograničili internet na 30min. po danu, tak da sam ja uvijk na internetu između 7:10-7:40. Jadno znam, ali bolje išta nego išta
Ajde da nisam jedini. Tako je i meni bilo danas, ali nekako je proradilo, ne znam zašto i kako nit me zanima.Izvorno postao Filip_k
Moraš pazit s tim uključivanjima, jer ne znam kako je u pascalu, ali u C++u sam si ja već 2 godine skratio život zbog toga
Ne radi sa onom naredbom, tj. otvori on meni taj drugi program, ali uvijek javlja grešku i nemogu dalje. Ako imaš neki kratak program(može i Hello) molim te postaj, jer se više u onom mojem programu nemogu snač, a ovo mi treba.Izvorno postao koki007
Evo:
glavna - PROBA.PAS :
DATOTEKA.PAS :Code:PROGRAM proba; USES CRT; VAR a:INTEGER; (*$I DATOTEKA.PAS *) PROCEDURE PAUZA; BEGIN WRITELN('pritisni bilo koji gumb...'); REPEAT UNTIL keypressed; END; BEGIN WRITELN; WRITELN('PROG V0.01'); datoteka; PAUZA; END.
Ovo sam probao i nebi trebalo javit gresku... sretno u programiranju...Code:PROCEDURE PAUZA; FORWARD; (*FOWARD SE KORISTI KADA SE ZELI KORISTIT NEKA PROCEDURA ILI FUNKCIJA KOJA JOS NIJE DEFINIRANA STO INACE NIJE MOGUCE*) PROCEDURE DATOTEKA; BEGIN WRITELN ('PROCEDURA IZ DRUGE DATOTEKE'); PAUZA; (*KORISTI SE PROCEDURA KOJA JE DEFINIRNA TEK POSLIJE OVE PROCEDURE*) END;
E puno hvala, neznam kaj bi ja bez tebe