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

OOP Binasove skupiny

Started by nimrod, 17.11.2012, 00:23:49

« predchdzajce - alie »

buco2424

ja mam problem, ze ked pouzijem v AlienBreedActorFactory case "alien": return new Alien();
tak vypisuje Nullovy pointer
pri ostatnych ako key alebo ammo mi to funguje korektne

java.lang.NullPointerException
   at framework.SlickWorld.renderActors(SlickWorld.java:187)
   at framework.SlickWorld$SlickGame.render(SlickWorld.java:288)
   at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:681)
   at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:408)
   at framework.SlickWorld$SlickAppGameContainer.start(SlickWorld.java:239)
   at framework.SlickWorld.run(SlickWorld.java:148)
   at alien.Main.main(Main.java:19) // world.run()
v com moze byt chyba?

Agamemnon

Quotev com moze byt chyba?

v tom, že tam máš null a nie inštanciu v premennej... hľadaj, kde sa mala premenná nastaviť, a prečo sa asi nenastavila... použi debugger...

toto ti bez kódu fakt nikto neporadí...
All code is crap.

42

iren2118

Quote from: buco2424 on  28.11.2012, 04:01:32
ja mam problem, ze ked pouzijem v AlienBreedActorFactory case "alien": return new Alien();
tak vypisuje Nullovy pointer
pri ostatnych ako key alebo ammo mi to funguje korektne

java.lang.NullPointerException
   at framework.SlickWorld.renderActors(SlickWorld.java:187)
   at framework.SlickWorld$SlickGame.render(SlickWorld.java:288)
   at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:681)
   at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:408)
   at framework.SlickWorld$SlickAppGameContainer.start(SlickWorld.java:239)
   at framework.SlickWorld.run(SlickWorld.java:148)
   at alien.Main.main(Main.java:19) // world.run()
v com moze byt chyba?
aspon konstruktor aliena tu hod...

m@tej

Ahojte,
v 9. cviku, v kroku 2.3 mame implementovat metodu act(). ziskat instanciu hraca, pridat key do batohu a odstranit ho zo sveta. vytvorim novy key -
LargeBackpack key = new LargeBackpack();
a tak uz len pridam key do batohu a odstranim ho zo sveta. key.add(this)
odstranenie itemu zo sveta ide v pohode len v batohu mi ho neukaze....ci nejak inak to treba??  :)

Agamemnon

to robíš nejak opačne, nie?

zadanie je:
Quote
Implementujte metódu act() v triede Key nasledovne:
získajte inštanciu hráča
ak sa pozícia kľúča prekrýva s pozíciou hráča, pridajte predmet do batohu a odoberte predmet zo sveta

máš key triedy Key... v nej máš act()... v tom urobíš niečo takéto (napíšem to v pseudojazyku):


Player player = world.GetPlayer();
if (player.Intersects(this)) {
  Backpack backpack = player.GetBackpack();
  backpack.Add(this);
  world.Remove(this);
}

All code is crap.

42

nimrod

Nazdar,


Úloha 2.3:
V triede vytvorte nový bezparametrický konštruktor ktorý nastaví animáciu s parametrami:

    obrázok animácie - "resources/images/player_die.png"
    výška animácie - 32
    šírka animácie - 32
    čas v milisekundách - 30

Úloha 2.4:
Preťažte konštruktor s dvoma parametrami typu int: x a y.
Konšturktor v tele vykoná dve operácie:

    zavolá bezparametrický konšturktor
    nastaví pozíciu volaním metódy setPosition()

----------------------------
nasleduju kody konstruktorov:

public DyingPlayer()
    {   dieAnimation = new Animation("resources/images/player_die.png", 32, 32, 30);       
    }
   
    public DyingPlayer(int x, int y)
    {   DyingPlayer();
        setPosition(x, y);       
    }

Co mam zle, ze na  riadku DyingPlayer(); mi pise chybu?

Tren

#31

nimrod

#32
dakujem  :) , jednak za clanok a tiez za opravu.

ugru

skusal som vytvorit spustitelný .jar subor, no nejak mi to nechce spustat. v netbeanse mi vypise nieco taketo..

QuoteNote: ***\AlienBreed\src\alien\actor\LargeBackpack.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

ked .jar spustam v prikazovom riadku tak hodi nieco take..

QuoteMicrosoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Všetky práva vyhradené.

***AlienBreed\dist\AlienBreed.jar"
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.libr
ary.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at org.lwjgl.Sys$1.run(Sys.java:73)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
        at org.lwjgl.Sys.loadLibrary(Sys.java:82)
        at org.lwjgl.Sys.<clinit>(Sys.java:99)
        at org.lwjgl.opengl.Display.<clinit>(Display.java:130)
        at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.newdawn.slick.AppGameContainer.<clinit>(AppGameContainer.java:36)

        at framework.SlickWorld.<init>(SlickWorld.java:40)
        at alien.Main.main(Main.java:21)


nimrod

Mam taky problem, ze ked vystrelim na aliena naraz vela nabojov naskoci mi ConcurrentModificationException. Nemate nejaky napad ako to osetrit konkretne pre tento pripad?

Tren

Quote from: nimrod on  08.12.2012, 04:35:31
Mam taky problem, ze ked vystrelim na aliena naraz vela nabojov naskoci mi ConcurrentModificationException. Nemate nejaky napad ako to osetrit konkretne pre tento pripad?
specifikuj blizsie co uz mas urobene za veci..zomiera ti alien? ci este nema zivot a len strielas donho..prechadzaju ti este cez neho strely?..ak ma zivot ako mas nastavenu podmienku na smrt..

Tren

Quote from: ugru on  08.12.2012, 01:54:14
skusal som vytvorit spustitelný .jar subor, no nejak mi to nechce spustat. v netbeanse mi vypise nieco taketo..

QuoteNote: ***\AlienBreed\src\alien\actor\LargeBackpack.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

ked .jar spustam v prikazovom riadku tak hodi nieco take..

QuoteMicrosoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Všetky práva vyhradené.

***AlienBreed\dist\AlienBreed.jar"
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.libr
ary.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at org.lwjgl.Sys$1.run(Sys.java:73)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
        at org.lwjgl.Sys.loadLibrary(Sys.java:82)
        at org.lwjgl.Sys.<clinit>(Sys.java:99)
        at org.lwjgl.opengl.Display.<clinit>(Display.java:130)
        at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.newdawn.slick.AppGameContainer.<clinit>(AppGameContainer.java:36)

        at framework.SlickWorld.<init>(SlickWorld.java:40)
        at alien.Main.main(Main.java:21)

nefunguje ani mne

m@tej

cawte, dosiel som na 11. cviko ulohu 3.7 a tam mame okrem ineho nieco take:
Poznámka:

Keďže rozhranie World implementuje rozhranie Iterable slúži ako zoznam všetkých Actor-ov v hre. Iterovať cez všetkých aktorov v hre môžete nasledovne:
for(Actor actor: getWorld()){
    ...
}

ked to tak napisem ako to je tak mi ten riadok podciarkne a vyhodi ze incompatible types........neviete v com moze byt problem?? :)

vyhodi mi potom dva moznosti bud
for (Iterator<framework.Actor> it = getWorld().iterator(); it.hasNext();) {
            Actor actor = (Actor) it.next();


alebo for (Iterator<framework.Actor> it = getWorld().iterator(); it.hasNext();) {
            framework.Actor actor = it.next();


mozem nechat jednu z tych moznosti ci co mam spravit aby mi isto to prve jak to mame spravit s tym for(Actor actor: getWorld()){ ... }???

Tren

ten for v scnaroch je dobre.. potrebujes ho..nasledne mas pouzit 2 podmienky ktore sa pisu v scenaroch..ci je to typ Alien ..(nastuduj si toto http://www.java2s.com/Tutorial/Java/0060__Operators/TheinstanceofKeyword.htm ) a dalej ci sa prekryva..intersect poznas uz..tak ho implementuj..odobrat ho zo sveta problem nebude..a energiu mu znizit..nadtym sa treba zamysliet..Alien je akeho typu a ake metody su pren pristupne/nepristupne.. a ako docielit to co chceme  :)

Sanchez

Quote from: nimrod on  08.12.2012, 04:35:31
Mam taky problem, ze ked vystrelim na aliena naraz vela nabojov naskoci mi ConcurrentModificationException. Nemate nejaky napad ako to osetrit konkretne pre tento pripad?

skus na konci cyklu pridat break;   ;)  a daj vediet, ci pomohlo  :)

nimrod

Quote from: Sanchez on  09.12.2012, 00:05:46
Quote from: nimrod on  08.12.2012, 04:35:31
Mam taky problem, ze ked vystrelim na aliena naraz vela nabojov naskoci mi ConcurrentModificationException. Nemate nejaky napad ako to osetrit konkretne pre tento pripad?

skus na konci cyklu pridat break;   ;)  a daj vediet, ci pomohlo  :)

Pomohlo! :) Vdaka.

Sanchez

Quote from: nimrod on  09.12.2012, 04:49:18
Quote from: Sanchez on  09.12.2012, 00:05:46
Quote from: nimrod on  08.12.2012, 04:35:31
Mam taky problem, ze ked vystrelim na aliena naraz vela nabojov naskoci mi ConcurrentModificationException. Nemate nejaky napad ako to osetrit konkretne pre tento pripad?

