Anonymní profil Woodbin – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Woodbin – Programujte.comAnonymní profil Woodbin – Programujte.com

 

Příspěvky odeslané z IP adresy 89.102.42.–

Java › číselný array přidání hodnoty
22. 11. 2011   #150316

Pokud vím, tak ten tvůj array je jen list, a ten není dynamický. Tudíž nelze měnit jeho velikost (a tím pádem jej rozšiřovat.). Zkus použít ArrayList.

Mohlo by to vypadat třeba nějak takhle:

ArrayList<Integer> seznam = new ArrayList<Integer>()

for (int i =0; i<10; i++){
	seznam.add(new int(1))
	}
Java › Načítání textury hází NullPo…
9. 11. 2011   #149749
Java › Načítání textury hází NullPo…
6. 11. 2011   #149643

Tak /res/p.png jsem zkusil přidat do projektu, pořád to vyhazuje tohle:

Sun Nov 06 20:18:02 CET 2011 INFO:Use Java PNG Loader = true
Exception in thread "main" java.lang.NullPointerException
	at def.Draw.loadTexture(Draw.java:88)
	at def.Draw.start(Draw.java:34)
	at def.Main.main(Main.java:11)
Java › Projekt - rada jaký?
6. 11. 2011   #149639

Já jsem si dělal game of life, v přepočtu mi to i s vymýšlením a debugem zabralo asi 6 hodin, s grafikou to pracuje, vlákna tam jsou taky, jen práce se soubory tam není plně implementována (ale napsal jsem pro to třídu, takže by stačilo dosadit volání metod.) Kdyžtak mohu poskytnout zdroják, je i s javadocem.

Java › Načítání textury hází NullPo…
6. 11. 2011   #149637

Dobrý den. Začal jsem programovat hru, používám LWJGL. Mám problém s načítáním textury. Toto:

try {
		-->     log.getPlayer().setTex(TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("/res/p.png"))) ;
			textury.add(log.getPlayer().getTex());
		} catch (IOException e) {
			e.printStackTrace();
		}

Hází na označeném řádku nullpointerexception.

log je logika hry; getPlayer vrací objekt hráč; setTex nastavuje pro hráče texturu.

Syntax by měla být správná, psal jsem podle předlohy. Zkoušel jsem jestli je cesta zadaná správně, zkoušel jsem různé cesty, leč nic nepomohlo. Nenapadá někoho proč by to mohlo být? Kdyžtak můžu poskytnout zdroják projektu. Předem děkuji.

Hry › Split-screen hry
22. 10. 2011   #148993

Tunneler :) toho jsme se tak napařili... Je to sice starý (DOS) a má to asi 24kb, ale na návykovosti a zábavnosti to tomu cůbec neubírá.

A z lierovek stopro Gusanos. Je to nejlepší klon, jen si to chce trošku pohrát, stoprocentně nainstalovat Promode a stáhnout nějaký mapy.

Java › Vlákna v Game of Life
16. 10. 2011   #148706

#6 zlz
Tak jsem to vyřešil, díky za radu :) Vytvářím nové vlákno při každém kliknutí, pokud už předchozí vlákno umřelo.

 Kód tlačítka:

public void mousePressed(MouseEvent e) {
					if(t.isAlive()==true&&shut==false){
						shut();						
					}if(t.isAlive()==false){
						try {
							start();
							newThread();
							t.start();
						} 
						catch (IllegalThreadStateException ex) {
						// TODO Auto-generated catch block
						ex.printStackTrace();
					}					
				}

 Kód vlákna:

	public void run() {
		int i = 0;
		while(shut==false){
			if(i==0){
				grid.update();
				vykresliBunky(jPanel.getGraphics(),grid);
				i=1;
			}
			else{
				i=0;
			}						
		}	
	}

Pomocné metody shut(); start(); newThread():

public void shut(){
		shut = true;
	}
	
public void start(){		
		shut = false;		
	}

public void newThread(){
		t = new Thread(this);
	}

Moc děkuji všem za pomoc! :)

Java › Vlákna v Game of Life
14. 10. 2011   #148652

Tak jsem zase tady pro radu. Nedaří se mi znovuspustit kód ve vláknu. Spustit a zastavit ho jde, ale když ho chci pustit znovu, nic to nedělá (ale jinak program funguje dál, jde iterovat, přepínat buňky...). Můj pokus vypadá takhle: OBSAH VLÁKNA:  

int i = 0;
  while(true){
    if(shut==false){
     if(i==0){
      grid.update();
      vykresliBunky(jPanel.getGraphics(),grid);
      i=1;
     }
     else{
      i=0;
     }    
    }
     
  }

MOUSELISTENER V TOGGLEBUTTONU  

 public void mousePressed(MouseEvent e) {   if(t.isAlive()==true&&shut==true){
      start();
     }
     if(t.isAlive()==true&&shut==false){
      shut();
     }
     if(t.isAlive()==false){
      try {
       t.start();
      }
      catch (IllegalThreadStateException ex) {
      // TODO Auto-generated catch block
      ex.printStackTrace();
     }

Metody shut() a start() jen mění hodnotu boolean shut Nenapadá někoho co by tam mohlo být špatně? Jestli to zas není nějaká drobnost :) Jinak na linku výš je aktuální verze projektu kdyby jste se chtěli podívat.

Java › Vlákna v Game of Life
13. 10. 2011   #148598

Moc děkuju za radu, funguje to :) Ještě musím nějak vyřešit to znovuspouštění. Napadlo mě zastavit vlákno a poté jej znovu spustit, ale metody stop() apod jsou vyřazené. Co zatím zkouším mi ovšem nejde. Kdyžtak ještě napíšu o radu .

Woodbin
Java › Vlákna v Game of Life
12. 10. 2011   #148573
Woodbin
Java › Vlákna v Game of Life
12. 10. 2011   #148572

Ahoj, nejsem úplně začátečník, ale jsem samouk.
Udělal jsem si jednoduchou Game of Life. Sestává se ze čtyř tříd
Main - hlavní třída, vytvoří instance gridu a okna
GridLogic - logika, obsahuje dvourozměrné pole s buňkami, počítá další generace buňěk apod.
GameWindow - okno hry
Cell - třída buňky

Chci udělat plynulé generování generací a vykreslování. V okně mám tlačítko (togglebutton). Potřebuji, aby se generovalo a vykreslovalo, dokud je tlačítko spuštěno (toggleButton.isEnabled()).

Vlákno jsem implementoval do třídy GameWindow
Rozeběhne se to, nevím ovšem, jak vlákno zastavit, pokud už tlačítko sepnuté není.


Projekt(děláno v Eclipse) je zde http://woodbins.ic.cz/asdf/MyGameOfLife.rar je v tom i javadoc s většinou potřebných informací, je tam i nějakej ten pokus o zastavování, leč bezúspěšný. Snažil jsem se dodržet konvence pro psaní, s výjimkou GameWindow, kde jsem se nehrabal ve vygenerovaném kódu z windowbuilderu

Předem děkuju za pomoc :)

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý