galgje applet

Status
Niet open voor verdere reacties.

stienoo

Gebruiker
Lid geworden
31 dec 2007
Berichten
315
Ik ben een galgje aplet aan het maken maar hij wil niet mee.
Als hij de controle uitvoert of de ingegeven letter overeenkomt met een van de letters van het woord zegt hij altijd dat het niet overeenkomt ook al heb ik weldegelijk en juiste letter opgegeven.

De code die ik heb is de volgende (momenteel heeft de galg nog geen nut, maar die heb ik al getekent, ook voer ik een controle uit om te zien of antwoord1 gelijkt is aan 1 of 0, ik heb al een paar dingen geprobeert en het moet echt wel in de controle van de letters zitten):

Code:
import java.awt.event.*;
import java.applet.*;
import java.awt.*;

public class galgje extends Applet{
	int x=130;
	String woord1[] = {"t","e","s","t"};
	int antwoord1[] = {0,0,0,0};
	int letter1 = 4;
	TextField vak;
    Button knop;
	
	public void init(){
		setBackground (Color.white);
		vak = new TextField(1);
		knop = new Button("gok");
		
		add (vak);
		add (knop);
	}
	
	public void paint (Graphics g){
		//de bodem
		g.drawLine(20, 150, 20, 180);
		g.drawLine(100, 150, 100, 180);
		g.drawLine(20,150,100,150);
		//de galg
		g.drawLine(40, 150, 40, 50);
		g.drawLine(40, 50, 90, 50);
		g.drawLine(90,50,90,70);
		//de persoon
		g.drawOval(80, 70, 20, 20);
		g.drawLine(90, 90, 90, 120);
		//benen
		g.drawLine(90, 120, 75, 140);
		g.drawLine(90, 120, 105, 140);
		//armen
		g.drawLine(90, 100, 70, 110);
		g.drawLine(90, 100, 110, 110);
		int i=0;
		x=130;
		while (i<letter1){
			
		g.drawLine(x, 160, x+20, 160);
		g.drawString(""+antwoord1[0]+","+antwoord1[1]+","+antwoord1[2]+","+antwoord1[3], 20, 20);
		if(antwoord1[i]==1){
		g.drawString(woord1[i], x+10, 150);
		}
		i++;
		x +=30;
		}
		
	}
    public boolean action (Event e, Object o) {
    	if (e.target== knop)
    	{
    		vak.setText("");
    		int i=0;
    		String vakText= vak.getText();
    		while (i<letter1){
    			if(woord1[i].equals(vakText)){
    				antwoord1[i]=1;
    			}
    			i++;
    		}
    		repaint(); return true;
    	}
    	return false;
    }
}
 
Code:
vak.setText("");
String vakText= vak.getText();

Je gooit eerst het vak leeg.. en dan zet je het lege vak in een string..
zodat je dan "" overhoudt
En dan vervolgens:
Code:
if(woord1[i].equals(vakText)){

Die geeft altijd false terug. omdat je een letter vergelijkt met een lege string.
 
Arg, heb je nog gelijk ook :o:o, het moer ergens liggen dat ik eerst de fout maakte dat ik == gebruikte (wat niet werkt) dan heb ik wat geknoeit en dat op de verkeerde plaats terug gezet, in ieder geval bedankt ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan