Zum Abschluss der ersten Reihe kombinieren wir unser erworbenes Wissen im Bereich der Grafik- und Zeichenkettenbefehle und erweitern unsere Kenntnisse im Bereich der Felder. Das Ergebnis ist das Hangman-Projekt
Auszüge aus dem Quelltext:
private void initAnzeige(String pWort, boolean pWahr){
versteckt=new boolean[pWort.length()];
for (int i=0;i<pWort.length();i++){
versteckt[i]=pWahr;
}
}
private void zeigeRatewort(){
String lAusgabe="";
for (int i=0;i<ratewort.length();i++){
if (versteckt[i]) lAusgabe+="___ ";
else lAusgabe+=" "+ratewort.charAt(i)+" ";
}
txtFldRatewort.setText(lAusgabe);
}
private void zeigeVerbrauchteZeichen(){
String lAusgabe="";
for (int i=0;i<verbraucht.length();i++){
lAusgabe+=" "+verbraucht.charAt(i)+" ";
}
txtFldBenutzt.setText(lAusgabe);
}
private void loescheZeichenflaeche(){
kenntGrafik.setColor(Color.white);
kenntGrafik.fillRect(10,240,300,350);
kenntGrafik.setColor(Color.black);
}
private void zeichne(int pWahl){
//loescheZeichenflaeche();
switch(pWahl){
case 0:break;
case 1:loescheZeichenflaeche();kenntGrafik.drawLine(20,570,85,530);break;
case 2:kenntGrafik.drawLine(85,530,150,570);break;
case 3:kenntGrafik.drawLine(85,530,85,250);break;
case 4:kenntGrafik.drawLine(85,250,200,250);break;
case 5:kenntGrafik.drawLine(85,300,160,250);break;
case 6:kenntGrafik.drawLine(200,250,200,300);break;
case 7:kenntGrafik.drawOval(185,300,30,30);break;
case 8:kenntGrafik.drawOval(175,330,50,100);break;
case 9:kenntGrafik.drawLine(160,400,177,360);break;
case 10:kenntGrafik.drawLine(223,360,240,400);break;
case 11:kenntGrafik.drawLine(175,500,195,428);break;
case 12:kenntGrafik.drawLine(205,428,225,500);break;
}
}
private void zeichneGalgen(){
for (int i=0;i<=12;i++){
zeichne(i);
}
}
private int pruefeEingabe(char pZeichen){
int lTreffer=0;
for (int i=0;i<ratewort.length();i++){
if (ratewort.charAt(i)==pZeichen){
versteckt[i]=false;
lTreffer++;
}
}
return lTreffer;
}