You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-3
Original file line number
Diff line number
Diff line change
@@ -10,14 +10,37 @@ When you're in that situation along with a friend or family member, it's even mo
10
10
11
11
Since I cannot actually manufacture a plastic ball filled with liquid, I have at least ensured that the set of answers that are possible for any given question are the original set from the toy.
12
12
13
+
## Installation
14
+
15
+
I am impressed with [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools). I've always wanted to try `CMake` because it seems like if you do it right, you can build your software anywhere–and that appears to be true in this case. There is a learning curve for sure, but I've become a fan.
16
+
17
+
You either need to install the CMake Tools extension and then execute `CMake: Configure`, and then `CMake: Build`. I have only tested this on macOS and Ubuntu, so *YMMV*.
18
+
19
+
If the build is successful, you will find the `build/magic-eightball` binary ready for use.
20
+
21
+
> I have not configured an install step; it's on the TODO list, so you'll have to manually move it somewhere useful.
22
+
13
23
## Basic usage
14
24
15
-
Lorem ipsum foo bar
25
+
The CLI app is very straightforward–if you execute it with the `-q` parameter, it will just provide and answer and quit. Otherwise it enters an interactive mode where you can keep asking questions until you enter `q`.
26
+
27
+
I have some plans for the CLI app that I am excited about:
28
+
29
+
- I would like to add new categories of responses. I know this is a breakaway from the traditional toy, but I think if we crowdsourced it, we could come up with some gems. Perhaps different categories of new responses.
30
+
- I am going to rewrite the way the ASCII art is generated; it will be off by default, and there will be several options to choose from when opting for that type of output.
31
+
32
+
## Web interface
33
+
34
+
There is now a complete working PHP-based web interface to the `magic-eightball` program. You'll find that it's in the `web` folder, and really all you'd need to do to start your own instance is upload the contents of the `web` folder *(to a server with PHP obviously)*, install `magic-eightball` on the server where PHP could interact with it and you'd be set.
35
+
36
+
I have just tonight completed a somewhat-presentable version of the web interface, which is online at [https://rml.dev/magic-eightball/](https://rml.dev/magic-eightball/). I've got work to do on reactive/mobile stuff, but the main bits should at least be functioning.
37
+
38
+
I would grealy appreciate any input you might have about this project, so please write if you have something in mind!
16
39
17
40
## Technical jargon
18
41
19
-
It uses the STL's [Mersenne Twister](https://en.wikipedia.org/wiki/Mersenne_Twister) implementation (`mt19937`), and seeded with the [CRC32](https://en.wikipedia.org/wiki/Cyclic_redundancy_check) checksum of the question input text.
42
+
For those of you wondering how it generates pseudo-random answers, it utilizes the STL's [Mersenne Twister](https://en.wikipedia.org/wiki/Mersenne_Twister) implementation `mt19937`, and seeded with the [CRC32](https://en.wikipedia.org/wiki/Cyclic_redundancy_check) checksum of the question input text.
20
43
21
44
### TODO
22
45
23
-
-[ ] There should be a platform-specific `install prefix`, but an obvious way is not presenting itself.
0 commit comments