skus na konci cyklu pridat break;   ;)  a daj vediet, ci pomohlo  :)

Pomohlo! :) Vdaka.

Nz  ;) aj nabuduce, ked budem vediet   ;D

nimrod

Vdaka vam sa mi podarilo uplne vyriesit ten problem. Konecne ked vystrelim na aliena, tak naboj cez neho nepreleti a pri par zasahoch zmizne zo sveta.

Avsak, hned mam dalsi problem :D Player mi nechce prejst cez male dvere. Pravdepodobne jeho velkost je rovnaka sirka dveri. Nejake napady ako to odstranit? Mirek spominal na cviku, ze sa s tym stretneme a povedal ze mame nejako zmensit velkost plochy, ktoru zabera player. Skusal som zmensit velkost animacie, no animacia sa uplne pokazila.

Tren

Quote from: nimrod on  09.12.2012, 05:26:04
Vdaka vam sa mi podarilo uplne vyriesit ten problem. Konecne ked vystrelim na aliena, tak naboj cez neho nepreleti a pri par zasahoch zmizne zo sveta.

Avsak, hned mam dalsi problem :D Player mi nechce prejst cez male dvere. Pravdepodobne jeho velkost je rovnaka sirka dveri. Nejake napady ako to odstranit? Mirek spominal na cviku, ze sa s tym stretneme a povedal ze mame nejako zmensit velkost plochy, ktoru zabera player. Skusal som zmensit velkost animacie, no animacia sa uplne pokazila.
tak ked mu toto povies ze si zmensoval animaciu pri volani objektu tak neviem ci nechyti zachvat smiechu  :D .. treba sa asi pohrat s intersectom..wall..este som to neriesil, napisem neskor  :)

m@tej

Quote from: Tren on  08.12.2012, 22:49:02
ten for v scnaroch je dobre.. potrebujes ho..nasledne mas pouzit 2 podmienky ktore sa pisu v scenaroch..ci je to typ Alien ..(nastuduj si toto http://www.java2s.com/Tutorial/Java/0060__Operators/TheinstanceofKeyword.htm ) a dalej ci sa prekryva..intersect poznas uz..tak ho implementuj..odobrat ho zo sveta problem nebude..a energiu mu znizit..nadtym sa treba zamysliet..Alien je akeho typu a ake metody su pren pristupne/nepristupne.. a ako docielit to co chceme  :)


no to celkom chapem co tam mam spravit (ale diky za clanok, pekne nazorny), ale ja este len napisem toto: for(Actor actor: getWorld()){
}

a uz mi to cele podciarkne a ako chybova hlaska je ze:
incompatible types
required: alien actor.Actor
found: framework.Actor

skusal som to aj niekde inde dat ale stale toto vypisuje :/

tino8

skus for(actor.Actor actor: getWorld()){

pravdepodobne tam mas naimportovanu nespravnu triedu


karamel je cukr co se uz neuzdravi!

m@tej

Quote from: tino8 on  09.12.2012, 17:38:14
skus for(actor.Actor actor: getWorld()){

pravdepodobne tam mas naimportovanu nespravnu triedu

package actor does not exist..........no je to na nervy....netusim preco to neide ked asi kazdemu to funguje :)

tino8

jednonducho to musi splnat typ ktory je v required, pozri si v akom package-i presne je


karamel je cukr co se uz neuzdravi!

m@tej

Quote from: tino8 on  09.12.2012, 18:44:29
jednonducho to musi splnat typ ktory je v required, pozri si v akom package-i presne je

vdaka, musel som dat framework.Actor........

pindiq

Quote from: Tren on  09.12.2012, 07:35:23
Quote from: nimrod on  09.12.2012, 05:26:04
Vdaka vam sa mi podarilo uplne vyriesit ten problem. Konecne ked vystrelim na aliena, tak naboj cez neho nepreleti a pri par zasahoch zmizne zo sveta.

Avsak, hned mam dalsi problem :D Player mi nechce prejst cez male dvere. Pravdepodobne jeho velkost je rovnaka sirka dveri. Nejake napady ako to odstranit? Mirek spominal na cviku, ze sa s tym stretneme a povedal ze mame nejako zmensit velkost plochy, ktoru zabera player. Skusal som zmensit velkost animacie, no animacia sa uplne pokazila.
tak ked mu toto povies ze si zmensoval animaciu pri volani objektu tak neviem ci nechyti zachvat smiechu  :D .. treba sa asi pohrat s intersectom..wall..este som to neriesil, napisem neskor  :)

do intersectu s wall už my prístup nemáme,to by nám niekto musel sprístupniť knižnicu  br