File size: 1,017 Bytes
1a07c7c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using System.Text.Json;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDirectoryBrowser(); // Serve static files
var app = builder.Build();

// Serve frontend files
app.UseDefaultFiles();
app.UseStaticFiles();

// Game state
var player = new Player();

// API routes
app.MapGet("/player", () => Results.Json(player));

app.MapPost("/place-building/{name}", (string name) =>
{
    player.Buildings.Add(name);
    return Results.Json(player);
});

app.MapPost("/collect-gold", () =>
{
    player.Gold += 10;
    return Results.Json(player);
});

app.MapPost("/train-troop/{type}", (string type) =>
{
    player.Troops.Add(type);
    return Results.Json(player);
});

app.Run("http://0.0.0.0:7860");

class Player
{
    public int Gold { get; set; } = 100;
    public int Elixir { get; set; } = 50;
    public List<string> Buildings { get; set; } = new() { "TownHall" };
    public List<string> Troops { get; set; } = new();
}