Beiträge von Cheefkoch

    Kannst du bitte "Drehbar" ein wenig präzisieren?

    - 4 Ansichten (Nordosten, Südosten, Südwesten und Nordwesten)
    - 360° "drehbar" Horizontal
    - "Kartenblock" den man in alle Richtungen drehen kann (etwa so wie sich Enderkristalle bewegen).

    wird es ein Labyrinth als Würfel sein ?

    Könnte man machen, beduetet einfach mehr Aufwand beim Vorbereiten des events. Die Umsetzung überlasse ich primär Sura (wobei man sicher nen netten Generator basteln könnte um das erstellen der Map erheblich zu erleichtern -> müsst ich mit ihm noch besprechen).

    Ist es für dich ok, wenn ich einige Passagen ( nicht alles nur etwas ) für meine Bauwerke entwickle um diese vielschichtiger zu machen ?

    Meinst du damit, dass du die Schichten für dein Globus Projekt benutzen willst? Von mir aus gerne ^^ Die "Idee" ist ja mit dem Veröffentlichen des Vorschlags "öffentlich" gemacht worden und ist nicht Urheberrechtlich geschützt :D

    Heyho

    Event "Reise zum Mittelpunkt der Erde

    Man versucht zum Mittelpunkt der "Erde" zu gelangen indem man sich durch ein Labyrinth buddelt, das Labyrinth selbst besteht aus verschiedenen Blöcken welche nur mit entsprechendem Werkzeug abgebaut werden kann. Um an das Werkzeug zu kommen, müssen zuerst Schatztruhen gefunden oder Monster besiegt werden.

    Teilnehmerzahl: 2-40 Leute in 2-4 Teams (Mapgrösse muss angepasst werden)
    Typ: Abbau-Event, PvE

    Aufbau/Ablauf: DIe Map ist ein Flaches Labyrinth (oder 3D Hügel) welches mit Farbigen Blöcken und Hohlräumen/Schatzkammern gespickt ist. Die Buddelgebiete der Teams sind voneinander getrennt, nur der Mittelpunkt ist allen Teams zugänglich (oder mehrere Mittelpunkte). Die Blöcke müssen natürlich so ausgelegt sein damit man sich auch zum Kern Buddeln kann. Hier eine grobe Skizze mit meinen tollen Paint-Skills:

    In diesem Fall starten die Teilnehmer am unteren Rand vom Bild und können nur Grüne Blöcke abbauen. Die Weissen Blöcke sind Hohlräume (optional) und die Schwarzen Blöcke unzerstörbar. Sie müssten sich zu 1 Buddeln und dort ein Monster besiegen/schatztruhe Looten um Braune Blöcke abbauen zu können. Dann weiter zu 2 (Rote Blöcke abbaubar), dann 3 (Orange + Gelbe Blöcke Abbaubar) und wer 4 als erstes erreicht hat gewonnen. Natürlich kann man in die Hohlräume auch mit Monstern/Schatztruhen packen um mehr Abwechslung reinzubringen, die "Haupttruhen/Räume" (1-4) sind jedoch relevant.

    Die Farben können so gewählt werden dass sie den Teilnehmern Helfen, hier zB. deuten die Gelben Blöcke darauf, dass man sich dem Ziel nähert (optional).

    ps. Mir ist bewusst dass manch ein Pixelzähler auf der Skizze erkennt, dass die Map so nicht machbar wäre :D

    Nachtrag: Die Abgebauten blöcke könnte man gegen TNT tauschen (2stack = 1 TNT) um gewaltsam zum Mittelpunkt zu kommen, dauert halt einfach länger bis man genug Blöcke gesammelt hat.

    Also das Blu-Ray laufwerk kann ich dir abraten weil:
    1. Blu-Ray Filme haben einenn "netten DRM". D.h. man kann sie nur bedingt abspielen, da Free- sowie kostenpflichtige Software nötig ist und bei mir nur bei ca jeder 3. Disc funktionierte (Universal ging nie, WB Studios manchmal).
    2. In meinem Umfeld hatte nur 1 weitere Person ebenfalls ein Blu-Ray Laufwerk, also macht ess nicht wirklich sinn Daten auf eine entsprechende Disc zu brennen.
    3. Selbst als Backup ist es nur bedingt geeignet, zB. wenn man nur von Laufwerken booten kann (Das Booten mit generischen USB/BUS-Treibern wurde nicht unterstützt).

    Was auch gut funktioniert -> Fertig System Komponenten rausschreiben, diese selber bestellen + zusammenbauen ^^

    Die Labels ändern sich ja nicht, kannste die nicht auch aufs JFrame auslagern?
    Falls ja könntest du, weil nur noch Buttons im Panel sind, mit Panel.getcomponents() die Ganzen Buttons auf einmal holen und leicht durchiterieren.

    Code
    for(JButton button : JPanel.getComponents()){     //Dostuff}

    oder einfach checken obs n Button oder ein Label ist und nur bei Buttons ausführen

    Code
    for(Component C : JPanel.getComponents()){
       if(C.getClass() == JButton){ 
           //Dostuff
       }
    }

    Könnt auch sein dass es C.getComponent() ist ^^ Aber das Prinzip sollte verständlich sein.

    nebenbei bemerkt: JButton.getName() liefert NICHT den namen, der bei der deklaration verwendet wurde, man muss zuerst über .setName("name") einen namen zuweisen. tut man das nicht, liefert .getName() "null" zurück.

    nice 2 know ^^ Da hab ich mich vertan (sorry).

    mir ist nicht ganz klar was du damit sagen willst, "JButton.setToolTipText("text")" geht nämlich. die betreffende methode ist laut javadoc von JComponent geerbt.

    Was ich sagen wollte war: Es gibt keine möglichkeit die Tooltip Eigenschaft beim erzeugen der Instanz direkt zu setzen. Natürlich kann man die den Tooltip mit der entsprechenden Methode setzen wenn die Klasse diese Eigenschaft + Methode besitzt, ich ging nur davon aus dass du sie gleich beim Instanziieren/erzeugen setzen willst. (Im Sinne von JButton A1 = new JButton(Name = A1, Tooltip = "A1", Grösse = 40 usw);


    ps. Deine If-Sortierung ist für manche Programmierer ein Dorn im Auge, da Code möglichst universal einsetzbar sein sollte und nicht durch hinzufügen eines einzelnen Komponenten unbrauchbar wird.

    Wenn man die Java-Docs vom JButton anschaut sieht man sofort, dass kein Konstruktor mit Tooltip existiert -> nicht möglich. Man könnte ne Wrapper Klasse für den Button schreiben, welche eine solche instanzierung beinhaltet.

    Ansonsten empfehle ich dir deine Buttons mit (meinem Lieblingen den) For-Schlaufen zu "Tooltippen"

    Code
    string[] horizontal = {"A","B","C","D","E","F","G","H"};int[] vertical = {1,2,3,4,5,6,7,8};int i = 0;for(JButton b : Buttons){    b.setTooltipText = string.Format("%s%d", horizontal[i % 8], vertical[i / 8]);    i++;}


    Wobei Buttons deine JButtons aufm Spielfeld sind (Liste, Panel Children oder whatever).


    ps. +1 Person die zu Faul ist die Docs zu lesen :D


    Kleiner Edit/Nachtrag

    Wenn deine JButtons schon so heissen we der Tooltip sollte auch

    Code
    for(JButton b : JButtons){
        b.setTooltipText = b.getName();
    }

    funktionieren.

    - Zusätzliche Warppunkte (nicht nur 1 Zugang zur einer Stadt, Stadt muss natürlich ne gewisse Grösse erreicht haben)
    - Stadteweiter Effekt (zB. Eile)
    - Spezielle Städtedeko (Zb Pixelart, Statue usw)
    - PvE Arena/Dungeon (müsste aber wohl individuell gebaut werden ^^ könnte dauern)
    - Tierzucht (zB. 1x pro Woche kann ein Tier für die Stadt gespawnt werden -> man muss nicht Spawneier kaufen)
    - Dorfbewoher

    (Vielleicht kommt mir später noch mehr in den Sinn ^^)