• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

Objektove programovanie

Started by markus, 21.02.2009, 23:57:40

« predchdzajce - alie »

morrfun23

ved uz aj mne to vsetko funguje nastastie

mirek

ja len kratky oznam - zajtra maju opakujuci tretiaci prvu moznost odovzdat svoje zadanie - od 9:00 do 14:00 v miestnosti A508 (sklenik). doniest si treba so sebou vsetko potrebne pre odovzdanie ;) uz teraz su vsetci z nich vitani ;)
So say we all!

thom

Neviete niekto poradit?Je to pre triedu Use

Použiť je možné iba ten predmet, ktorý sa nachádza v miestnosti alebo v batohu. Ak sa teda daný predmet nenachádza ani v miestnosti a ani v batohu, vypíšte na obrazovku správu: Taký predmet tu nikde nevidím.

Skusam ako by som to otestoval, lenze v tej triede Use a jej metode Execute je len jeden parameter a to game cize neviem ako zistim ,ze prave ten moj predmet, ktory chcem pouzit je ten ktory chcem ja a ze je v miestnosti alebo batohu.
ja to skusam takto:
Quoteif (game.CurrentRoom.GetItem(?????) != null)
            {
            }
tym parametrom je konkretny nazov predmetu. Lenze ako ho tam predam?
Neviem ,mozno to tak nema byt :)

mirek

Quote from: thom on  29.04.2009, 04:46:00
Neviete niekto poradit?Je to pre triedu Use

Použiť je možné iba ten predmet, ktorý sa nachádza v miestnosti alebo v batohu. Ak sa teda daný predmet nenachádza ani v miestnosti a ani v batohu, vypíšte na obrazovku správu: Taký predmet tu nikde nevidím.

Skusam ako by som to otestoval, lenze v tej triede Use a jej metode Execute je len jeden parameter a to game cize neviem ako zistim ,ze prave ten moj predmet, ktory chcem pouzit je ten ktory chcem ja a ze je v miestnosti alebo batohu.
ja to skusam takto:
Quoteif (game.CurrentRoom.GetItem(?????) != null)
            {
            }
tym parametrom je konkretny nazov predmetu. Lenze ako ho tam predam?
Neviem ,mozno to tak nema byt :)

a skusal si sa pozriet, ako vies prostrednictvom objektu game, ktory je typu IGame pristupovat k aktualnej miestnosti a taktiez k obsahu batohu?
So say we all!

thom

Quote from: mirek on  29.04.2009, 04:53:20
Quote from: thom on  29.04.2009, 04:46:00
Neviete niekto poradit?Je to pre triedu Use

Použiť je možné iba ten predmet, ktorý sa nachádza v miestnosti alebo v batohu. Ak sa teda daný predmet nenachádza ani v miestnosti a ani v batohu, vypíšte na obrazovku správu: Taký predmet tu nikde nevidím.

Skusam ako by som to otestoval, lenze v tej triede Use a jej metode Execute je len jeden parameter a to game cize neviem ako zistim ,ze prave ten moj predmet, ktory chcem pouzit je ten ktory chcem ja a ze je v miestnosti alebo batohu.
ja to skusam takto:
Quoteif (game.CurrentRoom.GetItem(?????) != null)
            {
            }
tym parametrom je konkretny nazov predmetu. Lenze ako ho tam predam?
Neviem ,mozno to tak nema byt :)

a skusal si sa pozriet, ako vies prostrednictvom objektu game, ktory je typu IGame pristupovat k aktualnej miestnosti a taktiez k obsahu batohu?

No ved ano pozeral som, su tam property CurrentRoom a Backpack ale ani pri jednej nevidim nejaku vyhovujucu metodu,ktora by vyriesila moj problem. :)

ghostdog_sk

s niecim podobnym mam problem aj ja...

v triede parser si rozdelim string pomocou Split(' '), napr.: pouzi Kluc takze vlastne potom pom[0] = "pouzi" a pom[1] = Kluc

ale prave tu pom[1]potrebujem pouzit v triede ktora sa vykona cez ((ICommand)pom[0]).Execute(game); len to tam neviem dostat poradte ako na to...cez spristupnenie premennej ako public to nepojde, skusal som to robit cez konstruktor ale neuspesne

mirek

Quote from: thom on  29.04.2009, 04:46:00
No ved ano pozeral som, su tam property CurrentRoom a Backpack ale ani pri jednej nevidim nejaku vyhovujucu metodu,ktora by vyriesila moj problem. :)

no - a kedze kazdy prikaz je potomkom triedy ACommand, tak kazdy od nej dedi tri properties. len jedna z nich sa tyka parametrov - skus nastavit parameter prikazu pred jeho spustenim (pred zavolanim metody Execute()).
So say we all!

ghostdog_sk

trosku mam problem...

v triede Save mam definovany List<string> do tohto zoznamu sa budu ukladat prikazy, takze ked sa nejaky prikaz uspesne vykona potrebujem dostat napr. string "vychod" do tohto zoznamu ale nemozem to tam dostat...ako na to skusal som ((Save)game).hist.Add("vychod"); ale hlasi ze to nemozem takto pretypovat...prosim poradte...thx

piton

No tazko pretypujes game na Save, ked ta tvoja hist je typu Save, tak by to mohlo vyzerat tak nejak: ((Game)game).hist.tu vloz nazov premennej List<string>.Add("vychod");
"Iba život, ktorý žijeme pre ostatných, stojí za to." - Albert Einstein

Aniy

počujte, kde sú a kedy začínajú pondelňajšie cviká s mirekom?


Patto

Quote from: Aniy on  01.05.2009, 04:49:14
počujte, kde sú a kedy začínajú pondelňajšie cviká s mirekom?

tak 7:30 mas rano v PC1 je to tusim

piton

"Iba život, ktorý žijeme pre ostatných, stojí za to." - Albert Einstein

drtic

Ako by sa dalo rozsirit abstraktnu triedu AItem o nejake definicie funkcii?

piton

nijako :) jedine ze by si ukecal binasa ;-) ale mozes si v kazdom iteme spravit vlastne metody, a pretypovanim sa k nim vies dostat
"Iba život, ktorý žijeme pre ostatných, stojí za to." - Albert Einstein

mirek

Quote from: piton on  01.05.2009, 20:46:32
nijako :) jedine ze by si ukecal binasa ;-) ale mozes si v kazdom iteme spravit vlastne metody, a pretypovanim sa k nim vies dostat

s binasom je to tazko. ale rozsirit sa vlastne triedy daju presne tak, ako si napisal - samotna trieda je predsa vasa implementacia a co si do nej vlozite, je len na vas.
So say we all!

mirek

Quote from: Aniy on  01.05.2009, 04:49:14
počujte, kde sú a kedy začínajú pondelňajšie cviká s mirekom?

tusim je toto jeho rozvrh pondelkovy:

7:30 pc1
9:10 pc1
10:50 b515
12:30 b515
15:10 b515
So say we all!

Aniy

Quote from: mirek on  01.05.2009, 21:39:38
Quote from: Aniy on  01.05.2009, 04:49:14
počujte, kde sú a kedy začínajú pondelňajšie cviká s mirekom?

tusim je toto jeho rozvrh pondelkovy:

7:30 pc1
9:10 pc1
10:50 b515
12:30 b515
15:10 b515
kujem pekne


Hezechiel

Pardon ze budem riesit veci ktore uz mali byt davno zriesene, ale nikdy neje neskoro.
tak ako mam vyriesit AddItem, GetItem, remove item u mna to vyzera takto         public void AddItem(AItem item)
        {
            predmetyVmiestnosti.Add(item);
        }
        public AItem GetItem(string name)
        {
            foreach (AItem item in predmetyVmiestnosti)
            {
                if (item.Name == name) return item;
            }
            return null;
        }
        public void RemoveItem(AItem item)
        {
            predmetyVmiestnosti.Remove(item);
        }

ale pri vkladani predmetov do miestnosti D.AddItem(items.Key); mi pise ze tento typ sa neda vlozit..
Never argue with idiots. They'll drag you down to their level, then beat you with experience. (GILAMONSTER)
I miss WoW so much :(

Agamemnon

hmm... to je asi tým, že sa pokúšaš vopchať string tam, kde má byť AItem :) čo tak čítať výpisy z kompilera?
All code is crap.

42

radix

skus

AItem key = new Key();
D.AddItem(key);

Hezechiel

Tak ja som cital vypisi z kompilera a aj viem co odomna chcelo ale ked neviem syntax tak ho neviem, zatial som to zriesil takto D.AddItem(new items.Key())
Never argue with idiots. They'll drag you down to their level, then beat you with experience. (GILAMONSTER)
I miss WoW so much :(

Dudusa

ludia ako funguje ten Doxygen? ja som z toho jelen  :(
Setrite vodu, pite pivo!

Agamemnon

ak máš komentovaný kód tak ako treba - či už doxygenovským spôsobom, alebo aj xml komentáre .net, tak potom spustíš doxygen, vyberieš si tam z ktorých kódov chceš generovať dokumentáciu, do akého tvaru, v akom jazyku a pod. a potom to už len spustíš... a vytvorí ti to dokumentáciu podľa kódu...
All code is crap.

42

Hezechiel

Chcem si otestovat triedu vytvorenim instancie ale vypisuje chybu "Object reference not set to instance of an object." neviete scim je problem? myslim ze z vytvaranim backpacku public void Play()
        {
            CreateRooms();
            new Backpack(1);
            CurrentRoom.Show();
        }
Never argue with idiots. They'll drag you down to their level, then beat you with experience. (GILAMONSTER)
I miss WoW so much :(

Agamemnon

current room máš nastavené? čo máš v create rooms - nemáš tam prístup ku nejakému objektu, ktorý nie je inštanciovaný predtým?
toto sa najlepšie rieši pomocou debuggera, ktorý ti zobrazuje hodnoty premenný oi... dobrá pomôcka, skús ho, odporúčam...
All code is crap.

42