Seite 1 von 1

Verfasst: Donnerstag 10. April 2008, 12:49
von sea-live
es gibt immer was zuverbessern in Java sind das ganze 94 zeilen
ich hab 300 und es sieht schlechter aus Optisch zumindest es ist bugbehaftet und hat weder start noch stop sowie keine 4-6Farben zur Wahl

somit ist das Game mies programmiert
sprich nur aus audag was man so denkt !!
ich hab damit kein problem
Java auswerten und anzeigen

Code: Alles auswählen

	public void checkDots(Graphics g)  // Check the pegs
	{
		boolean temp=true;
		int holdDots[];
		int rightCol=0,rightPlace=0;

		for (j=0;j<4;j++)
			temp=(temp && (dotMap[currentRow*4+j]>=0));

		if (temp)		// Guess complete?
		{
			holdDots=new int[4];
			for (j=0;j<4;j++)
				holdDots[j]=dotMap[currentRow*4+j];

			for (i=0;i<4;i++)	// Award white pegs
				for (j=0;j<4;j++)
					if (holdDots[j]==secretCol[i])
					{
						pointMap[currentRow*4+rightCol++]=0;
						holdDots[j]=-1;
						j=4;
					}
			for (j=0;j<4;j++)	// And black ones
			{
				if (secretCol[j]==dotMap[currentRow*4+j])
					rightPlace++;
			}
			for (j=0;j<rightPlace;j++)
				pointMap[currentRow*4+j]=1;

						// Display pegs
			for (j=0;j<2;j++)
				for (k=0;k<2;k++)
					if (pointMap[currentRow*4+j*2+k]>=0)
						pointDot(g,101+k*12,
						206-currentRow*28+j*12,pointMap[currentRow*4+j*2+k]);

			if (rightPlace==4)	// All correct?
			{
				g.setColor(Color.black);
				g.drawString("WELL DONE!",168,20);
				currentRow=8;
			}
			currentRow++;
			if (currentRow>7)	// Game over?
			{
				if (rightPlace<4) // Didn't make it?
				{
					g.setColor(Color.black);
					g.drawString("Sorry!",188,15);
					for (j=0;j<4;j++)
						boardDot(g,163+j*21,20,secretCol[j]);
				}
				gameGoing=false;
				g.setColor(Color.gray);
				g.fill3DRect(175,218,60,18,true);
				g.setColor(Color.white);
				g.drawString("Start",191,231);
			}
		}
	}

Verfasst: Donnerstag 10. April 2008, 15:59
von sea-live
Ich habe das ganze nochmal überarbeitet und nun folgende Lösung die MIR nun wirklich noch keinen Fehler bei ca 100 teste geliefert hat

Code: Alles auswählen

def auswerten(screen,meinewahl):
    richtigplatz = 0
    richtigfarbe = 0
    treffer=[7,7,7,7] # trefferbild loeschen
    find = list(finde)                # zu suchendes zum auswerten laden
    halte_meins = list(meinewahl)     # meine auswahl doppeln
    for i in range(4):                # richtige anzahl farben ermitteln
        for j in range(4):
            if meinewahl[j] == find[i]:
                richtigfarbe += 1     # doppelte farbe gefunden
                meinewahl[j] = -1     # loesche die zahl in meinewahl wegen doppeltenFarben
                break                 # stoppe durchlauf
    for j in range(4):                # farben und platz richtig
        if find[j] == halte_meins[j]:
            richtigplatz += 1         # treffer gefunden
    for i in range(0,richtigfarbe):     # treffer in trefferbild einsetzen 0=Farbtreffer
        treffer[i]=0
    for i in range(0,richtigplatz):     # treffer in trefferbild einsetzen 1=Platz und Farbtreffer
        treffer[i]=1
    if richtigplatz == 4:    #	Alle richtig
            richtig = True
            alles_richtig_falsch(screen,richtig)
    if richtigplatz > 0 or richtigfarbe > 0: #treffer anzeigen
            treffer_anzeigen(screen,treffer)
    nix_getroffen(screen)