Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 16.1.2011, 1:21   #1
fingerprint
Veteran
 
Član od: 5.11.2006.
Lokacija: Dark Side Of The Moon
Poruke: 1.121
Zahvalnice: 394
Zahvaljeno 594 puta na 222 poruka
Slanje poruke preko MSN-a korisniku fingerprint Slanje poruke preko Yahooa korisniku fingerprint
Određen forumom RubeFactory

Inspirisan odličnom puzzle igrom Rubicon (koja je bazirana na RUBE programskom jeziku), odlučio sam da napravim remake i dodam stvari koje rubicon nema, mislim da bi trebalo da ima

U pitanju je puzzle/sandbox igra koja nema neki poseban cilj : imate game field, gomilu kutija i masina na raspolaganju, pa pravite mašine kakve 'oćete. Možda bi trebalo ubaciti neke nivoe sa ograničenim arsenalom mašina i šta ti ja znam, al o tome kasnije .

Fizika igre je relativno prosta, game field je 2D grid koji se sastoji od ćelija u kojima se može naći kutija, mašina ili zid (ili i mašina i kutija). U svakom ciklusu, dešava se sledeće :
  1. Svaka kutija pada pod uticajem gravitacije, ako ima mesta da padne (tj ako nema nečeg ispod nje)
  2. Svaka kutija koja je gurnuta na neku stranu (npr drugom kutijom ili na pokretnoj traci) se pomera
  3. Mašine odrađuju svoj posao

Kutije su u stvari podaci, svaka kutija može broj, slov ili znak (jedan char, u sustini), ili biti kompozitna kutija, koja se sastoji od dve kutije. Pošto postoji samo 10 cifara po kutiji, sve računske operacije su po modulu 10.

Mašine manipulišu ovim kutijama, pomeraju ih, stvaraju i uništavaju, i na taj način se prave kompleksnije mašine.

Ono što rubicon ne poseduje, a ja sam ubacio, su I/O portovi na mašinama : svaka mašina ima makar jedan ("Enable"). Uz pomoć connect tool-a inputi i outputi mašina se mogu povezati. Evo primera kako to izgleda :

U ovom primeru, toogle input je povezan na true, pa toogle output menja vrednost u svakom ciklusu. A toogle output je povezan na enabled od up-pipe-a, pa ova mašina razdvaja niz kutija tako što svaku drugu povlači na gornju traku. Btw, grafika je placeholder, pa je dosta toga ružno, kao npr ove pokretne trake

Evo na primer kako izgleda pun sabirac u RubeFactory-u :
Sabirac



Jos uvek ne podrzava load/save i copy/paste, to je sledece radim
takodje, ubacicu description i help za masine i jos par masina.

Do tada, evo liste trenutnih masina, po redu po kom se pojavljuju na toolbaru :

Prvi red :
  • Connect Tool - povezuje I/O portove masina. U connect dialogu, sve sto je crveno je izlaz, sve sto je zeleno je ulaz. Mozete povezati samo ulaze sa izlazima (i obrnuto). Jedan ulaz moze da primi samo jedan izlaz, dok se izlazni port moze povezati sa neogranicenim brojem izlaza.
  • 0-9 kutije - kutije sa vrednostima. ? kutija je placeholder za nesto sto sam zaboravio da ubacim :P
Drugi red se sastoji od sivog i crvenog zida, pa ga necu ni opisivati...
Treci red su masine :
  • Pokretna traka na levo i na desno (2 elementa) - gura kutije direktno iznad levo ili desno . Moze se promeniti pravac trake na wire inputima.
  • Push left/right - gura kutiju direktno ispred sebe.
  • Pipe up/down - povlaci kutiju direktno ispod/iznad sebe u jednom ciklusu. Ukoliko nastavite vise cevi u istom pravcu, kutija ce proci kroz sve u samo jednom ciklusu.
  • Kopir na gore/dole -kopira kutiju ispod/iznad sebe.
  • Dematerijalizator - unistava kutiju i pretvara je u wire signal
  • Materijalizator - pretvara wire signal u kutiju koja ima tu vrednost. Dematerijalizator i materijalizator se mogu koristiti kao portali.
  • +, -, *, /, mod - racunske operacije po modulu 10. Daju korisne izlazne wire signale (carry za sabiranje, na primer) pa se mogu nadovezivati.
  • Destroyer - unistava kutiju koja udje u njega
  • Packer - uzima dve kutije, dole-levo i dole, i spaja ih u kutiju koja sadrzi ovaj par. Par se pojavljuje dole-desno od packera, a ulazi se brisu.
  • Unpacker - na ulazu uzima kutiju koja sadrzi par, i raspakuje je.
  • Comparator - kutija direktno ispod je referentna. ako je kutija iznad <= od referentne, ode levo, ako je veca, ode desno.
  • Sensor ima izlaze za svaku stranu, ukoliko kutija dodirne senzor, odgovarajuci izlaz se aktivira.
Sledece masine rade samo sa zicama, i uopste ne uticu na kutije (osim sto se ponasaju kao zidovi).
  • Constants - za izlaze ima brojeve 0-9. Korisno za povezivanje sa brojacima, memorijama ili komparatorima.
  • Utility box - sadrzi brojac koji moze da se inkrementira, dekrementira i resetuje, i toogle input i output.
  • Wire komparator - uzima dva signala, i daje A<B, A<=B, A>B, A>=B, A=B i A!=B izlaze.
  • And, Or i Not - logicka kola. Svaki sadrzi po tri gate-a u sebi.
  • Signal change detect - detektuje promene u signalu, daje outpute koji se menjaju zavisno od promene signala (raste ili opada).
  • Memorija - moze da cuva do 10 vrednosti (koje mogu biti parovi). Adresira se sa jednim inputom, ima read i write mode. Uskoro cu ubaciti demultiplekser, pa ce biti moguce kombinovati memorije radi veceg kapaciteta na prirodan nacin.



Evo i linka za download trenutne verzije :
http://www.mediafire.com/?0hccl6yn3ci7fc3

Poslednja ispravka: fingerprint (16.1.2011 u 22:10)
fingerprint je offline   Odgovor sa citatom ove poruke
Sledećih 3 korisnika se zahvaljuje korisniku fingerprint na korisnoj poruci:
doctor (16.1.2011), irreal (16.1.2011), MG-RAY (16.1.2011)
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno



Sva vremena su po Griniču +2 h. Sada je 15:06.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2025, vBulletin Solutions, Inc.
Hosted by Beograd.com