[Clojure] A Room-Escape game, playing with telnet and pure-text commands - Part 4

Code Path:

https://github.com/bluesilence/Lisp/blob/master/clojure/projects/room-escape/src/room_escape/core.clj


E2E Process

Now it's time to put the stuff altogether.

The body of the core class is a looping echo server, with the following status transitions:

1) Display welcoming message upon a player's arrival;

2) Initialize current player, including room-selection and context initialization. After that, display an action list for the player to start with;

3) Loop until the player doesn't continue to play, either due to quiting or due to winning the game:

3-1) Display a prompt to indicate the player to enter a command, either short-name or full-name;

3-2) Look up the matched command and execute with arg list parsed along with the command;

3-3) Determine if the player has won the game.

3-3-1) If yes, display the winning message and prompt a choice on whether to return to the main menu or quit the game.

3-3-2) If no, determine if the command is "quit".

3-3-2-1) If no, recur to the beginning of the loop;

3-3-2-2) Else, display goodbye message and disconnect the player from the server.


Demo

Here's a demo video.

But you may not have access to it...:P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值