Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[java] Dobbelspel, action performed in public void paint?

Pagina: 1
Acties:
  • 252 views

  • Dennis1812
  • Registratie: Mei 2011
  • Nu online

Dennis1812

Amateur prutser

Topicstarter
Hoihoi,

Ik moet voor school een simpel dobbelspelletje maken, maar dit is zo lang geleden en ik weet niet meer hoe ik sommige functies moet gebruiken, de leraar snapt er zelf niets van. En in mijn boekje staat niet wat ik nodig heb op het moment, tevens leveren de eerste 5 pagina's van Google met verschillende zoekopdrachten niet het gewenste resultaat.
Eerst de code eens:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/**
 * @(#)spel.java
 *
 * spel Applet application
 *
 * @author
 * @version 1.00 2012/1/12
 */
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class dobbel extends Applet implements ActionListener
{
 Button gooiknop, eersteknop, tweedeknop, derdeknop,vierdeknop, totaalknop;
 TextField eerstetekstvak, tweedetekstvak, derdetekstvak, vierdetekstvak, totaaltekstvak;
 int aantalOgen, aantalOgen2, aantalOgen3;
 public void init()
 {
  setLayout( null );
  
  gooiknop = new Button ( "gooi" );
  gooiknop.setBounds ( 50, 10, 150, 30 );
  add ( gooiknop );
  gooiknop.addActionListener( this );
    
  eersteknop = new Button ( "1x" );
  eersteknop.setBounds ( 50, 60, 100, 20 );
  add ( eersteknop );
  eersteknop.addActionListener(this);
  
  tweedeknop = new Button ( "2x" );
  tweedeknop.setBounds ( 50, 90, 100, 20 );
  add ( tweedeknop );
  tweedeknop.addActionListener(this);
  
  derdeknop = new Button ( "3x" );
  derdeknop.setBounds ( 50, 120, 100, 20 );
  add ( derdeknop );
  derdeknop.addActionListener( this);
    
  vierdeknop = new Button ( "4x" );
  vierdeknop.setBounds (50, 150, 100, 20 );
  add ( vierdeknop );
  vierdeknop.addActionListener(this);
  
  totaalknop = new Button ( "Totaal" );
  totaalknop.setBounds ( 50, 200, 150, 30);
  add ( totaalknop );
  totaalknop.addActionListener(this);
  
  eerstetekstvak = new TextField ( 10 );
  eerstetekstvak.setBounds (160, 60, 100, 20);
  add( eerstetekstvak );
  
  tweedetekstvak = new TextField ( 10 );
  tweedetekstvak.setBounds ( 160, 90, 100, 20);
  add( tweedetekstvak );
  
  derdetekstvak = new TextField ( 10 );
  derdetekstvak.setBounds ( 160, 120, 100, 20);
  add ( derdetekstvak );
  
  vierdetekstvak = new TextField ( 10 );
  vierdetekstvak.setBounds ( 160, 150, 100, 20);
  add (vierdetekstvak);
  
  totaaltekstvak = new TextField ( 10 );
  totaaltekstvak.setBounds ( 210, 200, 50, 30);
  add ( totaaltekstvak );

 }
 public void paint(Graphics g)
  {
  g.drawRect ( 300, 10, 50, 50 );
  g.drawRect ( 360, 10, 50, 50 );
  g.drawRect ( 420, 10, 50, 50 );
  g.setColor( Color.black );    
    if( aantalOgen == 1 ){
    g.fillOval( 290, 5, 30, 30 );
    }
    else {
        repaint();
    }
    
    if( aantalOgen2 == 1)
    {
    g.fillOval( 365, 12, 20, 20 );
    }
    else {
        repaint();
    }
    
    
    if( aantalOgen3 == 1 ) {
        g.fillOval( 425, 14, 25, 25 );
    }
    else {
        repaint();
    }
    
    
    }
  
  
  

 public void actionPerformed( ActionEvent e )
 {
    if( e.getSource() == gooiknop ) {
        double t;
        int aantalOgen;
        t = Math.random();
        t *= 6;
        t += 1;
        aantalOgen = ( int) t;  
        repaint();
        
        int aantalOgen2;
        t = Math.random();
        t *= 6;
        t += 1;
        aantalOgen2 = (int ) t;
        repaint();
        
        int aantalOgen3;
        t = Math.random();
        t *= 6;
        t += 1;
        aantalOgen3 = (int) t;
        repaint();
        }
        
        if( aantalOgen == 1 ) {
            repaint();
        }
        if( aantalOgen2 == 1 ) {
            repaint();
        }
        if( aantalOgen3 == 1 ) {
            repaint();
        }
 }
}

Deze geeft geen enkele error, maar mijn probleem op het moment is dus, dat hij geen cirkeltjes tekent wanneer hij dat wel zou moeten, hij moet dus een cirkel tekenen op die coordinaten bij aantalOgen(2,3) 1 is, later ook voor 2, 3, 4, 5 en 6 maar wou er eerst 1tje werkend hebben.
Maar hij tekent nooit cirkels hoevaak ik ook op de button klik.
Weet iemand dus hier hoe ik een actie die ik in de actionPerformed aangeef in de public void paint kan laten uitvoeren?
Ik weet dat dit zeer basale kennis van Java is, en hier enkel pro's zitten, maar ik ben nog niet op dat niveau, en zal ook eerst dit moeten beheersen voor ik iets anders kan beheersen ervan :) Ik hoop dus dat mijn topic niet gesloten word omdat het 'te simpel' is voor jullie.

Volgens mijn dokter ben ik een heel zeldzaam geval. Deal with it.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Sorry, maar zo werkt 't hier niet.

Als je code post, post dan enkel relevante delen. Een lap code van 144 regels is dat duidelijk niet.
denikids schreef op zondag 15 januari 2012 @ 11:27:
Ik moet voor school een simpel dobbelspelletje maken, maar dit is zo lang geleden en ik weet niet meer hoe ik sommige functies moet gebruiken, de leraar snapt er zelf niets van. En in mijn boekje staat niet wat ik nodig heb op het moment, tevens leveren de eerste 5 pagina's van Google met verschillende zoekopdrachten niet het gewenste resultaat.
Grappig, want bij mij is de eerste hit op Java documentation alles wat ik nodig heb :? Of dit.
denikids schreef op zondag 15 januari 2012 @ 11:27:
Deze geeft geen enkele error, maar mijn probleem op het moment is dus, dat hij geen cirkeltjes tekent wanneer hij dat wel zou moeten, hij moet dus een cirkel tekenen op die coordinaten bij aantalOgen(2,3) 1 is, later ook voor 2, 3, 4, 5 en 6 maar wou er eerst 1tje werkend hebben.
En toen ben je aan 't debuggen geslagen (Debuggen: Hoe doe ik dat?) en toen kwam je tot de conclusie dat... ?
denikids schreef op zondag 15 januari 2012 @ 11:27:
Ik weet dat dit zeer basale kennis van Java is, en hier enkel pro's zitten, maar ik ben nog niet op dat niveau, en zal ook eerst dit moeten beheersen voor ik iets anders kan beheersen ervan :)
Als wij 't kunnen leren kun jij dat ook ;) Leren doe je echter niet door de oplossing kant-en-klaar op een zilveren presenteerblaadje aangereikt te krijgen maar door de stof te beheersen, je te verdiepen in de basis etc.
Give a man a fish and feed him for a day. Teach a man how to fish and feed him for a lifetime.
denikids schreef op zondag 15 januari 2012 @ 11:27:
Ik hoop dus dat mijn topic niet gesloten word omdat het 'te simpel' is voor jullie.
We sluiten nooit topics omdat ze te simpel zouden zijn; wél als er nergens iets van eigen inzet te bespeuren is en er een aantal andere zaken uit onze Quickstart ontbreken zoals dat je laat zien wát je gezocht/gevonden hebt en waarom dat volgens jou niet voldeed of niet werkt ;)

[edit]
Overigens grappig dat je dit wél allemaal lijkt te weten als 't in andermans topics gebeurt ;)
En we blijven onszelf natuurlijk niet herhalen ;)

[ Voor 6% gewijzigd door RobIII op 15-01-2012 12:34 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.