Ga naar inhoud

[JAVA] Dobbelsteen


Aanbevolen berichten

Hallo mensen,

Ik wil deze code vandaag nog af hebben, zodat ik morgen met wat anders bezig kan.. Ik wil een dobbelsteen tekenen in Java.

Ik heb nu alles gereed, alleen heb ik het probleem dat de dobbelsteen niet altijd wordt weergeven. Als er iemand is die me nog kan helpen, zou dat mooi zijn.

import java.awt.*;                        // De eerste drie regels geven aan dat er gebruik moet worden gemaakt van
import java.applet.*;                    // de vooraf gedefineerde klassen uit de packages java.awt, java.applet
import java.awt.event.*;                // en java.awt.event


public class vb08_03 extends Applet implements ActionListener{ // Dit geeft de applet aan. De ActionListener wordt gebruikt omdat er een knop in zit. Deze 'luistert' de applet af om z'n taak te kunnen doen.
   Button knop;                        // Je voegt een nieuwe button (knop) toe met de naam 'knop'
   TextField tekstvak;                    // Je voegt een nieuw textfield (tekstveld) toe met de naam 'tekstvak'

   public void init(){                    // init() is een methode. Deze wordt als eerst geactiveerd, en dus wordt de code in deze methode ook als eerst uigevoerd.
       knop=new Button("Gooi");        // Hier wordt de knop in de applet aangemaakt en komt de teks 'Gooi' op de knop te staan.
       knop.addActionListener(this);    // Hier wordt een actionlistener toegevoegd aan de knop.
       tekstvak=new TextField(12);        // Het tekstveld wordt aangemaakt met een breedte van 12 karakters
       add(knop);                        // De knop wordt in de applet geplaatst
       add(tekstvak);                    // Het tekstveld wordt in de applet geplaatst
   }

   int worp(){                            // Hier wordt een integer (geheel getal) met de naam 'worp' aangemaakt
       double t;                        // Hier wordt een double (getal met komma) met de naam 't' aangemaakt
       int aantalOgen;                    // De integer 'aantalOgen' wordt aangemaakt
       t=Math.random();                // Math.random() is een manier om een willekeurig getal te laten kiezen door het programma
       t*=6;                            // 
       t+=1;                            //
       aantalOgen=(int)t;                // aantalOgen wordt omgezet naar de 't', wat een integer wordt
       return aantalOgen;                // Nu wordt er teruggegaan naar aantalOgen, die weer op nul staat, doordat 't' het getal heeft overgenomen
   }

   public void paint(Graphics g){                    // Dit is de methode om iets te tekenen.
       if(worp()==1){                                // Dobbelsteen 1 // Als worp() 1 is, dan moeten de onderstaande regels worden uitgevoerd
           g.setColor(Color.red);                    // Hier wordt een kleur gegeven. In dit geval rood
           g.fillRoundRect(50,50,100,100,20,20);    // Er wordt een vierkant met ronde hoeken getekend en gevuld. De linkerbovenhoek ligt om positie (50,50). De rechthoek is 100 bij 100 px groot en de hoeken worden afgerond. Dit vierkant wordt rood.
           g.setColor(Color.white);                // Hier wordt de kleur wit gegeven
           g.fillOval(95,95,10,10);                // Er wordt een rondje gemaakt op positie (95,95) met een diameter van 10px
       }
       if(worp()==2){                                // dobbelsteen 2
           g.setColor(Color.red);
           g.fillRoundRect(50,50,100,100,20,20);
           g.setColor(Color.white);
           g.fillOval(70,70,10,10);
           g.fillOval(120,120,10,10);
       }
       if(worp()==3){                                // dobeelsteen 3
           g.setColor(Color.red);
           g.fillRoundRect(50,50,100,100,20,20);
           g.setColor(Color.white);
           g.fillOval(70,70,10,10);
           g.fillOval(95,95,10,10);
           g.fillOval(120,120,10,10);
       }
       if(worp()==4){                                // dobbelsteen 4
           g.setColor(Color.red);
           g.fillRoundRect(50,50,100,100,20,20);
           g.setColor(Color.white);
           g.fillOval(70,70,10,10);
           g.fillOval(120,70,10,10);
           g.fillOval(70,120,10,10);
           g.fillOval(120,120,10,10);
       }
       if(worp()==5){                                // dobbelsteen 5
           g.setColor(Color.red);
           g.fillRoundRect(50,50,100,100,20,20);
           g.setColor(Color.white);
           g.fillOval(70,70,10,10);
           g.fillOval(120,70,10,10);
           g.fillOval(95,95,10,10);
           g.fillOval(70,120,10,10);
           g.fillOval(120,120,10,10);
       }
       if(worp()==6){                                // dobbelsteen 6
           g.setColor(Color.red);
           g.fillRoundRect(50,50,100,100,20,20);
           g.setColor(Color.white);
           g.fillOval(70,70,10,10);
           g.fillOval(120,70,10,10);
           g.fillOval(70,95,10,10);
           g.fillOval(120,95,10,10);
           g.fillOval(70,120,10,10);
           g.fillOval(120,120,10,10);
       }
   }                                // De methode paint wordt hier afgesloten.

   public void actionPerformed(ActionEvent e){    // Dit is de methode waar de knop in komt te staan. Deze methode zorgt ervoor dat de knop wat uit gaat voeren
       if(e.getSource()==knop){                // Als de knop 'knop' heet, dan moet er wat uitgevoerd worden
           worp();                                // Hier moet het commando worp() uitgevoerd worden. Dit is de int in de 'init'-methode
           repaint();                            // Er moet opnieuw getekend worden, namelijk de uitslag van de vorige regel
       }                            // Het if-statement wordt hier afgesloten
   }                                // Accolade die de methode actionPerformed() afsluit
}                                    // Afsluitende accolade

Lelijk man, hoe die code hier wordt weergegeven....

aangepast door Dippie
Link naar reactie
Delen op andere sites

  • 2 weken later...
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.