Author Topic: OOP Binasove skupiny  (Read 31658 times)

buco2424

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: OOP Binasove skupiny
« Reply #25 on: 28.11.2012, 03: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?

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: OOP Binasove skupiny
« Reply #26 on: 28.11.2012, 05:30:27 »
Quote
v 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

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: OOP Binasove skupiny
« Reply #27 on: 28.11.2012, 12:44:42 »
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

  • Sr. Member
  • ****
  • Posts: 288
    • View Profile
Re: OOP Binasove skupiny
« Reply #28 on: 01.12.2012, 19:41:25 »
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 -
Code: [Select]
LargeBackpack key = new LargeBackpack();a tak uz len pridam key do batohu a odstranim ho zo sveta.
Code: [Select]
key.add(this)odstranenie itemu zo sveta ide v pohode len v batohu mi ho neukaze....ci nejak inak to treba??  :)

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: OOP Binasove skupiny
« Reply #29 on: 01.12.2012, 22:12:30 »
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):

Code: [Select]
Player player = world.GetPlayer();
if (player.Intersects(this)) {
  Backpack backpack = player.GetBackpack();
  backpack.Add(this);
  world.Remove(this);
}
All code is crap.

42

nimrod

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: OOP Binasove skupiny
« Reply #30 on: 07.12.2012, 22:09:02 »
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

  • Moderator
  • Hero Member
  • *****
  • Posts: 1060
  • Fortes fortuna adiuvat
    • View Profile
Re: OOP Binasove skupiny
« Reply #31 on: 07.12.2012, 22:12:15 »
« Last Edit: 07.12.2012, 22:25:04 by Tren »

nimrod

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: OOP Binasove skupiny
« Reply #32 on: 07.12.2012, 22:48:44 »
dakujem  :) , jednak za clanok a tiez za opravu.
« Last Edit: 07.12.2012, 23:05:41 by nimrod »

ugru

  • Newbie
  • *
  • Posts: 36
    • View Profile
Re: OOP Binasove skupiny
« Reply #33 on: 08.12.2012, 00:54:14 »
skusal som vytvorit spustitelný .jar subor, no nejak mi to nechce spustat. v netbeanse mi vypise nieco taketo..

Quote
Note: ***\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..

Quote
Microsoft 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

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: OOP Binasove skupiny
« Reply #34 on: 08.12.2012, 03: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?

Tren

  • Moderator
  • Hero Member
  • *****
  • Posts: 1060
  • Fortes fortuna adiuvat
    • View Profile
Re: OOP Binasove skupiny
« Reply #35 on: 08.12.2012, 06:37:09 »
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

  • Moderator
  • Hero Member
  • *****
  • Posts: 1060
  • Fortes fortuna adiuvat
    • View Profile
Re: OOP Binasove skupiny
« Reply #36 on: 08.12.2012, 18:52:14 »
skusal som vytvorit spustitelný .jar subor, no nejak mi to nechce spustat. v netbeanse mi vypise nieco taketo..

Quote
Note: ***\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..

Quote
Microsoft 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

  • Sr. Member
  • ****
  • Posts: 288
    • View Profile
Re: OOP Binasove skupiny
« Reply #37 on: 08.12.2012, 20:58:03 »
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
Code: [Select]
for (Iterator<framework.Actor> it = getWorld().iterator(); it.hasNext();) {
            Actor actor = (Actor) it.next();

alebo
Code: [Select]
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

  • Moderator
  • Hero Member
  • *****
  • Posts: 1060
  • Fortes fortuna adiuvat
    • View Profile
Re: OOP Binasove skupiny
« Reply #38 on: 08.12.2012, 21: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  :)

Sanchez

  • Newbie
  • *
  • Posts: 19
    • View Profile
Re: OOP Binasove skupiny
« Reply #39 on: 08.12.2012, 23:05:46 »
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

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: OOP Binasove skupiny
« Reply #40 on: 09.12.2012, 03:49:18 »
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

  • Newbie
  • *
  • Posts: 19
    • View Profile
Re: OOP Binasove skupiny
« Reply #41 on: 09.12.2012, 04:22:37 »
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

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: OOP Binasove skupiny
« Reply #42 on: 09.12.2012, 04: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.

Tren

  • Moderator
  • Hero Member
  • *****
  • Posts: 1060
  • Fortes fortuna adiuvat
    • View Profile
Re: OOP Binasove skupiny
« Reply #43 on: 09.12.2012, 06:35:23 »
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

  • Sr. Member
  • ****
  • Posts: 288
    • View Profile
Re: OOP Binasove skupiny
« Reply #44 on: 09.12.2012, 07:51:31 »
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:
Code: [Select]
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

  • Hero Member
  • *****
  • Posts: 1093
    • View Profile
Re: OOP Binasove skupiny
« Reply #45 on: 09.12.2012, 16:38:14 »
skus for(actor.Actor actor: getWorld()){

pravdepodobne tam mas naimportovanu nespravnu triedu


karamel je cukr co se uz neuzdravi!

m@tej

  • Sr. Member
  • ****
  • Posts: 288
    • View Profile
Re: OOP Binasove skupiny
« Reply #46 on: 09.12.2012, 17:31:23 »
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

  • Hero Member
  • *****
  • Posts: 1093
    • View Profile
Re: OOP Binasove skupiny
« Reply #47 on: 09.12.2012, 17:44:29 »
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

  • Sr. Member
  • ****
  • Posts: 288
    • View Profile
Re: OOP Binasove skupiny
« Reply #48 on: 09.12.2012, 19:20:07 »
jednonducho to musi splnat typ ktory je v required, pozri si v akom package-i presne je

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

pindiq

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: OOP Binasove skupiny
« Reply #49 on: 09.12.2012, 21:53:41 »
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