Hodnocení tématu:
  • 0 Hlas(ů) - 0 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
2048-3: Krok
#1
Zdravím,
mohl by mi někdo prosím vysvětlit, co znamená tento Error:

 ERROR: When calling "move_tiles([[8, 4, 4, 2], [8, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],"up")", the first output and the input board should be different objects, but they have the same identity.

zkoušel jsem tuto situaci vložit do simulátoru ručně a vše proběhlo bez problémů...
Předem děkuji za odpověď.
Odpovědět
#2
(11-20-2018, 07:17 PM)jonas.somora@seznam.cz Napsal(a):  Zdravím,
mohl by mi někdo prosím vysvětlit, co znamená tento Error:

 ERROR: When calling "move_tiles([[8, 4, 4, 2], [8, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],"up")", the first output and the input board should be different objects, but they have the same identity.

zkoušel jsem tuto situaci vložit do simulátoru ručně a vše proběhlo bez problémů...
Předem děkuji za odpověď.

Dobrý den.

Tato chyba znamená to, že funkce vrací stejný objekt (seznam seznamů), který dostala jako svůj argument, jen s pozměněným obsahem. Tím si zaděláváte na nečekané a těžko odhalitelné problémy v budoucnu.

Funkce by měla vracet NOVÝ objekt (seznam seznamů) s výsledným stavem hry, který je nezávislý na předaném původním stavu hry. Přesněji, nový stav je odvozený od starého, ale objekty reprezentující starý a nový stav by měly být nezávislé.

Petr Pošík
Odpovědět
#3
Dobrý den,

děkuji za objasnění, chyba opravena a snad jsem se i poučil...

Jonáš Somora
Odpovědět


Přejít na fórum:


Uživatel(é) prohlížející toto téma: 1 host(ů)