Jullie kennen allemaal wel dat spelletje dat je 21 lucifers hebt en dat je om de beurt 1,2 of 3 lucifers van het stapeltje moet pakken, degene die de laatste pakt heeft verloren. Dat moet ik namaken in java. Tot nu toe geen probleem, je kan 1,2 of 3 lucifers pakken en je kan ook niet in de - komen met de lucifers. Als tegenstander moet ik de computer hebben die dus via math.random () telkens een random aantal lucifers van de stapel af neemt. Elke keer als je zelf ingevoerd hebt hoeveel lucifers je wilt pakken gaat de computer direct door, dus als jij er 3 pakt en de computer 2 worden er in 1 keer 5 vanaf gehaald. Je kunt dus niet zien wie wat doet. Nu dacht ik dat op te kunnen lossen met sleep, nu wacht hij wel even, maar alsnog kan je niet zien wie wat pakt, er wordt dus nog steeds in 1x 5 lucifers vanaf gehaald.
Dit is dus mijn code, nu zullen jullie allemaal zeggen dat het op zoveel manieren korter kan, maar ik heb nog maar 4 weken les in java. Kunnen jullie mij misschien helpen hiermee?
code:
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
| package opdracht4;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/**
* <p>Title: opdracht 4f</p>
* <p>Description: Je gaat een spel voor 2 personen maken. Op tafel ligt een
* hoopje met 21 lucifers. Om beurten mogen de spelers 1, 2 of 3 lucifers
* wegnemen. Wie de laatste lucifer pakt heeft verloren. De ene speler ben
* je zelf en de andere is je programma dat met Math.random() het aantal
* lucifers bepaalt om weg te nemen. Laat de lucifers die nog over zijn
* telkens op het scherm zien. Aan het eind meldt het programma wie de
* winnaar is. </p>
* <p>Company: team 1 the Magic Circle </p>
* @author Michael van Kley I102
* @version 1.0
*/
public class opdracht4f extends Applet
{
Button ok;
TextField tekstvakje;
int paaltjes = 21, stokjes, compu;
double t;
public void init ()
{
setLayout ( null );
ok = new Button ("ok");
ok.addActionListener ( new OkHandler() );
ok.setBounds ( 200, 10, 20, 20 );
tekstvakje = new TextField (10);
tekstvakje.setBounds ( 100, 10, 40, 20 );
add ( ok );
add ( tekstvakje );
}
public void paint ( Graphics g )
{
g.drawString ( "" + paaltjes, 100, 100);
}
class OkHandler implements ActionListener
{
public void actionPerformed ( ActionEvent e )
{
String invoer = tekstvakje.getText ();
int stokjes = Integer.parseInt ( invoer );
if ( paaltjes >= 3 )
{
if(stokjes >=1)
{
if(stokjes <=3)
{
paaltjes -= stokjes;
repaint ();
try { Thread.sleep(500); }
catch(InterruptedException f) {}
}
}
}
else
{
if ( paaltjes == 2 )
{
if(stokjes >=1)
{
if(stokjes <=2)
{
paaltjes -= stokjes;
repaint ();
try { Thread.sleep(500); }
catch(InterruptedException f) {}
}
}
}
else
{
if ( paaltjes == 1 )
{
if(stokjes ==1)
{
paaltjes -= stokjes;
repaint ();
try { Thread.sleep(500); }
catch(InterruptedException f) {}
}
}
}
}
if ( paaltjes >= 3 )
{
compu = (int) ( 3* Math.random () + 1 );
paaltjes -= compu;
repaint ();
}
else
{
if ( paaltjes == 2 )
{
compu = (int) ( 2* Math.random () + 1 );
paaltjes -= compu;
repaint ();
}
else
{
if ( paaltjes == 1 )
{
paaltjes -= 1;
repaint ();
}
}
}
}
}
} |
Dit is dus mijn code, nu zullen jullie allemaal zeggen dat het op zoveel manieren korter kan, maar ik heb nog maar 4 weken les in java. Kunnen jullie mij misschien helpen hiermee?
Life is like spaghetti. It's hard until you make it. - Tommy Cash -