• 1
  • 2
2013-05-11, 18:16
  #1
Medlem
Hej!

Notera: Jag är nybörjare.

Jag jobbar med ett spel (Hänga Gubbe) i Java och har stött på ett problem som jag försökt lösa på egen hand hela dagen. Nu vill jag ha proffshjälp. Spelet är i princip färdigkodat. Koden är väl kommenterad.

Problembeskrivning:
När man blir hängd vill jag att de bokstäver som återstår skrivs ut så att användaren får reda på vad det var för ord som eftersöktes, fast i rött. Som jag letar så hittar jag inte felet i koden, ibland skrivs ordet ut som det ska, ibland inte. Det är i for-loopen på rad 304 som inte fungerar som den ska. De kommenterade raderna är/var för felsökning.

Pastebin är fruktansvärt att läsa kod ur, ladda istället ner källkoden här och kör gärna programmet.
För att komma fram till den del då allt börjar kaosa så måste du se till att bli hängd. När du blir hängd, ska ordet skrivas ut längst ner till vänster, men som ni ser är det något fel. Som sagt, rad 304.

Väldigt tacksam om ni hittar felet! Tack så jättemycket!
__________________
Senast redigerad av chrismalla 2013-05-11 kl. 18:21.
Citera
2013-05-11, 19:30
  #2
Moderator
Protons avatar
Citat:
Ursprungligen postat av chrismalla
Hej!

Notera: Jag är nybörjare.

Jag jobbar med ett spel (Hänga Gubbe) i Java och har stött på ett problem som jag försökt lösa på egen hand hela dagen. Nu vill jag ha proffshjälp. Spelet är i princip färdigkodat. Koden är väl kommenterad.

Problembeskrivning:
När man blir hängd vill jag att de bokstäver som återstår skrivs ut så att användaren får reda på vad det var för ord som eftersöktes, fast i rött. Som jag letar så hittar jag inte felet i koden, ibland skrivs ordet ut som det ska, ibland inte. Det är i for-loopen på rad 304 som inte fungerar som den ska. De kommenterade raderna är/var för felsökning.

Pastebin är fruktansvärt att läsa kod ur, ladda istället ner källkoden här och kör gärna programmet.
För att komma fram till den del då allt börjar kaosa så måste du se till att bli hängd. När du blir hängd, ska ordet skrivas ut längst ner till vänster, men som ni ser är det något fel. Som sagt, rad 304.

Väldigt tacksam om ni hittar felet! Tack så jättemycket!
Vad är det för fel du får då?
Citera
2013-05-11, 23:42
  #3
Medlem
Utskriften är inte fullständig. Ibland skrivs bara en bokstav ut, ibland följer hela html-koder med i utskriften. For-loopen körs om och om och om och om och man kan inte stoppa den. Mycket lustigt. Kör gärna programmet och se med egna ögon.
Citera
2013-05-12, 13:29
  #4
Medlem
Det verkar inte som att någon orkar hjälpa mig. Jag har försökt hitta felet och jag är rädd att felet för en gångs skull inte är människans fel. Jag använder nämligen html-kod för att få bokstäverna röda. Med html-koden blir utskriften inte fullständig, endast en bokstav skrivs ut, that's it. Om jag däremot tar bort den lilla html-kod som anger färgen på bokstaven fungerar allt precis som det ska! Varje gång!

Fungerar ej:
Kod:
lbl4.setText(lbl4.getText() + "<html><font color=red>" + bokstaver[i] + "</font></html>" + " ");

Fungerar som det ska:
Kod:
lbl4.setText(lbl4.getText() + bokstaver[i] + " ");

Som ni ser är det endast html-koden som skiljer dessa två rader åt.
Citera
2013-05-12, 13:55
  #5
Medlem
Forgs avatar
Stacktrace or gtfo
Citera
2013-05-12, 14:31
  #6
Medlem
Citat:
Ursprungligen postat av chrismalla
Fungerar ej:
Kod:
lbl4.setText(lbl4.getText() + "<html><font color=red>" + bokstaver[i] + "</font></html>" + " ");

Som ni ser är det endast html-koden som skiljer dessa två rader åt.
Varför har du en HTML tag ?

Förslag:
Ta bort html taggen
använd inte font tags, använd CSS för istället för att sätta display attribut på olika element.
__________________
Senast redigerad av sagonar 2013-05-12 kl. 14:48. Anledning: ta bort onädig citering, och ge mer tips
Citera
2013-05-12, 14:41
  #7
Medlem
Citat:
Ursprungligen postat av Forg
Stacktrace or gtfo
Var mer specifik är du snäll. Jag har nämnt att jag är nybörjare.

Citat:
Ursprungligen postat av sagonar
Varför har du en HTML tag ?
Man kan använda HTML tags för att åstadkomma något som att byta färg.
Citera
2013-05-12, 15:51
  #8
Medlem
Citat:
Ursprungligen postat av sagonar
Varför har du en HTML tag ?

Förslag:
Ta bort html taggen
använd inte font tags, använd CSS för istället för att sätta display attribut på olika element.
Tack! Jag har ingen aning vad som menas och hur jag skall göra för att använda CSS i Java, vill du förklara eller länka?
Citera
2013-05-12, 23:03
  #9
Medlem
Forgs avatar
Citat:
Ursprungligen postat av chrismalla
Var mer specifik är du snäll. Jag har nämnt att jag är nybörjare.


Man kan använda HTML tags för att åstadkomma något som att byta färg.


Det jag menar är, får du något fel i java-koden? Ett exception som ger ett stacktrace i loggen.
Citera
2013-05-12, 23:38
  #10
Medlem
Kapten.Blaus avatar
Citat:
Ursprungligen postat av chrismalla
Man kan använda HTML tags för att åstadkomma något som att byta färg.


Ja, men du ska inte ha <html></html> taggar i din text.
Citera
2013-05-13, 07:28
  #11
Medlem
Citat:
Ursprungligen postat av Forg
Det jag menar är, får du något fel i java-koden? Ett exception som ger ett stacktrace i loggen.
Nej, inga som helst exekveringsfel. Programmet körs.

Citat:
Ursprungligen postat av Kapten.Blau
Ja, men du ska inte ha <html></html> taggar i din text.
Nehe, det står att man ska göra det i alla mina Google-sökningar i alla fall. Vilket som, jag prövade att ta bort <html></html> taggarna och att ha kvar <font> taggarna, men det är ingen skillnad tyvärr.
__________________
Senast redigerad av chrismalla 2013-05-13 kl. 07:55.
Citera
2013-05-13, 16:58
  #12
Medlem
PhilDunphys avatar
Citat:
Ursprungligen postat av chrismalla
Nej, inga som helst exekveringsfel. Programmet körs.


Nehe, det står att man ska göra det i alla mina Google-sökningar i alla fall. Vilket som, jag prövade att ta bort <html></html> taggarna och att ha kvar <font> taggarna, men det är ingen skillnad tyvärr.

Tjena Chrismalla.

Är inte någon höjdare på Swing så jag kommer bara ge dig en lösning. Skriv om case 10 till denna kod istället.

Har nog att göra med att du skrev <html><font....>Bokstav</html></font> vid varje bokstav istället för <html><font>Ord</html></font>.
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in