diff --git a/cicaprojekt/Display.java b/cicaprojekt/Display.java index b179b79..8753a33 100644 --- a/cicaprojekt/Display.java +++ b/cicaprojekt/Display.java @@ -12,20 +12,44 @@ import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.swing.*; - +/** + * A játék megjelenítéséért felelős osztály. + */ public class Display extends JPanel{ + /** + * Az egyes rajzolandó elemeket tartalmazó lista. + */ private List visuals; + /** + * A játék háttérzenéje. + */ private Clip clip; + /** + * Az osztály konstruktora. Inicializáláskor nem látható + * a panel. + */ public Display() { visuals = new ArrayList<>(); setVisible(false); } + /** + * Egy új rajzolandó elem felvétele a listába. + * + * @param visual új elem + */ public void addVisual(Drawer visual) { visuals.add(visual); } + /** + * A rajzolandó elemek tényleges kirajzolása. A rajzvászon frissítése, + * a panel láthatóvá tétele. + * + * @throws IOException Ha nem találhatóak a képek. + * @see Drawer#draw() + */ public void drawVisuals() throws IOException { for(Drawer visual : visuals) visual.draw(); @@ -33,6 +57,10 @@ public class Display extends JPanel{ setVisible(true); } + /** + * A játék háttérzenéjének elindítása URL-ból. Amennyiben nem elérhető + * a zene, úgy azt egy felugró ablak formájában jelzi a felhasználónak. + */ public void startMusic() { try(AudioInputStream ais = AudioSystem.getAudioInputStream(new URL("http://users.hszk.bme.hu/~bb1376/tomboy.wav"))) { @@ -45,6 +73,9 @@ public class Display extends JPanel{ } } + /** + * A játék háttérzenéjének megállítása. + */ public void stopMusic() { try { clip.stop(); @@ -53,6 +84,12 @@ public class Display extends JPanel{ {} } + /** + * A rajzvászonra való rajzolása a képeknek. + * + * @param g egy Graphics objektum, amelyre + * a rajzolófüggvény meg van hívva + */ @Override protected void paintComponent(Graphics g) { super.paintComponent(g); @@ -60,6 +97,14 @@ public class Display extends JPanel{ g.drawImage(visual.getImage(), visual.getTileX() * 64, visual.getTileY() * 64, null); } + /** + * A kapott szakadék helyét a kapott mező veszi át a kapott helyen. + * + * @param gap kapott szakadék + * @param field kapott mező + * @param mapwidth kapott hely + * @see Control#ioErrorMessage() + */ public void gapMagic(Gap gap, Field field, int mapwidth) { try { visuals.set((gap.getY()*mapwidth)+gap.getX(), new FieldDrawer(field)); @@ -69,6 +114,12 @@ public class Display extends JPanel{ } } + /** + * A kapott értékekkel arányos méreteket állít be a térképnek. + * + * @param width kapott szélesség + * @param height kapott magasság + */ public void setMapSize(int width, int height) { Dimension dimension = new Dimension(width * 64, height * 64); setPreferredSize(dimension);