Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.10.11
Prihlásený: 29.12.20
Príspevky: 284
Témy: 96
Bydlisko: Dlhé nad Ci...
Príspevok NapísalOffline : 29.11.2015 15:22

Robím jedno zadanie, a neviem si už rady. Zbieram diamanty v jednej 2D hre, ale môžem ich zbierať iba po jednom, vysvetlenie :D :
Class MagicLand
Kód:
    private Diamond diamond;
    private Diamond diamond1;
    private Diamond diamond2;
      diamond = new Diamond();
      diamond.setPosition(50,25);
      world.addActor(diamond);

      diamond1 = new Diamond();
      diamond1.setPosition(200,25);
      world.addActor(diamond1);

      diamond2 = new Diamond();
      diamond2.setPosition(300,25);
      world.addActor(diamond2);

Je to len jej časť samozrejme. Vytvorím tam diamant dám mu pozíciu a vložím ho do worldu.
Class dizzy
Kód:
private Actor diamond;
for (Actor diamond : getWorld()) {
  if (diamond instanceof Diamond) {
     this.diamond = diamond;
  }
}

World v sebe obsahuje list všetkých "Actorov", ktorých som pridal, čiže aj všetky diamanty. Tento cyklus vezme každého actora a checkne, či je to diamant (instanceof Diamond) ak áno, tak ho vloží do mojej premennej diamond v Class dizzy.
Potom v class dizzy pracujem s diamantom, keď je dizzy v blízkosti a stlacim enter tak zmizne diamant a nieco sa stane (to je nepodstatne co) Problém je v tom, že stále je v tej premennej (dizzy) diamond uložený len jeden diamant a to je zle, lebo stále je tam náhodný diamant (no nie uplne nahodny) A ja keď k diamantu pridem s dizzym a dam enter tak sa nič nestane, lebo tam je prave iny diamant a suradnice dizziho sa neprekrivaju s diamantom, hoci sa mozno prekrivaju s (class Magicland) diamantom1 /diamantom2....

Nejaké nápady ako to vyriešiť? rozmýšľal som nad pridávanim diamantov do nejakeho poľa napr. ale ako ich do toho pola dávať? To si musím v Dizzy vytvorit tolko premennych, ktolko ich je v MagicWorlde? To mi pride take divne riesenie a aj tak by bol problém s tým forom, ktorý priraduje diamanty.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 29.11.2015 16:00

Nepochopil som tomu úplne, ale áno, určite si musíš všetky diamanty uložiť do poľa a iného, než sú hráči (to je ten dizzy?).
Takže vo Worlde máš pole hráčov a pole diamantov. A kontrola je potom jednoduchá - porovnanie každý hráč s každým diamantom cez dva vnorené cykly.
Ak chceš vedieť presne, ktoré diamany boli zobrané ktorým hráčom, tak aj hráč má v sebe pole diamantov, ktoré je na začiatku prázdne.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.10.11
Prihlásený: 29.12.20
Príspevky: 284
Témy: 96
Bydlisko: Dlhé nad Ci...
Príspevok Napísal autor témyOffline : 29.11.2015 16:23

Už asi viem ako na to, ale otázka dĺžku poľa musím na začiatku poznať nie je nejaká údajová štruktúra, ktorá by na to bola lepšia ako obyč. pole? Najlepšie taká, ktorá už je v jave spravená a si len zavolám metódy.
Vo worlde sú všetky objekty(aj hráč aj diamanty,vytahy...). Diamanty vyberám tak, že sa vezme objekt(z worldu) xxxx instanceof Diamond. To zistí, či to je objekt vytvorený z class Diamond a ak áno tak mi ho dá do premennej v Hráčovy (dizzy) a potom už porovnávam súradnice dizztho a diamantu (a ďalšie podmienky). Jednoducho potrebujem referencie na tie diamanty dostat do Dizzy, aby som ich porovnaval s dizzym.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 29.11.2015 16:29

Java List https://docs.oracle.com/javase/7/docs/api/java/util/List.html

A ešte jedna vec - instanceof je hovadina, nepoužívaj to. Ako som písal, sprav si pole diamantov, pole hráčov a trebárs pole objektov (dynamických/statických), ktoré tvoria mapu. Na všetko využívaj dedičnosť a polymorfizmus. S tým ti žiadne instanceof netreba.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.10.11
Prihlásený: 29.12.20
Príspevky: 284
Témy: 96
Bydlisko: Dlhé nad Ci...
Príspevok Napísal autor témyOffline : 29.11.2015 16:38

Bohuzial World uz som dostal vyvorený a musím s ním pracovat, to bol moj prvy napad si spravit vo worlde metodu na vracanie diamantov :D


Odpovedať na tému [ Príspevkov: 5 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Java + OpenGL - bakalárska práca

v Assembler, C, C++, Pascal, Java

0

292

01.10.2014 12:03

Svolo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Java - Praca s databazou SQL

v Assembler, C, C++, Pascal, Java

4

553

26.11.2012 1:18

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PC zostava 2000€ práca s videom, programovanie, práca v photoshope atď...

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PC zostavy

37

1802

25.01.2017 9:44

Xaltotun Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. dobre java navody a nova tema JAVA

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Assembler, C, C++, Pascal, Java

35

5440

09.03.2009 17:14

tlacitko Enter Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rozdiel medzi Java Standard a Java EE

v Assembler, C, C++, Pascal, Java

1

844

02.04.2014 12:41

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. JAVA - java.lang.NullPointerException

v Assembler, C, C++, Pascal, Java

1

1084

04.01.2010 17:05

emigrate Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Praca

v Ponuka práce

0

1557

09.06.2008 13:41

Jurdo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Praca zahranicie

v Ekonomika, práca, biznis, podnikanie a peniaze

20

1836

21.01.2011 7:49

vladopt Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Práca RAM

v Pamäte

1

326

02.12.2012 2:30

AdrianVAIO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Bakalarska práca

v Vzdelanie, štúdium, škola

0

309

26.10.2020 11:23

DanielH Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. c++ praca

v Assembler, C, C++, Pascal, Java

8

994

11.07.2011 14:35

marian_r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. J2ME Práca

v Ponuka práce

0

587

02.02.2012 13:32

exet Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. praca - neplnoletost

v Ostatné

3

651

16.04.2009 17:51

tomxi Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. Programator praca

v Assembler, C, C++, Pascal, Java

16

1777

21.01.2014 19:52

ac.milan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. praca svideom

v Video programy

3

642

04.08.2008 19:30

Mandy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Práca pilota

v Ekonomika, práca, biznis, podnikanie a peniaze

15

3179

18.04.2011 7:02

Jarkou Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra