Threads+Funktionen

Status
Nicht offen für weitere Antworten.

Xer0

Mitglied
Hi,

Es geht um folgendes: Für ein Multiplayer-Spiel hat jeder Spieler ein Thread. Wie kann ich die Variablen des Threads

spieler[123] ändern? Kann man wie in anderen Programmiersprachen funktionen aufrufen wie spieler[123]->setPos(8,9)?

Code:
      ExecutorService tpes = Executors.newCachedThreadPool();
      WorkerThread[] spieler = new WorkerThread[10];
      int result = start * end;
      out.write( result );
      for (int i = 0; i < 10; i++) {
          spieler[i] = new WorkerThread(i);
          tpes.execute(spieler[i]);
         }
      }

Abgesehen davon dass diese Funktion nichts mit dem Netzwerk zu tun hat: Ist diese methode ok?
 
B

Beni

Gast
Mit einem Punkt geht sowas:
Code:
spieler[123].setPos( 8,9);
 

Xer0

Mitglied
hmm danke für die schnelle antwort.

wenn ich in den thread
Code:
public void test {
	System.out.println("hey");
}

einfüge und dann spieler[123].test(); ausführe, geht es aber leide nicht. was mache ich falsch? brauche ich ein return? muss ich "public void" ändern?
 

PyroPi

Aktives Mitglied
Xer0 hat gesagt.:
Code:
public void test {
	System.out.println("hey");
}

Die runden Klammern fehlen:
Code:
public void test() {
	System.out.println("hey");
}
 

André Uhres

Top Contributor
Code:
...
            spieler[i].setPos(8,9);
...
    class WorkerThread implements Runnable{
...
        private int x, y;
        public void setPos(int x, int y){
            this.x = x;
            this.y = y;
        }
...
    }
...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben