Author Topic: Objektove programovanie  (Read 154880 times)

psicho

  • VIP
  • Hero Member
  • *****
  • Posts: 3173
  • Markus[pSicho]Fesi
    • View Profile
    • codemazing
Re: Objektove programovanie
« Reply #425 on: 23.04.2009, 04:00:14 »
ze by to klucove slovicko bolo new?

stebou sa xem kamaratit !
read my blog> www.codemazing.com <read my blog

morrfun23

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Objektove programovanie
« Reply #426 on: 25.04.2009, 00:24:47 »
mam vytvorenu triedu Save a v nej metodu Execute

public TextGame.Core.GameState Execute(TextGame.Core.IGame game)
        {
            Stream stream = new FileStream("subor.bin", System.IO.FileMode.Create);
            IFormatter formatter = new BinaryFormatter();
            formatter.Serialize(stream, game);
            stream.Close();
            Console.WriteLine("Ulozene");
            return GameState.PLAYING;
        }
vyhadzuje mi vynimku SerializationException v zneni Type 'Cave_Prison.Game' in Assembly 'Cave_Prison, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
v com moze byt chyba?

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Objektove programovanie
« Reply #427 on: 25.04.2009, 00:36:52 »
presne v tom, čo to píše :) tú classu, ktorú chceš serializovať, musíš označiť, že je serializovateľná... robí sa to pridaním atribútu pred classu... atribút je v tomto prípade Serializable...
tj. bude to vyzerať takto:

Code: [Select]
[Serializable]
class MyClass {
    ...
}
All code is crap.

42

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Objektove programovanie
« Reply #428 on: 25.04.2009, 00:38:18 »
btw... nechcem veľmi rýpať, ale toto je základná chyba, navyše úplne samopopisná... aspoň takéto veci by mali byť v pohode zrozumiteľné všetkým... a ak aj nie, tak ak skopíruješ text výnimky do google, tak dostaneš presne popis, čo máš urobiť - v prípade takýchto chýb (a aj v prípade zložitejších)...
All code is crap.

42

morrfun23

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Objektove programovanie
« Reply #429 on: 25.04.2009, 00:55:33 »
to som urobil len potom nastal problem ze ono to chce odomna aby som serializoval triedu AItem a k nej sa uz nedostanem

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Objektove programovanie
« Reply #430 on: 25.04.2009, 01:12:29 »
potom to neserializuješ... resp. iba ak si napíšeš vlastný serializer, ale do toho by som nešiel...

EDIT: prípadne možno by mirek mohol urobiť update a to Serializable tam pridať.. nvm, záleží to na ňom
All code is crap.

42

morrfun23

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Objektove programovanie
« Reply #431 on: 25.04.2009, 01:22:16 »
ok skusim to urobit este nejak inak

piton

  • Hero Member
  • *****
  • Posts: 715
    • View Profile
Re: Objektove programovanie
« Reply #432 on: 25.04.2009, 01:27:44 »
Ja som sa tiez skusil vybrat touto cestou, ze serializovat Game, ale velmi rychlo ma to preslo :) Staci pouzit triedu History priamo od binasa, tam mas metodu sejv uz implementovanu ;-)
"Iba život, ktorý žijeme pre ostatných, stojí za to." - Albert Einstein

Patto

  • Sr. Member
  • ****
  • Posts: 380
    • View Profile
Re: Objektove programovanie
« Reply #433 on: 25.04.2009, 01:57:02 »
To robite podla navodu alebo len sami podla seba? Pretoze co viem, tak toto v cviceni Text Game V. - Command Representation nie je ... a do dalsieho cvika (Text Game VI. - Command Line History) sa neda dostat, pretoze pise, ze: "Akciu, ktorú požadujete môže vykonať iba člen skupiny user" ... ci sa mam akoze tam regnut niekde a uz to pôjde?

a inac v tom, ze ked pouzijem kluc na truhlicu, tak sa mi ma vytvorit celkom novy objekt otvorena truhlica a normalnu truhlicu odstranit alebo len premenovat nazov chest.Name? ... ja som si spravil novu tiredu openChest dufam ze takto to bolo myslene.
« Last Edit: 25.04.2009, 02:00:24 by Patto »

piton

  • Hero Member
  • *****
  • Posts: 715
    • View Profile
Re: Objektove programovanie
« Reply #434 on: 25.04.2009, 04:17:59 »
Novu triedu OpenChest treba, meno neprepisuj... No a za seba mozem povedat ze posledne tyzdne sa velmi neriadim tym navodom na wiki. Treba cim skor odovzdat :)
"Iba život, ktorý žijeme pre ostatných, stojí za to." - Albert Einstein

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektove programovanie
« Reply #435 on: 25.04.2009, 05:28:00 »
potom to neserializuješ... resp. iba ak si napíšeš vlastný serializer, ale do toho by som nešiel...

EDIT: prípadne možno by mirek mohol urobiť update a to Serializable tam pridať.. nvm, záleží to na ňom

ako piton pisal tutok nizsie - serializacia nespada do zadania - Save a Load je uz implementovany v triede History. ale silne natury sa do toho mozu samozrejme pustit... ak maju cas a chut...
So say we all!

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektove programovanie
« Reply #436 on: 25.04.2009, 05:29:24 »
Novu triedu OpenChest treba, meno neprepisuj... No a za seba mozem povedat ze posledne tyzdne sa velmi neriadim tym navodom na wiki. Treba cim skor odovzdat :)

nazov predmetu a jeho opis prepisat ani nie je mozne - toto zabezpecuje abstraktna trieda AItem - pristup ku menu a opisu je len cez property typu get.

