Inlägg

Inlägg som freshadesha har skrivit i forumet
Av freshadesha

https://www.draw.io/#G0By8h1fe2h1BqU2JDT2pMRjZia00

så här ska programmet fungera om det blir lättare att förklara.

Av freshadesha

fan sorry fattar nada, kan ni förklara på något annat sätt. känner mig helt ut och cyklar nu, men förstår ingenting....

Av freshadesha
Skrivet av Pamudas:

Just nu har du skrivit så att din while-loop alltid kommer att köras. Du måste på något vis kunna avsluta din loop, t.ex. när användaren gissat rätt ord.

bool continue = true; while(continue){ //Gissa ordet string ord = Console.ReadLine(); if(ord == slumpatord){ continue = false; }else{ //Du har gissat fel } }

Det går även att göra på ditt sätt, men då måste du bryta loopen med "break;" där du vill att det ska brytas. T.ex.

while(true){ //Gissa ordet string ord = Console.ReadLine(); if(ord == slumpatord){ break; }else{ //Du har gissat fel } }

har skrivit in det här nu men får felmeddelande Operator '==' cannot be applied to operands of type 'string' and 'Random'. varför blir det så?

case 2: Console.WriteLine("\tMata in gissning"); Random word = new Random(); int index = word.Next(0, 5); while (true) { string Ord = Console.ReadLine(); if (Ord == word) { Console.WriteLine("Grattis du gissa rätt"); break; } else { Console.WriteLine("Du har gissat fel"); } } break;

Av freshadesha

eller hur ska jag skriva för när jag gör att man skrivit in fel ord så att loopen körs igen tills det blir rätt?

Av freshadesha

@perost:

så om jag lägger till så här:

bool isRunning = true; while (isRunning) { Console.WriteLine("\n\t------Välkommen till Menyn------"); Console.WriteLine("\n\t[1] Mata in spelord"); Console.WriteLine("\n\t[2] Mata in gissning"); Console.WriteLine("\n\t[3] Avsluta spelet"); Console.Write("Välj mellan 1-3: "); int menyVal = Convert.ToInt32(Console.ReadLine()); int.TryParse(Console.ReadLine(), out menyVal); switch (menyVal) { case 1: Console.WriteLine("\tMata in spelord"); spelord[0] = Console.ReadLine(); spelord[1] = Console.ReadLine(); spelord[2] = Console.ReadLine(); spelord[3] = Console.ReadLine(); spelord[4] = Console.ReadLine(); Console.Clear(); break; case 2: Console.WriteLine("\tMata in gissning"); Random word = new Random(); int index = word.Next(0, 5); while (true) { Console.WriteLine("Grattis du har gissat rätt"); } case 3: isRunning = false; break; default: Console.WriteLine("\n\tFelaktig inmatnig, pröva något annat"); break; } Console.ReadLine();

blir det rätt då eller kommer jag behöva lägga till mer grejer för att få det att funka och vad isåfall?

Av freshadesha

glömde det, la till det där uppe

Av freshadesha

hjälp med programmering 1 c#

hej, ska skapa ett spel där jag ska använda mig av en array med 5 index, där användaren ska kunna lägga till 5 ord som sedan ska kunna användas för att man ska ta dom orden användaren har skrivit in och random ta fram ett ord som användaren själv ska gissa sig fram till rätt ord.

vet att man ska använda sig av en while-loop tills användaren gissar rätt och annars ska det bara fortsätta tills ordet är rätt.
vet dock inte hur jag ska få till så att man använder sig av sin array för att random ta ett ord och sedan låta användaren gissa sig fram, har letat skitlänge och inte hitta något. har en bok som "ska" vara till hjälp men den förklara så dåligt och den ger inget vettigt att använda så skulle behöva lite hjälp.

så här långt har jag kommit än så länge.

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Projekt___komplettering { class Program { static void Main(string[] args) { string[] spelord = new string[5]; bool isRunning = true; while (isRunning) { Console.WriteLine("\n\t------Välkommen till Menyn------"); Console.WriteLine("\n\t[1] Mata in spelord"); Console.WriteLine("\n\t[2] Mata in gissning"); Console.WriteLine("\n\t[3] Avsluta spelet"); Console.Write("Välj mellan 1-3: "); int menyVal = Convert.ToInt32(Console.ReadLine()); int.TryParse(Console.ReadLine(), out menyVal); switch (menyVal) { case 1: Console.WriteLine("\tMata in spelord"); spelord[0] = Console.ReadLine(); spelord[1] = Console.ReadLine(); spelord[2] = Console.ReadLine(); spelord[3] = Console.ReadLine(); spelord[4] = Console.ReadLine(); Console.Clear(); break; case 2: Console.WriteLine("\tMata in gissning"); while (true) { Console.WriteLine("Grattis du har gissat rätt"); } case 3: isRunning = false; break; default: Console.WriteLine("\n\tFelaktig inmatnig, pröva något annat"); break; } Console.ReadLine(); } } } }