Grüße euch Alle,
ich habe vor 3 Wochen angefangen mit Programmieren und mich für Java entschieden.
Jetzt habe ich es endlich geschafft einen simplen Dungeon-Generator zu schreiben bei dem ich am Anfang alles in Textform ausgegeben habe Z.b # = Wand, 0 = Leere Fläche und so weiter.
Dann habe ich mir eine etwas schönere Lösung zusammen geschustert mit ImageIcons das Problem ist, ab einer bestimmten Dungeongröße passt der Dungeon nicht mehr in das JfFrame.
Nun stelle ich mich wirklich zu blöd an, dem Ganzen einen einfachen Scrollbalken zu veprassen und hoffe das ihr helfen könnt.
Hier der Code für die Ausgabe.
Hier ist das Ergebnis des Generators.

ich habe vor 3 Wochen angefangen mit Programmieren und mich für Java entschieden.
Jetzt habe ich es endlich geschafft einen simplen Dungeon-Generator zu schreiben bei dem ich am Anfang alles in Textform ausgegeben habe Z.b # = Wand, 0 = Leere Fläche und so weiter.
Dann habe ich mir eine etwas schönere Lösung zusammen geschustert mit ImageIcons das Problem ist, ab einer bestimmten Dungeongröße passt der Dungeon nicht mehr in das JfFrame.
Nun stelle ich mich wirklich zu blöd an, dem Ganzen einen einfachen Scrollbalken zu veprassen und hoffe das ihr helfen könnt.
Hier der Code für die Ausgabe.
Code:
package dungeongenrator;
import java.awt.Dimension;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class output {
private static Icon[] bilder = { new ImageIcon("GFX/empty.png"),new ImageIcon("GFX/wand.png"), new ImageIcon("GFX/raum.png"), new ImageIcon("GFX/door.png"),new ImageIcon("GFX/1.png"),new ImageIcon("GFX/2.png"),new ImageIcon("GFX/3.png"),new ImageIcon("GFX/4.png")};;
public static void main(String args[]) {
output.fenster();
}
public static void fenster(){
int map[][] [] = MAP.dungeon;
short map_y = 300;
short map_x = 300;
int anzahl = map_y*map_x;
short zeilen = (short) (map_x-1);
short spalten = (short) (map_y-1);
int tile_x =0;
int tile_y =0;
// ################# Fenster wird erstellt #####################
JFrame f = new JFrame();
f.getContentPane().setPreferredSize(new Dimension(600, 600));
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.setResizable(true);
f.setLayout(null);
JLabel tile[] = new JLabel [anzahl];
MAP.dungeon[0][0][0] = 1;
anzahl--; // ??????????
//########################## Raum wird gezeichnet ##########################
while(zeilen>=0){
while(spalten>=0){
if(map[zeilen][spalten][0]==0){tile[anzahl] = new JLabel (bilder[0]);} //empty
if(map[zeilen][spalten][0]==1){tile[anzahl] = new JLabel (bilder[1]);} //wand
if(map[zeilen][spalten][0]==3){tile[anzahl] = new JLabel (bilder[2]);} //raum
if(map[zeilen][spalten][0]==4){tile[anzahl] = new JLabel (bilder[3]);} //tür
if(map[zeilen][spalten][0]==11){tile[anzahl] = new JLabel (bilder[4]);} //test1
if(map[zeilen][spalten][0]==12){tile[anzahl] = new JLabel (bilder[5]);} //test2
if(map[zeilen][spalten][0]==13){tile[anzahl] = new JLabel (bilder[6]);} //test3
if(map[zeilen][spalten][0]==14){tile[anzahl] = new JLabel (bilder[7]);} //test4
tile[anzahl].setBounds(tile_x,tile_y,2,2);
f.add(tile[anzahl]);
tile_x=tile_x+2;
anzahl--;
spalten--;
}
tile_x=0;
tile_y =tile_y+2;
spalten = (short) (map_y-1);
zeilen --;
}
f.repaint();
}
}
Hier ist das Ergebnis des Generators.

Zuletzt bearbeitet: