diff --git a/client/main.ts b/client/main.ts index 999bcc1..1ca93fc 100755 --- a/client/main.ts +++ b/client/main.ts @@ -14,18 +14,27 @@ import { const log = log_from(import.meta); async function main() { + const args = parse_args(Deno.args); + log("Client starting."); - const interface_ = await ServerInterface.connect(9999); - new InputHandler(interface_.outputs).spin(); + const interface_ = await ServerInterface.connect(args.port); const display = new DisplayHandler(interface_.outputs); - display.spin(); new MsgHandler(interface_.inputs, display).spin(); + new InputHandler(interface_.outputs).spin(); + display.spin(); log("Connected."); interface_.outputs.send({ kind: "ping", content: { message: "Machin." } }); log("Sent ping."); } +function parse_args(args: string[]) { + const [port_] = args; + let port = 9999; + if (port_ !== undefined) port = parseInt(port_); + return { port }; +} + class MsgHandler { receiver; display; diff --git a/server/main.ts b/server/main.ts index 1a67098..5e88b52 100755 --- a/server/main.ts +++ b/server/main.ts @@ -10,6 +10,8 @@ import { enemy_plugin } from "./entities/enemy.ts"; const log = log_from(import.meta); async function main() { + const args = parse_args(Deno.args); + log("Starting."); const engine = new Engine(); enemy_plugin(engine); @@ -18,12 +20,18 @@ async function main() { engine.run(await sys_spawn_structure("../data/structures/houses.txt", v2(2, 2))); engine.run(sys_spawn_enemy(v2(1, 1))); - const port = 9999; - const gateway = new Gateway(port); + const gateway = new Gateway(args.port); log("Awaiting connection."); for await (const client of gateway.accept()) { Session.init(client, engine).start(); } } +function parse_args(args: string[]) { + const [port_] = args; + let port = 9999; + if (port_ !== undefined) port = parseInt(port_); + return { port }; +} + if (import.meta.main) await main();