Błąd w kodzie - nadpisywanie zmiennej
Ostatnio zmodyfikowano 2012-04-28 10:04
Temes Temat założony przez niniejszego użytkownika |
Błąd w kodzie - nadpisywanie zmiennej » 2012-04-28 08:29:25 Witam, piszę program i mam problem... Kod: if( Literka1 == LiterkaKomp1 ) { Wygrana =( Wygrana + 20 ); } else { if( Literka1 == LiterkaKomp2 ) { Wygrana =( Wygrana + 20 ); } else { if( Literka1 == LiterkaKomp3 ) { Wygrana =( Wygrana + 20 ); } else { if( Literka1 != LiterkaKomp1 && Literka1 != LiterkaKomp2 && Literka1 != LiterkaKomp3 ) { Wygrana =( Wygrana - 10 ); } } } }
if( Literka2 == LiterkaKomp1 ) { Wygrana =( Wygrana + 20 ); } else { if( Literka2 == LiterkaKomp2 ) { Wygrana =( Wygrana + 20 ); } else { if( Literka2 == LiterkaKomp3 ) { Wygrana =( Wygrana + 20 ); } else { if( Literka2 != LiterkaKomp1 && Literka1 != LiterkaKomp2 && Literka1 != LiterkaKomp3 ) { Wygrana =( Wygrana - 10 ); } } } }
if( Literka3 == LiterkaKomp1 ) { Wygrana =( Wygrana + 20 ); } else { if( Literka3 == LiterkaKomp2 ) { Wygrana =( Wygrana + 20 ); } else { if( Literka3 == LiterkaKomp3 ) { Wygrana =( Wygrana + 20 ); } else { if( Literka3 != LiterkaKomp1 && Literka1 != LiterkaKomp2 && Literka1 != LiterkaKomp3 ) { Wygrana =( Wygrana - 10 ); } } } } To taka jakby gra. Ktoś obstawia trzy literki, załóżmy A B C. Komputer sprawdza i jeżeli np. komputer wylosował A B H, to tu jest problem. W kodzie widać że jeżeli ktoś trafi to dostaje +20 do wygranej, a jak nie trafi to traci -10. Obstawiałem A B C, a wylosowano A B H. Ile powinienem wygrać? +20, +20, -10 czyli moja wygrana powinna wynosić 40 - 10 = 30. Problem polega na tym, że jeżeli trafiłem liczbę to na niej się zatrzymuje, czyli obstawiałem A B C, wylosowano: A B H to dostaje 20 + 20 = 40, a już nie ma tego -10. Jak obstawiam A B C, a losuje B J K to daje mi 20, a powinienem dostać 0 (20 + (-10) + (-10)) = (20 - 20) = 0. Jaki jest błąd w kodzie? |
|
Admixior |
» 2012-04-28 09:27:27 hmm. Lekko chaotyczny ten kod (jak dla mnie) można zapisać to prościej: if( Literka1 == LiterkaKomp1 ) Wygrana += 20; else if( Literka1 == LiterkaKomp2 ) Wygrana += 20; else if( Literka1 == LiterkaKomp3 ) Wygrana += 20; else Wygrana -= 10;
if( Literka2 == LiterkaKomp1 ) Wygrana += 20; else if( Literka2 == LiterkaKomp2 ) Wygrana += 20; else if( Literka2 == LiterkaKomp3 ) Wygrana += 20; else Wygrana -= 10;
if( Literka3 == LiterkaKomp1 ) Wygrana += 20; else if( Literka3 == LiterkaKomp2 ) Wygrana += 20; else if( Literka3 == LiterkaKomp3 ) Wygrana += 20; else Wygrana -= 10;
lub tak: if( Literka1 == LiterkaKomp1 || Literka1 == LiterkaKomp2 || Literka1 == LiterkaKomp3 ) wygrana += 20; else wygrana -= 10;
if( Literka2 == LiterkaKomp1 || Literka2 == LiterkaKomp2 || Literka2 == LiterkaKomp3 ) wygrana += 20; else wygrana -= 10;
if( Literka3 == LiterkaKomp1 || Literka3 == LiterkaKomp2 || Literka3 == LiterkaKomp3 ) wygrana += 20; else wygrana -= 10;
Spróbuj te kody czy są dobre :) |
|
Temes Temat założony przez niniejszego użytkownika |
» 2012-04-28 10:04:25 Pierwszy działa, drugiego nie próbowałem - dziękuje bardzo :) |
|
« 1 » |