Kaggteknik.se

Projekt 2 - Sänka Skepp

Bakgrund:

Uppgiften går ut på att utveckla det klassiska spelet "Sänka Skepp".
Spelet ska tillåta två spelare att placera ut sina skepp på en karta och sedan turvis försöka skjuta ner motståndarens skepp genom att ange koordinater.

Funktionalitet:

  1. Skapa Kartor:
    Varje spelare ska ha en egen karta där de placerar ut sina skepp utan att visa för motståndaren var de är.
  2. Turtagande:
    Spelet ska involvera turtagande där spelarna försöker skjuta ner motståndarens skepp genom att ange koordinater för sina skott.
  3. Spelets Gång:
    Spelarna ska kunna skjuta på motståndarens kartor genom att ange koordinater för sina skott.
    Kartorna ska uppdateras efter varje skott för att visa träffar och missar.

Spelarens karta
~ ~ X ~ ~ ~
~ ~ 0 ~ O ~
~ X 0 ~ ~ ~
~ X ~ ~ O ~

Datorns karta
~ O ~ ~ ~ ~
~ ~ ~ O ~ ~
~ ~ ~ ~ O ~
~ X O ~ ~ ~

Var vill du skjuta? (X)
6
Var vill du skjuta? (Y)
1

Planering:

  1. Skapa Kartorna:
    Implementera tvådimensionella arrayer för spelarens och datorns kartor.
    Fyll kartorna med tomma platser (~) för att representera vatten.
  2. Placera ut Skepp:
    Låt spelarna placera ut sina skepp på kartorna.
    Implementera möjligheten att slumpmässigt placera skepp för datorn.
  3. Spela Spelet:
    Skapa en loopen som fortsätter tills en spelare vinner.
    Låt spelarna turvis ange koordinater för sina skott och uppdatera kartorna därefter.
    Implementera logiken för att kontrollera om en spelare har vunnit.

Förbättringsförslag:

  1. Menyprogram:
    Lägg till en meny där spelarna kan navigera och välja olika alternativ, som att starta ett nytt spel, justera inställningar eller avsluta spelet.
  2. Grafisk Förbättring:
    Förbättra utseendet och känslan av spelet genom att lägga till grafik eller annan visuell feedback.
  3. Utökad Funktionalitet:
    Erbjud alternativa koordinatinmatningar, som att skriva "B3" istället för att bara ange siffror.
    Implementera inställningar där spelarna kan välja antalet och storleken på skeppen.
  4. Spara Spelinformation:
    Implementera en funktion för att spara spelets status, inklusive vinnare, i en fil för framtida referens eller återupptagande av spelet.
  5. AI Förbättring:
    Förbättra datorns AI så att den agerar smartare istället för att bara slumpmässigt skjuta.
Random:

// Skapa en ny instans av Random
Random random = new Random();

// Generera ett slumpmässigt heltal mellan 0 och 100
int randomNumber = random.Next(0, 101);
Console.WriteLine("Slumptal: " + randomNumber);