[C#] Hjälp mig med min matteapp!

Permalänk

[C#] Hjälp mig med min matteapp!

Hej!
Min matteapp funkar ej.
1. I början av konsol programmet så när man ska skriva in regler så dyker test texten upp, men sen händer inget. Den stannar.
2. När jag levlar upp så fortsätter den i oändlighet även ifall jag har skrivit in att när användaren får 10 poäng så levlar den upp, men den bara fortsätter.

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { class Program { static void Main(string[] args) { Console.Title = ("Mattesnillet 1.0"); int points = 0; int level = 1; int answer; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine("Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); string regler = Console.ReadLine(); if (regler == "regler" || regler == "Regler") { Console.WriteLine("Regler.Test"); } else { while (true) { Console.ForegroundColor = ConsoleColor.Green; Random random = new Random(); int randomNumber1 = random.Next(1, 11); int randomNumber2 = random.Next(1, 11); int randomNumber3 = random.Next(11, 101); int randomNumber4 = random.Next(11, 101); int randomNumber5 = random.Next(1, 11); int randomNumber6 = random.Next(1, 11); int sum; Console.ForegroundColor = ConsoleColor.Green; if (points == 10) { level++; } if (points == 10) { Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); Console.WriteLine("Grattis! Du klarade level " + level + "!"); Console.WriteLine("\r\nSkriv in ditt namn i highscore listan!"); string namn = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(namn + " - " + points + " Poäng"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\r\nVill du fortsätta spela?"); string fortsätt = Console.ReadLine(); if (fortsätt == "Ja" || fortsätt == "JA" || fortsätt == "ja" || fortsätt == "japp" || fortsätt == "Japp" || fortsätt == "JAPP" || fortsätt == "Yes" || fortsätt == "YES" || fortsätt == "yes" || fortsätt == "j" || fortsätt == "J" || fortsätt == "y" || fortsätt == "Y") { Console.Clear(); Console.WriteLine("Okej, då fortsätter vi, " + namn); System.Threading.Thread.Sleep(1000); } else { Console.WriteLine("Okej, ses snart igen, " + namn); System.Threading.Thread.Sleep(1000); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Hejdå!"); return; } while (true) if (level == 1) { sum = randomNumber1 + randomNumber2; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-10 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber1 + " + " + randomNumber2 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); } if (level == 2) { sum = randomNumber3 + randomNumber4; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Addition 10-100"); Console.WriteLine("\r\nVad blir " + randomNumber3 + " + " + randomNumber4 + "?"); } if (level == 3) { sum = randomNumber5 * randomNumber6; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Multiplikation 1-10"); Console.WriteLine("\r\nVad blir " + randomNumber5 + " * " + randomNumber6 + "?"); } } } } } } } }

Dold text
Permalänk
Medlem

Varför har du villkoret if (points == 10) två gånger? Är det inte bara det första som ska bara == 10?

Nu är jag inget geni på C#, men radbrytningar skadar väl inte? Det är jättesvårt att läsa kod när man måste scrolla i sidled.

Permalänk
Skrivet av Beamy:

Varför har du villkoret if (points == 10) två gånger? Är det inte bara det första som ska bara == 10?

Nu är jag inget geni på C#, men radbrytningar skadar väl inte? Det är jättesvårt att läsa kod när man måste scrolla i sidled.

Hahah wow! Det har jag inte sett, lade in points++; i if satsen under. heheheh.

Permalänk
Medlem

Sätt ur breakpoints och se vart koden avslutas.
Du kan använda 2st variabler ist för flera randomnummer.
Använd en switch sats med break om du ska använda den while loppen.

Permalänk
Skrivet av LinusNeuman:

Hej!
Min matteapp funkar ej.
1. I början av konsol programmet så när man ska skriva in regler så dyker test texten upp, men sen händer inget. Den stannar.
2. När jag levlar upp så fortsätter den i oändlighet även ifall jag har skrivit in att när användaren får 10 poäng så levlar den upp, men den bara fortsätter.

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { class Program { static void Main(string[] args) { Console.Title = ("Mattesnillet 1.0"); int points = 0; int level = 1; int answer; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine("Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); string regler = Console.ReadLine(); if (regler == "regler" || regler == "Regler") { Console.WriteLine("Regler.Test"); } else { while (true) { Console.ForegroundColor = ConsoleColor.Green; Random random = new Random(); int randomNumber1 = random.Next(1, 11); int randomNumber2 = random.Next(1, 11); int randomNumber3 = random.Next(11, 101); int randomNumber4 = random.Next(11, 101); int randomNumber5 = random.Next(1, 11); int randomNumber6 = random.Next(1, 11); int sum; Console.ForegroundColor = ConsoleColor.Green; if (points == 10) { level++; } if (points == 10) { Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); Console.WriteLine("Grattis! Du klarade level " + level + "!"); Console.WriteLine("\r\nSkriv in ditt namn i highscore listan!"); string namn = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(namn + " - " + points + " Poäng"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\r\nVill du fortsätta spela?"); string fortsätt = Console.ReadLine(); if (fortsätt == "Ja" || fortsätt == "JA" || fortsätt == "ja" || fortsätt == "japp" || fortsätt == "Japp" || fortsätt == "JAPP" || fortsätt == "Yes" || fortsätt == "YES" || fortsätt == "yes" || fortsätt == "j" || fortsätt == "J" || fortsätt == "y" || fortsätt == "Y") { Console.Clear(); Console.WriteLine("Okej, då fortsätter vi, " + namn); System.Threading.Thread.Sleep(1000); } else { Console.WriteLine("Okej, ses snart igen, " + namn); System.Threading.Thread.Sleep(1000); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Hejdå!"); return; } while (true) if (level == 1) { sum = randomNumber1 + randomNumber2; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-10 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber1 + " + " + randomNumber2 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); } if (level == 2) { sum = randomNumber3 + randomNumber4; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Addition 10-100"); Console.WriteLine("\r\nVad blir " + randomNumber3 + " + " + randomNumber4 + "?"); } if (level == 3) { sum = randomNumber5 * randomNumber6; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Multiplikation 1-10"); Console.WriteLine("\r\nVad blir " + randomNumber5 + " * " + randomNumber6 + "?"); } } } } } } } }

Dold text

Fråga ett kan jag förklara varför, den kör din if, hoppar över else och kommer till slutet av programmet alltså terminerar det. vill du att det ska börja köra efter reglerna så försök få det att vänta på någon form av kommando att börja och ta bort else så att det som står i else kommer efter if.

if (regler == "regler" || regler == "Regler") { Console.WriteLine("Regler.Test"); } else { //ta bort det här och behåll resten... while (true) {...

Visa signatur

Corsair Vengeance LPX 4x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)

Permalänk
Skrivet av vajjan:

Sätt ur breakpoints och se vart koden avslutas.
Du kan använda 2st variabler ist för flera randomnummer.
Använd en switch sats med break om du ska använda den while loppen.

Jag vet inte vad det är, har som sagt bara haft 3 lektioner på vår programmering. Började precis!

Skrivet av gaminggirl:

Fråga ett kan jag förklara varför, den kör din if, hoppar över else och kommer till slutet av programmet alltså terminerar det. vill du att det ska börja köra efter reglerna så försök få det att vänta på någon form av kommando att börja och ta bort else så att det som står i else kommer efter if.

if (regler == "regler" || regler == "Regler") { Console.WriteLine("Regler.Test"); } else { //ta bort det här och behåll resten... while (true) {...

Okej, ska ta en titt på detta direkt, uppdaterar resultatet om 10 minuter.

Permalänk
Medlem

1. Se ovan...

2. while (true) {} kommer körs för alltid, finns ingenstans där points kan bli 10, så dina if(points == 10) är lite meningslösa just nu.

3. Protip: gör svaren till små bokstäver så slipper du kolla om man skrivit: "ja", "Ja" eller"JA".

Visa signatur

Programmerare -> PHP | HTML | CSS | JS | Java.

Permalänk
Skrivet av Sony?:

1. Se ovan...

2. while (true) {} kommer körs för alltid, finns ingenstans där points kan bli 10, så dina if(points == 10) är lite meningslösa just nu.

3. Protip: gör svaren till små bokstäver så slipper du kolla om man skrivit: "ja", "Ja" eller"JA".

Kommer körs? Vad menar du?
Och gjorde som hon sa där uppe men det funkar fortfarande inte.
Och kan du ge mig något förslag för att fixa problemet? Istället för att bara säga att de är meningslösa

BTW, vad menas med ta bort det här men behåll resten? Ta bort det här betyder ju att jag ska ta bort texten, men jag fattar ju att det inte är det hon menar, menar hon kanske att jag ska ta bort hela else satsen eller menar hon att jag ska ta bort .. vafan då? Sen så ska jag ju tydligen behålla resten, behålla vad? texten? Det som står udner kommentaren? menar hon if satsen, eller menar hon nåt annat? Vafan

Permalänk
Medlem
Skrivet av LinusNeuman:

Kommer körs? Vad menar du?
Och gjorde som hon sa där uppe men det funkar fortfarande inte.
Och kan du ge mig något förslag för att fixa problemet? Istället för att bara säga att de är meningslösa

BTW, vad menas med ta bort det här men behåll resten? Ta bort det här betyder ju att jag ska ta bort texten, men jag fattar ju att det inte är det hon menar, menar hon kanske att jag ska ta bort hela else satsen eller menar hon att jag ska ta bort .. vafan då? Sen så ska jag ju tydligen behålla resten, behålla vad? texten? Det som står udner kommentaren? menar hon if satsen, eller menar hon nåt annat? Vafan

Ska försöka förklara med kommentarer:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { class Program { static void Main(string[] args) { Console.Title = ("Mattesnillet 1.0"); int points = 0; // <-- 0 POÄNG, notera int level = 1; int answer; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine("Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); string regler = Console.ReadLine(); // <--- Protip: gör om regler till små bokstäver så slipper du kolla två gånger. if (regler == "regler" || regler == "Regler") // *Skrev regler, if:en körs* { Console.WriteLine("Regler.Test"); // *Skriver ut 'Regler.Test'* //SLUT PÅ PROGRAMMET } else // körs BARA OM man INTE skrev 'regler'. Om man skrev 'regler' körs detta aldrig { while (true) { Console.ForegroundColor = ConsoleColor.Green; Random random = new Random(); int randomNumber1 = random.Next(1, 11); int randomNumber2 = random.Next(1, 11); int randomNumber3 = random.Next(11, 101); int randomNumber4 = random.Next(11, 101); int randomNumber5 = random.Next(1, 11); int randomNumber6 = random.Next(1, 11); int sum; Console.ForegroundColor = ConsoleColor.Green; if (points == 10) // !!KÖRS ALDRIG!! <-- Points är 0, se rad #13. { level++; } if (points == 10) // !!KÖRS ALDRIG!! <-- Points är 0, se rad #13. ALLTSÅ EN OÄNDLIG LOOP. { //KÖRS ALDRIG, points är ju 0, inte 10. //... } } } } } }

Det jag tror att du vill göra:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { class Program { static void Main(string[] args) { Console.Title = ("Mattesnillet 1.0"); int points = 0; int level = 1; int answer; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine("Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); string regler = Console.ReadLine(); if (regler == "regler" || regler == "Regler") { Console.WriteLine("Regler.Test"); Console.WriteLine("Tryck på enter för att börja!"); Console.ReadLine(); //Bara för att pausa programmet till användaren trycker på en tangent. } //TOG BORT ELSE{}, det var det Girl menade. //Main programmet körs nu while (true) { Console.ForegroundColor = ConsoleColor.Green; Random random = new Random(); int randomNumber1 = random.Next(1, 11); int randomNumber2 = random.Next(1, 11); int randomNumber3 = random.Next(11, 101); int randomNumber4 = random.Next(11, 101); int randomNumber5 = random.Next(1, 11); int randomNumber6 = random.Next(1, 11); int sum; Console.ForegroundColor = ConsoleColor.Green; if (points == 10) { level++; } //TOG BORT IF points == 10 igen Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); Console.WriteLine("Grattis! Du klarade level " + level + "!"); Console.WriteLine("\r\nSkriv in ditt namn i highscore listan!"); string namn = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(namn + " - " + points + " Poäng"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\r\nVill du fortsätta spela?"); string fortsätt = Console.ReadLine(); if (fortsätt == "Ja" || fortsätt == "JA" || fortsätt == "ja" || fortsätt == "japp" || fortsätt == "Japp" || fortsätt == "JAPP" || fortsätt == "Yes" || fortsätt == "YES" || fortsätt == "yes" || fortsätt == "j" || fortsätt == "J" || fortsätt == "y" || fortsätt == "Y") { Console.Clear(); Console.WriteLine("Okej, då fortsätter vi, " + namn); System.Threading.Thread.Sleep(1000); } else { Console.WriteLine("Okej, ses snart igen, " + namn); System.Threading.Thread.Sleep(1000); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Hejdå!"); return; } while (true) { if (level == 1) { sum = randomNumber1 + randomNumber2; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-10 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber1 + " + " + randomNumber2 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); } if (level == 2) { sum = randomNumber3 + randomNumber4; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Addition 10-100"); Console.WriteLine("\r\nVad blir " + randomNumber3 + " + " + randomNumber4 + "?"); } if (level == 3) { sum = randomNumber5 * randomNumber6; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Multiplikation 1-10"); Console.WriteLine("\r\nVad blir " + randomNumber5 + " * " + randomNumber6 + "?"); } } } } } } }

Dold text
Visa signatur

Programmerare -> PHP | HTML | CSS | JS | Java.

Permalänk
Skrivet av Sony?:

Ska försöka förklara med kommentarer:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { class Program { static void Main(string[] args) { Console.Title = ("Mattesnillet 1.0"); int points = 0; // <-- 0 POÄNG, notera int level = 1; int answer; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine("Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); string regler = Console.ReadLine(); // <--- Protip: gör om regler till små bokstäver så slipper du kolla två gånger. if (regler == "regler" || regler == "Regler") // *Skrev regler, if:en körs* { Console.WriteLine("Regler.Test"); // *Skriver ut 'Regler.Test'* //SLUT PÅ PROGRAMMET } else // körs BARA OM man INTE skrev 'regler'. Om man skrev 'regler' körs detta aldrig { while (true) { Console.ForegroundColor = ConsoleColor.Green; Random random = new Random(); int randomNumber1 = random.Next(1, 11); int randomNumber2 = random.Next(1, 11); int randomNumber3 = random.Next(11, 101); int randomNumber4 = random.Next(11, 101); int randomNumber5 = random.Next(1, 11); int randomNumber6 = random.Next(1, 11); int sum; Console.ForegroundColor = ConsoleColor.Green; if (points == 10) // !!KÖRS ALDRIG!! <-- Points är 0, se rad #13. { level++; } if (points == 10) // !!KÖRS ALDRIG!! <-- Points är 0, se rad #13. ALLTSÅ EN OÄNDLIG LOOP. { //KÖRS ALDRIG, points är ju 0, inte 10. //... } } } } } }

Det jag tror att du vill göra:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { class Program { static void Main(string[] args) { Console.Title = ("Mattesnillet 1.0"); int points = 0; int level = 1; int answer; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine("Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); string regler = Console.ReadLine(); if (regler == "regler" || regler == "Regler") { Console.WriteLine("Regler.Test"); Console.WriteLine("Tryck på enter för att börja!"); Console.ReadLine(); //Bara för att pausa programmet till användaren trycker på en tangent. } //TOG BORT ELSE{}, det var det Girl menade. //Main programmet körs nu while (true) { Console.ForegroundColor = ConsoleColor.Green; Random random = new Random(); int randomNumber1 = random.Next(1, 11); int randomNumber2 = random.Next(1, 11); int randomNumber3 = random.Next(11, 101); int randomNumber4 = random.Next(11, 101); int randomNumber5 = random.Next(1, 11); int randomNumber6 = random.Next(1, 11); int sum; Console.ForegroundColor = ConsoleColor.Green; if (points == 10) { level++; } //TOG BORT IF points == 10 igen Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); Console.WriteLine("Grattis! Du klarade level " + level + "!"); Console.WriteLine("\r\nSkriv in ditt namn i highscore listan!"); string namn = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(namn + " - " + points + " Poäng"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\r\nVill du fortsätta spela?"); string fortsätt = Console.ReadLine(); if (fortsätt == "Ja" || fortsätt == "JA" || fortsätt == "ja" || fortsätt == "japp" || fortsätt == "Japp" || fortsätt == "JAPP" || fortsätt == "Yes" || fortsätt == "YES" || fortsätt == "yes" || fortsätt == "j" || fortsätt == "J" || fortsätt == "y" || fortsätt == "Y") { Console.Clear(); Console.WriteLine("Okej, då fortsätter vi, " + namn); System.Threading.Thread.Sleep(1000); } else { Console.WriteLine("Okej, ses snart igen, " + namn); System.Threading.Thread.Sleep(1000); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Hejdå!"); return; } while (true) { if (level == 1) { sum = randomNumber1 + randomNumber2; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-10 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber1 + " + " + randomNumber2 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); } if (level == 2) { sum = randomNumber3 + randomNumber4; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Addition 10-100"); Console.WriteLine("\r\nVad blir " + randomNumber3 + " + " + randomNumber4 + "?"); } if (level == 3) { sum = randomNumber5 * randomNumber6; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Multiplikation 1-10"); Console.WriteLine("\r\nVad blir " + randomNumber5 + " * " + randomNumber6 + "?"); } } } } } } }

Dold text

Tack för hjälpen på förhand, ska luska igenom detta imorgon då jag har tid, tack så mycket!

EDIT: Finns det någon sorts kod som hoppar koden till ett visst ställe? Det funkar, men när jag har klarat level 1, så fortsätter den inte vid level 2 if satsen, kan jag jumpa eller nåt dit?

Upddatering av koden:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { class Program { static void Main(string[] args) { Console.Title = ("Mattesnillet 1.0"); int points = 0; int level = 1; int highscorelvl = 0; int answer; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine("Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); string regler = Console.ReadLine(); if (regler == "regler" || regler == "Regler") { Console.WriteLine("Regler.Test"); Console.WriteLine("Tryck på enter för att börja!"); Console.ReadLine(); //Bara för att pausa programmet till användaren trycker på en tangent. } //TOG BORT ELSE{}, det var det Girl menade. //Main programmet körs nu while (true) { Console.ForegroundColor = ConsoleColor.Green; Random random = new Random(); int randomNumber1 = random.Next(1, 11); int randomNumber2 = random.Next(1, 11); int randomNumber3 = random.Next(11, 101); int randomNumber4 = random.Next(11, 101); int randomNumber5 = random.Next(1, 11); int randomNumber6 = random.Next(1, 11); int sum; Console.ForegroundColor = ConsoleColor.Green; if (points == 10) { level++; } //TOG BORT IF points == 10 igen if (level == 2) { highscorelvl++; Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); Console.WriteLine("Grattis! Du klarade level " + highscorelvl + "!"); Console.WriteLine("\r\nSkriv in ditt namn i highscore listan!"); string namn = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(namn + " - " + points + " Poäng"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\r\nVill du fortsätta spela?"); string fortsätt = Console.ReadLine(); if (fortsätt == "Ja" || fortsätt == "JA" || fortsätt == "ja" || fortsätt == "japp" || fortsätt == "Japp" || fortsätt == "JAPP" || fortsätt == "Yes" || fortsätt == "YES" || fortsätt == "yes" || fortsätt == "j" || fortsätt == "J" || fortsätt == "y" || fortsätt == "Y") { Console.Clear(); Console.WriteLine("Okej, då fortsätter vi, " + namn); System.Threading.Thread.Sleep(1000); } else { Console.WriteLine("Okej, ses snart igen, " + namn); System.Threading.Thread.Sleep(1500); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Hejdå!"); System.Threading.Thread.Sleep(1500); return; } } while (true) { if (level == 1) { sum = randomNumber1 + randomNumber2; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-10 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber1 + " + " + randomNumber2 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); } if (level == 2) { sum = randomNumber3 + randomNumber4; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-100 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber3 + " + " + randomNumber4 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); } } if (level == 3) { sum = randomNumber5 * randomNumber6; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Multiplikation 1-10"); Console.WriteLine("\r\nVad blir " + randomNumber5 + " * " + randomNumber6 + "?"); } } } } } } }

Dold text
Permalänk
Skrivet av LinusNeuman:

Tack för hjälpen på förhand, ska luska igenom detta imorgon då jag har tid, tack så mycket!

EDIT: Finns det någon sorts kod som hoppar koden till ett visst ställe? Det funkar, men när jag har klarat level 1, så fortsätter den inte vid level 2 if satsen, kan jag jumpa eller nåt dit?

Upddatering av koden:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { class Program { static void Main(string[] args) { Console.Title = ("Mattesnillet 1.0"); int points = 0; int level = 1; int highscorelvl = 0; int answer; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine("Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); string regler = Console.ReadLine(); if (regler == "regler" || regler == "Regler") { Console.WriteLine("Regler.Test"); Console.WriteLine("Tryck på enter för att börja!"); Console.ReadLine(); //Bara för att pausa programmet till användaren trycker på en tangent. } //TOG BORT ELSE{}, det var det Girl menade. //Main programmet körs nu while (true) { Console.ForegroundColor = ConsoleColor.Green; Random random = new Random(); int randomNumber1 = random.Next(1, 11); int randomNumber2 = random.Next(1, 11); int randomNumber3 = random.Next(11, 101); int randomNumber4 = random.Next(11, 101); int randomNumber5 = random.Next(1, 11); int randomNumber6 = random.Next(1, 11); int sum; Console.ForegroundColor = ConsoleColor.Green; if (points == 10) { level++; } //TOG BORT IF points == 10 igen if (level == 2) { highscorelvl++; Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); Console.WriteLine("Grattis! Du klarade level " + highscorelvl + "!"); Console.WriteLine("\r\nSkriv in ditt namn i highscore listan!"); string namn = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(namn + " - " + points + " Poäng"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\r\nVill du fortsätta spela?"); string fortsätt = Console.ReadLine(); if (fortsätt == "Ja" || fortsätt == "JA" || fortsätt == "ja" || fortsätt == "japp" || fortsätt == "Japp" || fortsätt == "JAPP" || fortsätt == "Yes" || fortsätt == "YES" || fortsätt == "yes" || fortsätt == "j" || fortsätt == "J" || fortsätt == "y" || fortsätt == "Y") { Console.Clear(); Console.WriteLine("Okej, då fortsätter vi, " + namn); System.Threading.Thread.Sleep(1000); } else { Console.WriteLine("Okej, ses snart igen, " + namn); System.Threading.Thread.Sleep(1500); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Hejdå!"); System.Threading.Thread.Sleep(1500); return; } } while (true) { if (level == 1) { sum = randomNumber1 + randomNumber2; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-10 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber1 + " + " + randomNumber2 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); } if (level == 2) { sum = randomNumber3 + randomNumber4; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-100 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber3 + " + " + randomNumber4 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); } } if (level == 3) { sum = randomNumber5 * randomNumber6; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Multiplikation 1-10"); Console.WriteLine("\r\nVad blir " + randomNumber5 + " * " + randomNumber6 + "?"); } } } } } } }

Dold text

Du måste ha det i while-satsen om det ska köras, nu kommer det bara testas precis efter att den kollat om du skrivit in regler, efter det kommer den aldrig dit igen. Eller också får du ha en while utanför den du har nu och ett villkor på den innre...

Visa signatur

Corsair Vengeance LPX 4x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)

Permalänk
Medlem
Skrivet av LinusNeuman:

Tack för hjälpen på förhand, ska luska igenom detta imorgon då jag har tid, tack så mycket!

EDIT: Finns det någon sorts kod som hoppar koden till ett visst ställe? Det funkar, men när jag har klarat level 1, så fortsätter den inte vid level 2 if satsen, kan jag jumpa eller nåt dit?

Upddatering av koden:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { class Program { static void Main(string[] args) { Console.Title = ("Mattesnillet 1.0"); int points = 0; int level = 1; int highscorelvl = 0; int answer; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine("Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); string regler = Console.ReadLine(); if (regler == "regler" || regler == "Regler") { Console.WriteLine("Regler.Test"); Console.WriteLine("Tryck på enter för att börja!"); Console.ReadLine(); //Bara för att pausa programmet till användaren trycker på en tangent. } //TOG BORT ELSE{}, det var det Girl menade. //Main programmet körs nu while (true) { Console.ForegroundColor = ConsoleColor.Green; Random random = new Random(); int randomNumber1 = random.Next(1, 11); int randomNumber2 = random.Next(1, 11); int randomNumber3 = random.Next(11, 101); int randomNumber4 = random.Next(11, 101); int randomNumber5 = random.Next(1, 11); int randomNumber6 = random.Next(1, 11); int sum; Console.ForegroundColor = ConsoleColor.Green; if (points == 10) { level++; } //TOG BORT IF points == 10 igen if (level == 2) { highscorelvl++; Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); Console.WriteLine("Grattis! Du klarade level " + highscorelvl + "!"); Console.WriteLine("\r\nSkriv in ditt namn i highscore listan!"); string namn = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(namn + " - " + points + " Poäng"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\r\nVill du fortsätta spela?"); string fortsätt = Console.ReadLine(); if (fortsätt == "Ja" || fortsätt == "JA" || fortsätt == "ja" || fortsätt == "japp" || fortsätt == "Japp" || fortsätt == "JAPP" || fortsätt == "Yes" || fortsätt == "YES" || fortsätt == "yes" || fortsätt == "j" || fortsätt == "J" || fortsätt == "y" || fortsätt == "Y") { Console.Clear(); Console.WriteLine("Okej, då fortsätter vi, " + namn); System.Threading.Thread.Sleep(1000); } else { Console.WriteLine("Okej, ses snart igen, " + namn); System.Threading.Thread.Sleep(1500); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Hejdå!"); System.Threading.Thread.Sleep(1500); return; } } while (true) { if (level == 1) { sum = randomNumber1 + randomNumber2; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-10 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber1 + " + " + randomNumber2 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); } if (level == 2) { sum = randomNumber3 + randomNumber4; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-100 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber3 + " + " + randomNumber4 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); } } if (level == 3) { sum = randomNumber5 * randomNumber6; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Multiplikation 1-10"); Console.WriteLine("\r\nVad blir " + randomNumber5 + " * " + randomNumber6 + "?"); } } } } } } }

Dold text

Nej, det finns inte.*

Du är inne på helt fel tänk när du vill hoppa runt i koden. Hur gör du när du ska lägga till en funktion och har 20 hoppningar som hoppar fram och tillbaka i koden? Du kommer ha väldigt mycket problem med att hitta var du ska lägga in den nya funktionen, och sedan blir det lätt massa problem.

Det du däremot kan göra är att strukturera om koden, lägga till if's, loppar och funktioner.

*Jo, finns, men ska INTE användas, då får du in fel tänk från början och det är fel fel fel fel. Finns en anledning till att det fanns förut men idag är ett stort NEJ NEJ NEJ. De flesta programmerings språk stödjer inte det eller ger errors om man använder det.

Visa signatur

Programmerare -> PHP | HTML | CSS | JS | Java.

Permalänk
Skrivet av Sony?:

Nej, det finns inte.*

Du är inne på helt fel tänk när du vill hoppa runt i koden. Hur gör du när du ska lägga till en funktion och har 20 hoppningar som hoppar fram och tillbaka i koden? Du kommer ha väldigt mycket problem med att hitta var du ska lägga in den nya funktionen, och sedan blir det lätt massa problem.

Det du däremot kan göra är att strukturera om koden, lägga till if's, loppar och funktioner.

*Jo, finns, men ska INTE användas, då får du in fel tänk från början och det är fel fel fel fel. Finns en anledning till att det fanns förut men idag är ett stort NEJ NEJ NEJ. De flesta programmerings språk stödjer inte det eller ger errors om man använder det.

Yes, men koden är så fuckad just nu så jag har ingen aning om varför grejer är där helt plötsligt och varför jag lagt den där osv..
Hjälp mig, nu funkar inte mycket, rotat runt i koden o grejat o fixat, blir inte klok på skiten.. hahah..

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { class Program { static void Main(string[] args) { Console.Title = ("Mattesnillet 1.0"); int points = 0; int level = 1; int highscorelvl = 0; int answer; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine("Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); string regler = Console.ReadLine(); if (regler == "regler" || regler == "Regler") { Console.Clear(); Console.WriteLine("Du behöver 10 poäng för att komma med i highscorelistan.\r\nDet är 10 poäng mellan varje level, det finns 3 levlar:\r\nLevel 1. Addition 1-10\r\nLevel 2. Addition 1-100.\r\nLevel 3. Multiplikation 1-10."); Console.WriteLine("Tryck på enter för att börja!"); Console.ReadLine(); //Bara för att pausa programmet till användaren trycker på en tangent. } //TOG BORT ELSE{}, det var det Girl menade. //Main programmet körs nu while (true) { Console.ForegroundColor = ConsoleColor.Green; Random random = new Random(); int randomNumber1 = random.Next(1, 11); int randomNumber2 = random.Next(1, 11); int randomNumber3 = random.Next(11, 101); int randomNumber4 = random.Next(11, 101); int randomNumber5 = random.Next(1, 11); int randomNumber6 = random.Next(1, 11); int sum; Console.ForegroundColor = ConsoleColor.Green; if (points == 10) { highscorelvl++; } //TOG BORT IF points == 10 igen while (true) if (level == 1) { sum = randomNumber1 + randomNumber2; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-10 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber1 + " + " + randomNumber2 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (points == 10) { level++; } if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); break; } } if (highscorelvl == 1) { Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); Console.WriteLine("Grattis! Du klarade level " + highscorelvl + "!"); Console.WriteLine("\r\nSkriv in ditt namn i highscore listan!"); string namn = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(namn + " - " + points + " Poäng"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\r\nVill du fortsätta spela?"); string fortsätt = Console.ReadLine(); if (fortsätt == "Ja" || fortsätt == "JA" || fortsätt == "ja" || fortsätt == "japp" || fortsätt == "Japp" || fortsätt == "JAPP" || fortsätt == "Yes" || fortsätt == "YES" || fortsätt == "yes" || fortsätt == "j" || fortsätt == "J" || fortsätt == "y" || fortsätt == "Y") { Console.Clear(); Console.WriteLine("Okej, då fortsätter vi, " + namn); System.Threading.Thread.Sleep(1000); } else { Console.WriteLine("Okej, ses snart igen, " + namn); System.Threading.Thread.Sleep(1500); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Hejdå!"); System.Threading.Thread.Sleep(1500); return; } if (level == 2) { sum = randomNumber3 + randomNumber4; Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Poäng: " + points + " |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Level " + level + "! Addition 1-100 |"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("-----------------------"); Console.WriteLine("\r\nVad blir " + randomNumber3 + " + " + randomNumber4 + "?"); answer = Convert.ToInt32(Console.ReadLine()); if (answer == sum) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Rätt!"); points++; System.Threading.Thread.Sleep(1000); Console.Clear(); break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Fel svar!"); Console.WriteLine("Rätt svar var " + sum); points--; System.Threading.Thread.Sleep(2500); Console.Clear(); break; } } } while (true) { if (level == 3) { sum = randomNumber5 * randomNumber6; Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\r\nLevel " + level + "! Multiplikation 1-10"); Console.WriteLine("\r\nVad blir " + randomNumber5 + " * " + randomNumber6 + "?"); } } } } } }

Permalänk
Medlem

Börja med något sådant. Du får kolla om de stämmer själv

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { internal class Program { public static int points = 0; public static int level = 1; public static int highscorelvl = 0; public static void Init() { Console.Title = ("Mattesnillet 1.0"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine( "Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); } public static void FunctionX(int myLvl) { CheckPoints(); level = myLvl; if (myLvl < 4) { //do something with lvl 1 //give some points etc with a function } else if (myLvl > 3 && myLvl < 7) { //do something with lvl 2 //give some points etc } if (level < 10) { FunctionX(level); } } public static int GivePoints(int point) { points += point; return points; } public static void ResetPoints() { points = 0; } public static void CheckPoints() { if(points >= 10) { level++; ResetPoints(); } } private static void Main(string[] args) { Init(); string regler = Console.ReadLine(); if (regler == "regler" || regler == "Regler") { Console.WriteLine("Regler.Test"); Console.WriteLine("Tryck på enter för att börja!"); Console.ReadLine(); //Bara för att pausa programmet till användaren trycker på en tangent. } FunctionX(level); } } }

Permalänk
Skrivet av vajjan:

Börja med något sådant. Du får kolla om de stämmer själv

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RandomNumber { internal class Program { public static int points = 0; public static int level = 1; public static int highscorelvl = 0; public static void Init() { Console.Title = ("Mattesnillet 1.0"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Välkommen till Mattesnillet 1.0! |"); Console.WriteLine( "Tryck på 'Enter' för att börja, eller skriv 'Regler' | \r\n-----------------------------------------------------"); } public static void FunctionX(int myLvl) { CheckPoints(); level = myLvl; if (myLvl < 4) { //do something with lvl 1 //give some points etc with a function } else if (myLvl > 3 && myLvl < 7) { //do something with lvl 2 //give some points etc } if (level < 10) { FunctionX(level); } } public static int GivePoints(int point) { points += point; return points; } public static void ResetPoints() { points = 0; } public static void CheckPoints() { if(points >= 10) { level++; ResetPoints(); } } private static void Main(string[] args) { Init(); string regler = Console.ReadLine(); if (regler == "regler" || regler == "Regler") { Console.WriteLine("Regler.Test"); Console.WriteLine("Tryck på enter för att börja!"); Console.ReadLine(); //Bara för att pausa programmet till användaren trycker på en tangent. } FunctionX(level); } } }

Heh, jag har ingen aning om vad det där är för nånting. FunctionX?Init()? Public static void? Fattar nada, har ju som sagt inte haft så många lektioner än, har ingen aning om vad det där är, alldeles för komplicerat för mig.

Permalänk

Nu funkar den!
Men går det att skapa en .txt fil där highscore listan sparas?
För jag hade velat att programmet skulle läsa in highscore.txt och om den inte finns, skapa den och lagra alla senaste inskrivna överst, och sedan ska programmet ta in alla dom med högst poäng först.

Permalänk
Medlem

1. Först får du kolla om highscore.txt finns eller inte. Det gör du med File.Exists(din sökväg)
2. Ladda in alla värden i din highscore.txt lista (om filen finns). Du får öppna en filström och binda värderna till ex, en lista (kolla på filestream och foreach loop och hur man binder till en lista)
3. Nu får du kolla det största värdet i listan (kan du spara undan till en egen variabel om du vill)
4. Sedan kör du en omgång i din "app" och jämför om poängen blev större eller mindre än "maxpoints variabeln"
5. Är den större så sparar du ner filen (Återigen med en filström)

Du skulle kunna skapa en highscore.txt innan och skriva ett värde.
OBS glöm inte att lägga filen i debug mappen så blir det enklare.

Permalänk
Skrivet av vajjan:

1. Först får du kolla om highscore.txt finns eller inte. Det gör du med File.Exists(din sökväg)
2. Ladda in alla värden i din highscore.txt lista (om filen finns). Du får öppna en filström och binda värderna till ex, en lista (kolla på filestream och foreach loop och hur man binder till en lista)
3. Nu får du kolla det största värdet i listan (kan du spara undan till en egen variabel om du vill)
4. Sedan kör du en omgång i din "app" och jämför om poängen blev större eller mindre än "maxpoints variabeln"
5. Är den större så sparar du ner filen (Återigen med en filström)

Du skulle kunna skapa en highscore.txt innan och skriva ett värde.
OBS glöm inte att lägga filen i debug mappen så blir det enklare.

File.Exists finns inte! D:

Permalänk
Medlem
Skrivet av LinusNeuman:

File.Exists finns inte! D:

http://www.dotnetperls.com/file-exists