Hangman

 

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;
    }