a samozrejme - netreba cakat na to, kym sa nieco objavi na wiki. treba sa do toho pustit sam - mantinely v podobe kniznice k dispozicii mate...
So say we all!

piton

  • Hero Member
  • *****
  • Posts: 715
    • View Profile
Re: Objektove programovanie
« Reply #437 on: 25.04.2009, 05:39:19 »
No len tu metodu Load neviem pouzit, lebo uklada do toho zoznamu, ale zvonku k nemu nemam pristup... No ale to pokonzultujeme na cviku... :)
"Iba život, ktorý žijeme pre ostatných, stojí za to." - Albert Einstein

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Objektove programovanie
« Reply #438 on: 25.04.2009, 05:46:25 »
nazov predmetu a jeho opis prepisat ani nie je mozne - toto zabezpecuje abstraktna trieda AItem - pristup ku menu a opisu je len cez property typu get.

stavíme sa, že ho zmením? ;) ;D

sorry mirek, nedalo mi trochu nerýpnuť :)
All code is crap.

42

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektove programovanie
« Reply #439 on: 25.04.2009, 06:00:38 »
nazov predmetu a jeho opis prepisat ani nie je mozne - toto zabezpecuje abstraktna trieda AItem - pristup ku menu a opisu je len cez property typu get.

stavíme sa, že ho zmením? ;) ;D

sorry mirek, nedalo mi trochu nerýpnuť :)

nevytahuj tu podpasove techniky. o takychto veciach oni v ramci predmetu nemaju vediet.
So say we all!

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektove programovanie
« Reply #440 on: 25.04.2009, 06:02:02 »
No len tu metodu Load neviem pouzit, lebo uklada do toho zoznamu, ale zvonku k nemu nemam pristup... No ale to pokonzultujeme na cviku... :)

History je len o praci s historiou prikazov - nie o serializacii celeho stavu hry. to znamena, ze tie prikazy potrebujes znovu jeden za druhym interpretovat - cize vytvorit hru nanovo (inicializovat ju) a volat tusim metodu ProcessCommand( lineOfHistory )
So say we all!

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Objektove programovanie
« Reply #441 on: 25.04.2009, 06:18:02 »
:)
All code is crap.

42

drtic

  • Full Member
  • ***
  • Posts: 200
    • View Profile
Re: Objektove programovanie
« Reply #442 on: 25.04.2009, 16:31:44 »
Mozte mi vysvetlit preco v TextGameLibrary v rozhrani IRoom je definovana metoda setExits(IRoom north, IRoom south, IRoom east, IRoom west) v takomto tvare ?
Ako to implementovat? Preco su tie smery typu IRoom ?

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Objektove programovanie
« Reply #443 on: 25.04.2009, 17:17:28 »
lebo z každej miestnosti potrebuješ mať východy... tie nastavíš pomocou tejto metódy... postupne pomocou nej nastavíš server, juh, východ, západ - nastavuješ, aká miestnosť sa bude nachádzať v danom smere, preto IRoom...
All code is crap.

42

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektove programovanie
« Reply #444 on: 25.04.2009, 17:27:13 »
Mozte mi vysvetlit preco v TextGameLibrary v rozhrani IRoom je definovana metoda setExits(IRoom north, IRoom south, IRoom east, IRoom west) v takomto tvare ?
Ako to implementovat? Preco su tie smery typu IRoom ?


pretoze kniznica samotna nevie nic o tvojej triede Room alebo Location, aby tie parametre metody mohli byt prave tohto typu. ked ale povies, ze implementacia tvojej triedy reprezentujucej miestnost implementuje rozhranie IRoom, tak kazda z tvojich miestnosti moze byt typu IRoom. preto metoda SetExits() ma kazdy parameter typu IRoom a nie Room.
So say we all!

drtic

  • Full Member
  • ***
  • Posts: 200
    • View Profile
Re: Objektove programovanie
« Reply #445 on: 25.04.2009, 17:33:55 »
Ok, a ako urcim ze prave parameter je vychod? Je potrebne uviest vsetky parametre tej metody co su zadane v rozhrani?
« Last Edit: 25.04.2009, 17:38:00 by drtic »

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektove programovanie
« Reply #446 on: 25.04.2009, 17:37:07 »
Ok, a ako urcim ze prave parameter je vychod? Je potrebne uviest vsetky parametre tej metody co su zadane v rozhrani?

skus si este raz prejst cvicenie Text Game II. - Virtual World Representation - cast: trieda room a bod 8 je taky zahmleny navod, ako na to.
So say we all!

drtic

  • Full Member
  • ***
  • Posts: 200
    • View Profile
Re: Objektove programovanie
« Reply #447 on: 25.04.2009, 17:51:20 »
Aha cize do parametrov zadam uz konkretne vytvorene miestnosti, a ak v niektorom smere nieje exit tak null.

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektove programovanie
« Reply #448 on: 25.04.2009, 18:29:03 »
Aha cize do parametrov zadam uz konkretne vytvorene miestnosti, a ak v niektorom smere nieje exit tak null.

presne tak ;)
So say we all!

Trent

  • Newbie
  • *
  • Posts: 35
    • View Profile
Re: Objektove programovanie
« Reply #449 on: 25.04.2009, 18:38:57 »
Nechcem ťa súriť mirek, ale popravde bodlo by nahodiť (ak sa dá) všetky cviká naráz. Nech hru dokončím v takom tvare ako si "klient" žiada a na druhej strane môžem tam doplniť featury :)