Exempel: Logik med bool-variabler
🧠 Syfte
Det här kodexemplet visar hur vi kan använda flera bool-variabler tillsammans för att fatta ett mer komplicerat beslut. Tänk dig ett enkelt spel där du behöver en nyckel och måste stå vid rätt dörr för att vinna.
💻 Koden
using System;
class Program
{
static void Main()
{
// Definiera våra villkor
bool hasKey = true;
bool isAtRedDoor = false;
bool isAtBlueDoor = true;
Console.WriteLine("Du står framför två dörrar, en röd och en blå.");
Console.WriteLine($"Har du nyckeln? {hasKey}");
// Koden kollar olika villkor i ordning
if (hasKey && isAtBlueDoor) // Har du nyckeln och står vid den blå dörren?
{
Console.WriteLine("Grattis! Du öppnade den blå dörren och vann spelet!");
}
else if (hasKey && isAtRedDoor) // Står du vid den röda dörren med nyckeln?
{
Console.WriteLine("Grattis! Du öppnade den röda dörren och vann spelet!");
}
else if (!hasKey) // ! betyder "inte", så !hasKey betyder "om hasKey är false"
{
Console.WriteLine("Dörrarna är låsta. Du behöver hitta nyckeln först.");
}
else
{
Console.WriteLine("Något gick fel. Du står varken vid den röda eller blå dörren.");
}
}
}
📋 Förklaring
- Variabler: Vi startar med att sätta upp våra “sanningar”. Spelaren
hasKey, men står inte vid den röda dörren (isAtRedDoorärfalse), utan vid den blå (isAtBlueDoorärtrue). - Första
if: Programmet kollarif (hasKey && isAtBlueDoor).&&betyder “OCH”, så båda villkoren måste varatrue. Eftersom båda ärtrue, körs koden inuti detta block och programmet är klart. else if: Om spelaren hade stått vid den röda dörren (isAtRedDoorvartrueochisAtBlueDoorvarfalse), hade den förstaif-satsen misslyckats och programmet hade testat denna istället.!hasKey: Lägg märke till utropstecknet!. Det är en “NOT”-operator som vänder på enbool.!trueblirfalse, och!falseblirtrue. Det är ett smidigt sätt att kolla om något är falskt.- Sista
else: Om ingen av de tidigare villkoren var sanna, körs den sistaelse-satsen. Det är en säkerhetsåtgärd för att hantera oväntade situationer.