C(++) igrica

C(++) igrica

offline
  • Pridružio: 15 Maj 2009
  • Poruke: 963

Napisano: 06 Feb 2016 2:15



Od skora sam počeo da učim C i pošto sam imao višak slobodnog vremena uradio sam jednu glupu-ne-bog-zna-šta igricu po uzoru na FarmVille i slične koja će mi poslužiti kao osnova ukoliko se budem odlučio da učim grafiku. Pošto je projekat došao do te tačke kada se ništa novo ne može dodati već se samo stare stvari mogu reciklirati odlučio sam da je završen.

Kod ima 600 - 700 linija ali velika većina je otišla na glupu implementaciju nekih stvari (prevoda) i recikliranje već postojećih stvari. Ako su se neke stvari mogle uraditi na bolji način (verovatno jesu, i to dosta njih) i ako postoje bagovi voleo bih da mi neko ukaže na to. Zato u stvari i otvaram temu. Od značaja je i činjenica da li se uopšte kompajlira ovo.

Znači, rađena je u CodeBlocks-u u jeziku C uglavnom, ali zbog toga što sam koristio neke funkcionalnosti jezika C++ mora se kompajlirati kao cpp. Ako neko ko koristi Visual Studio poželi da kompajlira ovaj kod neka zameni prvi u kodu sa #define _CRT_SECURE_NO_WARNINGS.

Ako nekom nije jasno šta sam tačno i kako radio neka pita pa ću mu objasniti pošto nema puno komentara u kodu.

U arhivi se nalaze fajlovi main.cpp, srpski i test. Kada budete kompajlovali kod, srpski se mora nalaziti nalazi u istom folderu kao i exe fajl da bi igra funkcionisala. Možete taj fajl otvoriti u Notepadu i naćićete i upustvo za prevođenje (koje sam napisao bezveze).

https://www.mycity.rs/must-login.png

Dopuna: 06 Feb 2016 18:00

Jel probao neko da kompajlira ono čudo?

Za stostruko kraće vreme napravih stostruko zanimljivije zmijice Very Happy
Nego, ako zna neko da implementira rep ne bi bilo loše da pripomogne, ne mogu nešto da se snađem.
Igra se na strelice.



+ Kod



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

Pod repom podrazumevaš - šta? Telo zmijice? Elem, zmijica se najlakše implementira preko lančane liste. Kada zmijica pojede hranu, samo dodaš još jedan element na "glavu" lančane liste i to je to. Pomeranje zmijice je takođe jednostavno - skidaš element sa kraja (repa) lančane liste i dodaješ opet jedan na glavu na odgovarajuću poziciju (u zavisnosti od smera kretanja).



offline
  • Pridružio: 15 Maj 2009
  • Poruke: 963

Ok na to sam mislio.
Ništa, probaću to da sredim ali izgleda ne u takoj skorijoj budućnosti.
U međuvremenu može i ovako da se igra, zamislimo da je gušter kome je otpao rep i nije mu se regenerisao Very Happy

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

Može, ali je to onda više Pacman nego zmijica. Mr. Green

Inače, mislim da ne treba tu još mnogo posla. Samo treba sadašnju reprezentaciju "zmijice" da spakuješ u listu, prilagodiš štampanje reprezentaciji u vidu lančane liste i prilagodiš funkcije za kretanje i povećavanje zmijice na način koji sam ti pomenuo.

offline
  • Pridružio: 15 Maj 2009
  • Poruke: 963

E pa nije više Pacman Very Happy

Uspeo sam da isimuliram nešto slično lancu, ne baš kako si rekao ali u tom fazonu.
Glava vuče prvi deo repa, on vuče drugi, drugi vuče treći i tako do poslednjeg.
To je definisano u funkciji promeniSmer().
Sad, možda se na trenutak istrokira stampa ili se istrokira igra na neki drugi način, ali šta drugo očekivati od igre kojoj je glavni atribut grafike system("@cls||clear").

+ Kod

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

elzike7 ::Glava vuče prvi deo repa, on vuče drugi, drugi vuče treći i tako do poslednjeg.Rešenje sa lančanom listom je dosta optimalnije, i generalno njegova složenost je konstantna (O(2) - ne zavisi od dužine zmijice), dok je kod tvog rešenja složenost linearna (O(n-1) - zavisi od dužine zmijice).

Sve u svemu, nebitno je sve ovo za ovu igricu. Više je to moja sugestija da se trudiš da u startu stvari učiš i radiš onako kako treba, a ne samo da sklepaš neko rešenje koje radi. Istraživanje i informisanje o nekom konkretnom problemu (odnosno o njegovom rešenju) pre samog programiranja može umnogome da ti olakša samo programiranje i oslobodi te od potencijalnih problema.

Svakako, svaka čast na entuzijazmu. Samo napred. Very Happy

Ko je trenutno na forumu
 

Ukupno su 527 korisnika na forumu :: 5 registrovanih, 0 sakrivenih i 522 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Andrija357, Lazarus, Milos82, uruk, 1107