Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Vb08_03 extends Applet
implements ActionListener {
Button knop, knop2, knop3, resetknop;
TextField tekstvak1, tekstvak2, tekstvak3;
int worp1() {
double r;
int aantalOgen1;
r = Math.random();// willekeurig getal tussen 0 en 1
r *= 6; // vermigvuldigen met 6
r += 1; // 1 bij op tellen
aantalOgen1 = (int) r; //afkappen geheel getal
return aantalOgen1;
}
int worp2() {
double w;
int aantalOgen2;
w = Math.random();
w *= 6;
w += 1;
aantalOgen2 = (int) w;
return aantalOgen2;
}
int worp3() {
double t;
int aantalOgen3;
t = Math.random();
t *= 6;
t += 1;
aantalOgen3 = (int) t;
return aantalOgen3;
}
public void paint( Graphics g )
{
g.setColor( Color.red ); //dobbelstenen zijn rood
g.fillRoundRect( 450, 120, 100, 100, 30, 20 ); //dobbelsteen 1
g.fillRoundRect( 650, 120, 100, 100, 30, 20 ); //dobbelsteen 2
g.fillRoundRect( 850, 120, 100, 100, 30, 20 ); //dobbelsteen 3
{
if(worp1() == 1 || worp1() == 3 || worp1() == 5)
{
g.setColor( Color.green );
g.fillOval( 496, 163, 10, 10); //middenin
}
if(worp1() > 1)
{
g.setColor( Color.green );
g.fillOval( 518, 140, 10, 10); //rechtsboven
g.fillOval( 475, 187, 10, 10); //linksonder
}
if(worp1() > 3)
{
g.setColor( Color.green );
g.fillOval( 518, 187, 10, 10); //rechtsonder
g.fillOval( 475, 140, 10, 10); //linksboven
}
if(worp1() == 6)
{
g.setColor( Color.green );
g.fillOval( 475, 163, 10, 10); //linksmiddenin
g.fillOval( 518, 163, 10, 10); //rechtsmiddenin
}
}
}
public void init() {
setLayout( null ); // geen standaard layout
resetknop = new Button( "Reset");
resetknop.setBounds( 640, 50, 120, 30 );
resetknop.addActionListener( this );
add( resetknop );
knop = new Button ( "Werp dobbelsteen 1" );
knop.setBounds( 440, 250, 120, 30 );
knop.addActionListener( this );
add( knop );
knop2 = new Button ( "Werp dobbelsteen 2" );
knop2.setBounds( 640, 250, 120, 30 );
knop2.addActionListener( this );
add( knop2 );
knop3 = new Button ( "Werp dobbelsteen 3" );
knop3.setBounds( 840, 250, 120, 30 );
knop3.addActionListener( this );
add( knop3 );
tekstvak1 = new TextField( 12 );
tekstvak1.setBounds (440, 300, 120, 30 );
add( tekstvak1 );
tekstvak2 = new TextField ( 12 );
tekstvak2.setBounds ( 640, 300, 120, 30 );
add ( tekstvak2 );
tekstvak3 = new TextField (12 );
tekstvak3.setBounds ( 840, 300, 120, 30);
add ( tekstvak3 );
setBackground( Color.yellow );
}
public void actionPerformed( ActionEvent e ) {
if( e.getSource() == knop ) {
int aantalOgen1;
aantalOgen1 = worp1();
tekstvak1.setText( "Aantal ogen = " + aantalOgen1 );
}
if( e.getSource() == knop2 ) {
int aantalOgen2;
aantalOgen2 = worp2();
tekstvak2.setText( "Aantal ogen = " + aantalOgen2 );
}
if( e.getSource() == knop3 ) {
int aantalOgen3;
aantalOgen3 = worp3();
tekstvak3.setText( "Aantal ogen = " + aantalOgen3 );
}
if( e.getSource() == resetknop ) {
tekstvak1.setText( "Aantal ogen = " );
tekstvak2.setText( "Aantal ogen = " );
tekstvak3.setText( "Aantal ogen = " );
}
repaint();
}
}
public void paint(Graphics g)
{
if(worp == 1 || worp == 3 || worp == 5)
{
g.fillOval([B]xPos[/B], yPos, breedte, hoogte); // tekenopdracht die een stip tekent, behorende bij de knop waar zojuist is op
// gedrukt
}
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == knop1)
{
xPos = 120; // de x positie wordt zo aangepast dat de dobbelsteen op de juiste plek bij knop1 wordt getekend
}
import java.applet.*;
import java.util.Random;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class DrieDobbelstenen extends Applet implements ActionListener {
int worp;
JTextArea uitkomstVeld;
JButton werpKnop;
Random dobbelsteen = new Random();
JButton resetKnop;
public void init()
{
werpKnop = new JButton("Werp 3 dobbelstenen");
werpKnop.addActionListener(this);
add(werpKnop);
uitkomstVeld = new JTextArea(1,20);
add(uitkomstVeld);
resetKnop = new JButton("Reset");
resetKnop.addActionListener(this);
add(resetKnop);
}
public void paint(Graphics g)
{
super.paint(g);
uitkomstVeld.setText("");
g.drawRoundRect(100,100,50,50,20,20);
g.drawRoundRect(175,100,50,50,20,20);
g.drawRoundRect(250,100,50,50,20,20);
int index = 0;
int xPos1 = 120;
int xPos2 = 135;
int xPos3 = 105;
while(index < 3)
{
worp = bepaalWorp();
System.out.println(worp);
uitkomstVeld.append("worp nr" + (index + 1 ) + " was " + worp +", ");
if(worp == 1 || worp == 3 || worp == 5)
{
g.fillOval(xPos1, 120, 10, 10); //4
}
if(worp > 1)
{
g.fillOval(xPos2, 105, 10, 10); // 3
g.fillOval(xPos3, 135, 10, 10); // 5
}
if(worp > 3)
{
g.fillOval(xPos2, 135, 10, 10); // 7
g.fillOval(xPos3, 105, 10, 10); // 1
}
if(worp == 6) {
g.fillOval(xPos1, 105, 10, 10); // 2
g.fillOval(xPos1, 135, 10, 10); // 6
}
index++;
xPos1 +=75;
xPos2 +=75;
xPos3 +=75;
}
}
public int bepaalWorp()
{
return dobbelsteen.nextInt(6) + 1;
}
public void actionPerformed(ActionEvent e)
{
if( e.getSource() == resetKnop ) {
uitkomstVeld.setText( "Waarden gereset" );
}
{
repaint();
}
}
}
if(e.getSource() != resetKnop)
{
repaint();
}
dat ie alsnog tekent komt omdat de repaint() methode sowieso wordt uitgevoerd, of je nou op de resetknop drukt of op een andere.
zo is dat opgelost:
Code:if(e.getSource() != resetKnop) { repaint(); }
dat hij verkeerd tekent komt omdat er voor de stippen 3 verschillende x posities kunnen zijn. je moet dus ook 3 variabelen daarvoor aanmaken. als je eenmaal alle x posities in variabelen hebt opgeslagen, dan kan je er een vaste waarde bij gaan optellen, afhankelijk op welke knop er gedrukt wordt.
trouwens, is het de bedoeling dat er maar 1 dobbelsteen tegelijk gegooid wordt, of moet een eerder gegooide dobbelsteen blijven staan?
if(e.getSource() == resetKnop)
{
uitkomstveld.setText(" ");
index = 4; // mag ook iets anders zijn, als ie de herhaling maar niet gaat uitvoeren en dus niet tekent
}
index = 0;// dan doet ie het wel als je weer op de werpknop drukt
import java.applet.*;
import java.util.Random;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class DrieDobbelstenen extends Applet implements ActionListener {
int index = 0;
int worp;
JTextArea uitkomstVeld;
JButton werpKnop;
Random dobbelsteen = new Random();
JButton resetKnop;
public void init()
{
werpKnop = new JButton("Werp 3 dobbelstenen");
werpKnop.addActionListener(this);
add(werpKnop);
uitkomstVeld = new JTextArea(1,20);
add(uitkomstVeld);
resetKnop = new JButton("Reset");
resetKnop.addActionListener(this);
add(resetKnop);
setBackground( Color.yellow );
}
public void paint(Graphics g)
{
super.paint(g);
uitkomstVeld.setText("");
g.setColor(Color. white );
g.fillRoundRect(600,100,50,50,20,20);
g.fillRoundRect(675,100,50,50,20,20);
g.fillRoundRect(750,100,50,50,20,20);
int xPos1 = 620;
int xPos2 = 635;
int xPos3 = 605;
while(index < 3)
{
worp = bepaalWorp();
System.out.println(worp);
uitkomstVeld.append("worp nr" + (index + 1 ) + " was " + worp +", ");
if(worp == 1 || worp == 3 || worp == 5)
{
g.setColor(Color.black);
g.fillOval(xPos1, 120, 10, 10); //4
}
if(worp > 1)
{
g.setColor(Color.black);
g.fillOval(xPos2, 105, 10, 10); // 3
g.fillOval(xPos3, 135, 10, 10); // 5
}
if(worp > 3)
{
g.setColor(Color.black);
g.fillOval(xPos2, 135, 10, 10); // 7
g.fillOval(xPos3, 105, 10, 10); // 1
}
if(worp == 6)
{
g.setColor(Color.black);
g.fillOval(xPos1, 105, 10, 10); // 2
g.fillOval(xPos1, 135, 10, 10); // 6
}
index++;
xPos1 +=75;
xPos2 +=75;
xPos3 +=75;
index = 0;
}
}
public int bepaalWorp()
{
return dobbelsteen.nextInt(6) + 1;
}
public void actionPerformed(ActionEvent e)
{
if( e.getSource() == resetKnop ) {
uitkomstVeld.setText( "Waarden gereset" );
index = 4;
}
if(e.getSource() != resetKnop)
{
repaint();
}
}
}
import java.applet.*;
import java.util.Random;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class DrieDobbelstenen extends Applet implements ActionListener {
int index = 0;
int worp;
JTextArea uitkomstVeld;
JButton werpKnop;
Random dobbelsteen = new Random();
JButton resetKnop;
public void init()
{
werpKnop = new JButton("Werp 3 dobbelstenen");
werpKnop.addActionListener(this);
add(werpKnop);
uitkomstVeld = new JTextArea(1,20);
add(uitkomstVeld);
resetKnop = new JButton("Reset");
resetKnop.addActionListener(this);
add(resetKnop);
setBackground( Color.yellow );
}
public void paint(Graphics g)
{
super.paint(g);
uitkomstVeld.setText("");
g.setColor(Color. white );
g.fillRoundRect(600,100,50,50,20,20);
g.fillRoundRect(675,100,50,50,20,20);
g.fillRoundRect(750,100,50,50,20,20);
index = 0;
int xPos1 = 620;
int xPos2 = 635;
int xPos3 = 605;
while(index < 3)
{
worp = bepaalWorp();
System.out.println(worp);
uitkomstVeld.append("worp nr" + (index + 1 ) + " was " + worp +", ");
if(worp == 1 || worp == 3 || worp == 5)
{
g.setColor(Color.black);
g.fillOval(xPos1, 120, 10, 10); //4
}
if(worp > 1)
{
g.setColor(Color.black);
g.fillOval(xPos2, 105, 10, 10); // 3
g.fillOval(xPos3, 135, 10, 10); // 5
}
if(worp > 3)
{
g.setColor(Color.black);
g.fillOval(xPos2, 135, 10, 10); // 7
g.fillOval(xPos3, 105, 10, 10); // 1
}
if(worp == 6)
{
g.setColor(Color.black);
g.fillOval(xPos1, 105, 10, 10); // 2
g.fillOval(xPos1, 135, 10, 10); // 6
}
index++;
xPos1 +=75;
xPos2 +=75;
xPos3 +=75;
}
}
public int bepaalWorp()
{
return dobbelsteen.nextInt(6) + 1;
}
public void actionPerformed(ActionEvent e)
{
if( e.getSource() == resetKnop ) {
uitkomstVeld.setText( "Waarden gereset" );
index = 4;
}
if(e.getSource() != resetKnop)
{
repaint();
}
}
}
nee, een nieuwe die ik had geschreven, met 3 dobbelstenen, 3 knoppen en 3 tekstveldenHuh dezelfde als mij? En die van jou werkt wel? :|
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.