[Java] Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche neu !

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Schniefer, 7. November 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 7. November 2007
    Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche neu !

    Brauche dringend Hilfe bei folgenden Aufgaben. Die Programmierfreakz unter euch werdens sicher packen, die Ergebnisse könnt ihr mir per PN schicken oder auch hier reinstellen. Ich hab mir auch schonmal überlegt, ob ich hier jede Woche 'n paar Aufgaben reinstelle, um die Programmierer in Java hier im Forum mal 'n bissel zu fordern. Natürlich helfen mir eure Lösungen auch weiter. ;)
    Also los gehts:

    [Aufgabe 4.1]

    Betrachten Sie die Zauberkugel unter
    http://www-lehre.inf.uos.de/~ainf/2007/Uebung/Blatt4/kugel.swf . Schreiben Sie ein Java-Programm, welches die Zauberkugel nachahmt. Geben Sie dazu eine Tabelle mit den Zahlwerten von 00 bis 99 aus. Ordnen Sie jedem Zahlwert zufällig einen Großbuchstaben zu. Sie erhalten mit dem Aufruf double zahl = Math.random(); eine Zufallszahl aus dem halboffenen Intervall {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img1.gif}
    . Multiplizieren die Zufallszahl mit dem Wert 26. Das Ergebnis casten Sie zu einem int, so dass Sie einen ganzahligen Wert aus dem Intervall [0,25] erhalten. Mit diesem Wert können Sie den Buchstaben ermitteln.
    Nachdem die Tabelle ausgegeben wurde, wartet das Programm (z.B. mit IO.readString();), bis der Benutzer den für seine Zahl passenden Buchstaben gefunden hat. Ist das der Fall, betätigt der Benutzer die Returntaste und der passende Buchstabe wird ausgegeben.
    Damit das Spiel funktioniert, muss allen Vielfachen von 9 der gleiche Buchstabe zugeordnet werden, der bei Programmstart ebenfalls per Zufall bestimmt wird.
    Achten Sie auf eine geeignete Benutzerführung.

    [4.2]

    Ein magisches Quadrat ist eine quadratische Beispiel für {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img2.gif}
    : 8 1 6 Anordnung natürlicher Zahlen, wobei die 4 9 2 Summe der Zahlen in jeder Zeile und in 3 5 7 jeder Spalte gleich ist.
    Schreiben Sie ein Java-Programm, das eine ungerade ganze positive Zahl {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img3.gif}
    einliest und dann ein magisches Quadrat der Größe {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img4.gif}
    berechnet und ausgibt, das mit den positiven ganzen Zahlen von {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img5.gif}
    bis {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img6.gif}
    gefüllt ist.
    Füllen Sie das Quadrat, indem Sie die Zahl 1 in die Mitte der obersten Reihe setzen. Setzen Sie die Zahl {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img7.gif}
    eine Zeile über die Zahl {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img8.gif}
    , wenn {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img8.gif}
    durch {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img4.gif}
    teilbar ist. Sonst setzen Sie {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img7.gif}
    eine Zeile unter {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img8.gif}
    in die Spalte rechts von {bild-down: http://www-lehre.inf.uos.de/%7Eainf/2007/Aufgaben/Blatt4/blatt/img8.gif}
    . Falls Sie dabei das Quadrat verlassen, betreten Sie es auf der gegenüberliegenden Seite wieder (s. Beispiel).




    [Aufgabe 4.3]



    Game of Life von John Conway Eine Population von Sternchen (oder sonstigen fiktiven Lebewesen) lebt in einer schachbrettartigen Welt. Jedes Sternchen belegt ein Feld und lebt dort ortsfest, Doppelbelegung eines Feldes ist ausgeschlossen. Die Population entwickelt sich in diskreten Entwicklungsschritten (Zeitpunkten, z.B. Jahren) wie folgt weiter:
    • Ein Sternchen, das 0 oder 1 Nachbarn hat, stirbt beim Übergang zum nächsten Jahr an Vereinsamung.
    • Ein Sternchen, das 4 oder mehr Nachbarn hat, stirbt beim Übergang zum nächsten Jahr an Überbevölkerung.
    • Auf einem leeren Feld, das genau drei Nachbarn hat, entsteht durch Fortpflanzung beim Übergang zum nächsten Jahr ein neues Sternchen.
    Schreiben Sie ein Java-Programm, das ein char-Array mit einer gegebenen Anfangspopulation über eine vom Benutzer anzugebende Zahl von Jahren weiterentwickelt und die Population in jedem Jahr als Matrix von Sternchen ausgibt. Beachten Sie, dass die neue Population anhand der Daten der Population im vorhergehenden Zeitpunkt berechnet werden muss. Die neuen Daten dürfen also die alten Daten nicht oder nicht sofort überschreiben. Das Problem der Nachbarn der Randfelder kann man elegant umgehen, indem man die Welt der Sternchen mit einem Rand versieht. Die Matrix wird also an allen Seiten um ein Feld erweitert, und diese außerhalb der Welt liegenden Felder z.B. mit einem # besetzt. Die Berechnung der Population läuft natürlich nur über die inneren Felder, d.h. über die Felder der Welt. Bei der Ausgabe kann der Rand mit ausgegeben werden.
    Unter Linux können Sie den Bildschirm vor jeder neuen Ausgabe löschen. Dazu können Sie folgende Anweisung verwenden: IO.println((char)27 + "[2J");
    Damit eine Ausgabe nicht sofort überschrieben wird, können Sie das Programm kurz warten lassen, indem Sie folgende Anweisung verwenden: IO.wait(1000); Dadurch wird eine Sekunde gewartet, bis das Programm weiterarbeitet.




    Um die IO. Befehle auszuführen müsst ihr folgende Datei (.jar) runterladen und in Java installieren:
    http://www-lehre.inf.uos.de/~ainf/2007/Packages/AlgoTools.jar

    Viel Spaß und frohes Schaffen ! =)
     

  2. Anzeige
  3. #2 7. November 2007
    AW: Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche ne

    Ich finde die magische Kugel sehr sehr geil.
    Würde mal gerne wissen wie genau die funktioniert :)

    // edit

    Alles klar, ich weiss bescheid und bin grad dabei es mit JAVA nachzuprogrammieren, voll simpel xD
    werd mein ergebnis heute abend oder morgen ich denke mal als applet reinstellen ;) easy going :p
     
  4. #3 7. November 2007
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
  5. #4 7. November 2007
    AW: Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche ne

    Habs auch mal mit 4.1 versucht.

    Das GUI is net soo gut geworden, aber es funzt ;)

    Download offline!
     
  6. #5 7. November 2007
    AW: Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche ne

    Macht ihr hier zufällig seine Hausaufgaben oder so? :p
     
  7. #6 7. November 2007
    AW: Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche ne

    Und wenn schon, ich hatte da voll Spass dran^^
     
  8. #7 8. November 2007
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche ne

    hi @ all,

    ich finde das auch eine klasse sache und wenn es hausaufgaben sind ... wayn


    aber es wäre sinnvoll, wenn du deinen quelltext mit den java-klassen hast. denn mit der jar und den class-dateien kann ich nichts anfangen. würde gerne dein programm erweitern!!! ;)

    nice day!!! :D
     
  9. #8 8. November 2007
    AW: Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche neu !

    Da ich jetzt schon einige PMs gekriegt habe, die denn quellcode wollen, hier ist er:

    Download offline!
     
  10. #9 8. November 2007
    AW: Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche ne

    Okay ich poste meinen auch mal, habe nur eine Klasse verwendet:

    Frubar Paste

    ich finde meinen Quelltext wesentlich übersichtlicher xD
     
  11. #10 8. November 2007
    AW: Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche ne

    Ich hab ne "Klick-Gui" =)

    Dann wird das immer unübersichtlich

    MfG
     
  12. #11 10. November 2007
    AW: Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche neu !

    Hey...
    Ist zwar wunderbar, dass ihr alle motiviert seid und gerne an derartigen Problemen arbeitet, aaaaaber: Diese Aufgaben sind nicht einfach nur Hausaufgaben, sondern Teil eines wöchentlichen Testates mit anschließender Bewertung. Und zwar an der Uni Osnabrück, Vorlesung Algorithmen. Die Intention des Autors erscheint mir als fragwürdig... es ist nicht deine Leistung die letztendlich benotet wird und wer ein bisschen googelt, findet auch schnell deine Identität heraus. Ob das den anderen gegenüber jetzt fair ist, ist noch eine ganz andere Frage.
     
  13. #12 10. November 2007
    AW: Für Programmierfreakz (magische Zauberkugel, Game of Life) ~ Java - jede Woche neu !

    * Sinn vom Thread suchen
    * realisieren, dass Hausaufgaben selbst gemacht werden sollten
    * Thread abschotten

    :D

    dicht
     

  14. Videos zum Thema
Die Seite wird geladen...
Similar Threads - Java Programmierfreakz magische
  1. Antworten:
    0
    Aufrufe:
    3.559
  2. Antworten:
    6
    Aufrufe:
    2.798
  3. Antworten:
    2
    Aufrufe:
    863
  4. Antworten:
    4
    Aufrufe:
    462
  5. Antworten:
    0
    Aufrufe:
    865