示例#1
0
        public GameModule()
            : base("game")
        {
            var output = new AppOutput();
            var app = new ChessApp(output);

            Post["new"] = _ =>
            {
                app.Handle(new CreateGameAppCommand());
                return Response.AsJson(output.NewGame);
            };

            Post["join/{id}/iam/{playerName}/playing/{colour}"] = parameters =>
            {
                string gameId = parameters.id;
                string playerName = parameters.playerName;
                var colour = GetColour(parameters.colour);
                if (colour == null)
                {
                    return HttpStatusCode.BadRequest;
                }
                app.Handle(new JoinGameAppCommand(gameId, playerName, colour));
                return $"{playerName} joined game {gameId} as {colour}";
            };
        }