[Clojure] A Room-escape game, playing with Telnet and Pure-text Commands-part 4

Source: Internet
Author: User

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 a 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 an 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.

Not sure if it can be opened within the GFW, though. :P

[Clojure] A Room-escape game, playing with Telnet and Pure-text Commands-part 4

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.