Update README
This commit is contained in:
48
README.md
48
README.md
@@ -1,16 +1,14 @@
|
||||
|
||||
# TextRPG Demo (C# Console)
|
||||
# Clean Code Demo (C# Console)
|
||||
|
||||
En liten, självständig C#‑konsolapplikation som demonstrerar ett turordningsbaserat stridssystem mellan en **Player** och olika **Enemy**‑typer. Fokus ligger på enkla domänobjekt, gränssnitt och en tjänst som orkestrerar striden.
|
||||
|
||||
> **Byt gärna rubriken** till ditt projektnamn.
|
||||
|
||||
---
|
||||
|
||||
## Innehåll
|
||||
|
||||
- Strider mellan spelare och fiender (med boss‑modifierad skada)
|
||||
- Enkelt loot‑system (t.ex. *gold*, *dragon_scale*)
|
||||
- Inventarie som påverkar skada (*sword*) och helning (*potion*)
|
||||
- Enkelt loot‑system (t.ex. _gold_, _dragon_scale_)
|
||||
- Inventarie som påverkar skada (_sword_) och helning (_potion_)
|
||||
- Klara, separata ansvarsområden via gränssnitt (`IAttackable`, `IDescribable`)
|
||||
|
||||
---
|
||||
@@ -76,6 +74,7 @@ GameRunner --> BattleService
|
||||
```
|
||||
|
||||
**Kort om filerna**
|
||||
|
||||
- `GameRunner.cs` – Programstart; sätter upp spelare/fiender och kör exempelstrider.
|
||||
- `BattleService.cs` – Metoder för spelar‑ och fiendeattacker, inklusive boss‑modifiering av skada.
|
||||
- `Player.cs` – Spelarens HP, bas‑skada, inventarie (t.ex. `potion`, `sword`), helning och damage‑beräkning.
|
||||
@@ -89,9 +88,11 @@ GameRunner --> BattleService
|
||||
## Kom igång
|
||||
|
||||
### Förutsättningar
|
||||
|
||||
- **.NET SDK 6.0+** (fungerar fint även på nyare versioner).
|
||||
|
||||
### Klona och kör
|
||||
|
||||
```bash
|
||||
# Klona repo
|
||||
git clone <din-repo-url>
|
||||
@@ -102,22 +103,12 @@ dotnet build
|
||||
dotnet run
|
||||
```
|
||||
|
||||
> **Saknas .csproj?** Skapa ett nytt konsolprojekt och lägg in filerna:
|
||||
```bash
|
||||
# Skapa nytt projekt
|
||||
mkdir TextRpgDemo && cd TextRpgDemo
|
||||
dotnet new console -n TextRpgDemo
|
||||
# Flytta in källfilerna i projektmappen (TextRpgDemo/)
|
||||
# … och kör sedan
|
||||
cd TextRpgDemo
|
||||
dotnet run
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Exempel: flöde och utdata
|
||||
|
||||
Körningen i `GameRunner` gör ungefär detta:
|
||||
|
||||
1. Skapa `Player("Hero", 100, 15)` och lägg till `potion` och `sword` i inventariet.
|
||||
2. Skapa `Enemy("Goblin", 40, 8, Normal)` och `Enemy("Dragon", 120, 25, Boss)`.
|
||||
3. Spelaren och goblinen slåss tills goblinen dör och droppar `gold`.
|
||||
@@ -166,26 +157,3 @@ HP: 48
|
||||
Base DMG: 15
|
||||
Inventory: sword, gold
|
||||
```
|
||||
|
||||
> Notera stavningen `attackts` i loggraden – det speglar koden och kan enkelt rättas i `BattleService` om du vill.
|
||||
|
||||
---
|
||||
|
||||
## Designval och utbyggnad
|
||||
- **Enkla gränssnitt** gör det lätt att lägga till fler typer av entiteter som kan delta i strid.
|
||||
- **Inventarie‑påverkan** visar hur utrustning och konsumtionsobjekt kan förändra beteende (skada/helning).
|
||||
- **Tjänstlager (`BattleService`)** samlar stridsreglerna och gör dem testbara.
|
||||
|
||||
**Möjliga förbättringar**
|
||||
- Enhetstester för `BattleService`, `Player` och `Enemy`.
|
||||
- Bättre utskrift/loggning och lokalisering.
|
||||
- Gränser för max‑HP och skydd mot negativa värden.
|
||||
- Mer avancerat loot‑ och status‑effektsystem.
|
||||
|
||||
---
|
||||
|
||||
## Licens
|
||||
Ange licens här (t.ex. MIT). Lägg gärna till en `LICENSE`‑fil i repo.
|
||||
|
||||
## Kontakt
|
||||
Ägare/underhållare: *ersätt med ditt namn/GitHub‑användare*
|
||||
|
||||
Reference in New Issue
Block a user