mercredi 3 juin 2015

GameOfLive

Hallo liebe Community ich möchte die Simulation Game Of Live programmieren und bräuchte zur
Berechnung der neuen Zustände meiner Zellen und deren Nachbarn passende Methoden.

Könntet ihr mir bitte einen Denkanstoß geben? komme irgendwie bei dieser Berechnung nicht weiter.

Java Code:

  1. public class GameOfLife {
  2.  
  3. private int n, w;
  4. private int anzahlSchritte;
  5.  
  6. private Zelle[][] zellen;
  7. private EinUndAusgabe ea;
  8. private Interaktionsbrett ib;
  9.  
  10. public GameOfLife(){
  11. ea = new EinUndAusgabe();
  12. ib = new Interaktionsbrett();
  13. ea.ausgeben("Feldgröße n (>0): ");
  14. n = ea.leseInteger();
  15. ea.ausgeben("Wahrscheinlichkeit w (0-100): ");
  16. w = ea.leseInteger();
  17. zellen = new Zelle[n][n];
  18. for(int i = 0; i< n; i++){
  19. for(int j = 0; j< n; j++){
  20. zellen[i][j] = new Zelle(j, i, getZufaelligenZustand(), this);
  21. }
  22. }
  23. darstellen();
  24. do{
  25. ea.ausgeben("Anzahl Schritte (>0): ");
  26. anzahlSchritte = ea.leseInteger();
  27. for(int i = 0; i < anzahlSchritte; i++){
  28. setNeueZustaende();
  29. ib.pause(40);
  30. darstellen();
  31. }
  32. }while(anzahlSchritte > 0);
  33. }
  34. public void darstellen(){
  35. ib.abwischen();
  36. for (int i = 0; i < n; i++){
  37. for(int j = 0; j < n; j++){
  38. zellen[i][j].darstellen();
  39. }
  40. }
  41. }
  42. public Interaktionsbrett getIb(){
  43. return ib;
  44. }
  45.  
  46. private Zelle.Zustand getZufaelligenZustand() {
  47. if(ea.zufall(1, 100) <= w){
  48. return Zelle.Zustand.bewohnt;
  49. }else{
  50. return Zelle.Zustand.unbewohnt;
  51. }
  52. }
  53.  
  54. private void setNeueZustaende() {
  55. }
  56.  
  57. private int getAnzahlBewohnterNachbarn(int zeile, int spalte) {
  58. return nBewohnt;
  59. }
  60. }


GameOfLive

0 commentaires:

Enregistrer un commentaire