Het is gelukt... 1 bugje...
de eerste keer datje op Gok! drukt werkt hij niet
Pas vanaf poging 2 zie je resultaat
Code:
public class Hoofdstuk7 extends Applet {
String[] woordjes = { "aap", "stoel", "tafel", "computer", "voetbal"};
String invoerLetter, gekozenWoord, gekozenWoordTemp;
int kies, lengte;
int count = 0;
Label lblTijdelijk, lblJuisteLetters;
Button knopStartGok, knopRestart;
TextField invoervak;
public void init() {
knopStartGok = new Button ( " Start " );
knopStartGok.addActionListener ( new KnopStartGokHandler() );
knopRestart = new Button ( "restart" );
invoervak = new TextField ( " " );
invoervak.setEnabled( false );
lblJuisteLetters = new Label ( " " );
lblTijdelijk = new Label ( " " );
add ( knopStartGok );
add ( invoervak );
add ( lblTijdelijk );
add ( lblJuisteLetters );
}
public void startGalgje(){
knopStartGok.setLabel( "Gok nu!" );
kies = (int) ( 5 * Math.random());
gekozenWoord = woordjes[kies];
lengte = woordjes[kies].length();
if( lengte == 3 ){ gekozenWoord = "___"; }
if( lengte == 5 ){ gekozenWoord = "_____"; }
if( lengte == 7 ){ gekozenWoord = "_______"; }
if( lengte == 8 ){ gekozenWoord = "________"; }
gekozenWoordTemp = gekozenWoord;
invoervak.setEnabled( true );
lblTijdelijk.setText( " " + woordjes[kies] + " " + lengte );
lblJuisteLetters.setText( "" + gekozenWoord );
}
public void gokLetter(){
int i;
char invoerch = invoerLetter.charAt( 0 );
invoerLetter = invoervak.getText();
for (i = 0 ; i < lengte; i++ ){
char ch = woordjes[kies].charAt( i );
if( ch == invoerch ){
gekozenWoord = gekozenWoordTemp.substring(0, i) + ch + gekozenWoordTemp.substring(i + 1, lengte);
gekozenWoordTemp = gekozenWoord;
lblJuisteLetters.setText( "" + gekozenWoord );
repaint();
}
}
invoervak.setText("");
}
class KnopStartGokHandler implements ActionListener
{
public void actionPerformed( ActionEvent e )
{
if (count == 0){
startGalgje();
count = 1;
}
else if(count == 1){
invoerLetter = invoervak.getText();
lblTijdelijk.setText( " " + invoerLetter + " " );
gokLetter();
}
}
}
}