A Room-Escape game made by Clojure, playing with telnet and pure-text commands - Part 1

Code path:

https://github.com/bluesilence/Lisp/tree/master/clojure/projects/room-escape

As I have been a fan of room-escape games, there have always been a desire to make my own story of a room-escape game. However, I‘m not a UX and don‘t know much about GUI. So I created this pure-text room-escape game, with scalable API for new stories.

1. Build the model of a room

To begin with, I pictured a draft room, with nothing but a door and a table.

Then the door needs to have a locker and a key to escape from it.

Now where to put the key?

I decided to hide the key into a safe with a password panel. The player have to enter the correct password to open it.

Then how does the player find clue about the password?

I designed to leave some message on a card which is placed on the table. When player picks the card and examine it, he/she will get the riddle on the card.

Check the scratch below:

That‘s all the story for a simple room to escape from!

The following chapters will explain how the program works.

时间: 2024-11-09 20:35:29

A Room-Escape game made by Clojure, playing with telnet and pure-text commands - Part 1的相关文章

[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 tra

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

Code Path: https://github.com/bluesilence/Lisp/blob/master/clojure/projects/room-escape/. Data Model Based on the draft, the data models can be built of 4 major units: 1. Story It's the base unit of a room-escape story. The storyhas following members

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

Code Path: https://github.com/bluesilence/Lisp/blob/master/clojure/projects/room-escape/src/room_escape/script.clj Extract Story to TXT In order to move the story from .clj into .txt, I leveraged Clojure's eval function. The steps are as follows: 1.

Escape character is ‘^]’什么意思?怎么使用telnet

在linux/unix下使用telnet(telnet ip 端口号)连接主机时提示“Escape character is '^]'.”,这是什么意思?“^”是Ctrl键的意思!1.这个提示的意思是按Ctrl + ]会呼出telnet的命令行!2.telnet命令行出来后,就可以执行telnet命令了:3.退出telnet命令行的名为quit. [[email protected] ~]# telnet 47.95.88.99 80 Trying 47.95.88.99... Connecte

c#模拟js escape方法(转)

实现URI字符串转化成escape格式的字符 public static string Escape(string s)         {             StringBuilder sb = new StringBuilder();             byte[] ba = System.Text.Encoding.Unicode.GetBytes(s);             for (int i = 0; i < ba.Length; i += 2)           

Clojure:读取xml

在Clojure中读取XML是很容易的.比如我们有一个名叫strings.xml文件: 1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <string name="site-title">FY行情在线</string> 4 <string name="home">主页</string> 5

Linux系统shell脚本编程——生产实战案例

Linux系统shell脚本编程--生产实战案例     在日常的生产环境中,可能会遇到需要批量检查内网目前在线的主机IP地址有哪些,还可能需要检查这些在线的主机哪些端口是开放状态,因此依靠手工来检查是可以实现,但比较费时费力,所以需要结合shell脚本来实现批量检查的功能,那么今天就来做个小小的实验. 1.开发脚本前准备 一般大家都知道,测试主机是否在线,常用的命令无非就是ping.nmap,因此,首先找一个地址来测试下ping命令的效果 [[email protected] scripts]

Windows 8.1 应用再出发 - 几种新增控件(2)

原文:Windows 8.1 应用再出发 - 几种新增控件(2) 本篇我们接着来介绍Windows 8.1 的新增控件,分别是:Flyout.MenuFlyout.SettingsFlyout.Hub 和 Hyperlink. 1. Flyout Flyout被称为浮出控件,能起到提示或者简单交互作用.我们可以利用它来要求用户确认操作.收集用户输入信息或显示提示信息等.只有当用户点击时才显示Flyout,当点击外部任意点时,Flyout消失. Flyout通常会附加到Button上,所以Butt

【5】iptables理解 - mangle表

mangle表:可以对数据包进行修改,此表中的链与其它表中的关系如下: 数据包从网卡接口进来后,最先经过的就是mangle表中的prerouting链.此表中有五条链: iptables -t mangle -L -n Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain FOR