NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Verquido
Tvůrce
Avatar
Verquido:3.12.2015 20:10

Zdravím, dělám si hru jen tak pro zábavu a chtěl bych nějak uvádět nejvyšší skóre. Vytvořil sem si soubor best_score.txt. A vždy při zapnutí programu nahraji do proměné best_score hodnotu co je v souboru. A během programu to aktualizuji a kontroluji jestli je nové nejvyšší score.

if ( score > best_score )
            {
                StreamWriter Filewriter = new StreamWriter("best_score.txt");
                Filewriter.WriteLine(score.ToString());
                Filewriter.Close();
            }

To funguje, ale když vypnu a zapnu program tak to jde od znova. Takže se mi to nové best score do toho souboru neuloží když zavírám program. Jak to mám tedy uložit. respektive nahradit starou hodnotu? :D aby se uložila? Díky moc

 
Odpovědět
3.12.2015 20:10
Avatar
Odpovídá na Verquido
Neaktivní uživatel:3.12.2015 20:34

Jsi si jistý ? možná si to jen špatně zkoušel, protože kód by měl fungovat v pořádku..

Nahoru Odpovědět
3.12.2015 20:34
Neaktivní uživatelský účet
Avatar
Odpovídá na Verquido
Michal Žůrek - misaz:3.12.2015 20:47

a funguje ti to čtení z toho souboru?

 
Nahoru Odpovědět
3.12.2015 20:47
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Verquido
ostrozan:3.12.2015 22:56

Takže při spuštěné aplikaci když po každé změně otevřeš ten . txt tak tam tu změnu vidíš?
A při startu ti to načte co?

 
Nahoru Odpovědět
3.12.2015 22:56
Avatar
Milan Křepelka
Tvůrce
Avatar
Milan Křepelka:4.12.2015 6:11

Souhlasím s pánama nademnou. Zkontroluj si jestli

  • vůbec dochází k načítání hodnot
  • pokud dochází, tak jestli dochází k přiřazení do best_score

Každopádně to oddebuguj a zkontroluj si řádek s tou podmínkou.

Je dobré takovéhle záležitosti oddělovat přinejmenším do samostatných metod. Má to co do témat jako "reuse" kódu a "do not repeat yourself"

 
Nahoru Odpovědět
4.12.2015 6:11
Avatar
Verquido
Tvůrce
Avatar
Verquido:4.12.2015 16:13

Takže, znovu jsem to vyzkoušel a je to takhle.

  • Napíšu do toho souboru best_score.txt třeba hodnotu 10.
  • Zapnu hru (přes VisualStudio) a je tam načtena hodnota 10 a v průběhu hry se normálně best_score aktualizuje.
  • Vypnu hru a podívám se normálně ve složce mimo Visual Studio to souboru best_score.txt tak je tam nová hodnota uložena. to je v pořádku.
  • Když ale znovu zapnu hru (ve Visual studiu) tak se mi do souboru opět načte hodnota 10 a jede to znova.

A proč všude píšu že to otevírám ve visual studiu a né normálně. protože mi to nejde :D Když to chci otevřít jako .exe soubor tak se to furt načítá, ale nespustí se to tak musím restartovat průzkumníka windows. To by taky nějak chtělo pořešit jestli by někdo věděl.

Opravdu už nevím :D

 
Nahoru Odpovědět
4.12.2015 16:13
Avatar
Odpovídá na Verquido
Michal Štěpánek:4.12.2015 16:24

tak se mi do souboru opět načte hodnota 10

Tady je něco divného. Když to spustíš, mělo by se z toho souboru číst a ne do něj zapisovat, nebo jsem na jiný sjezdovce?

Nahoru Odpovědět
4.12.2015 16:24
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Verquido
Michal Žůrek - misaz:4.12.2015 16:24

aha, Visual Studio ti ten soubor přepisuje. Označ ten soubor v Solution Exploreru a vproperties tomu souboru nastav u vlastnosti Copy to Output Directory hodnotu Do not copy.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
4.12.2015 16:24
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Verquido:4.12.2015 16:29

Už to funguje.. Díky moc Háži ti řešení vlákna :) Samozřejmě ostatním také děkuji.

 
Nahoru Odpovědět
4.12.2015 16:29
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.