diff --git a/README.md b/README.md index 68fcf0a..b06b6d9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,76 @@ # scream -Console application that implements the Scream Cipher from [XKCD #3054](https://xkcd.com/3054/) +A console application that implements the **Scream Cipher** from [XKCD #3054](https://xkcd.com/3054/). -![](https://imgs.xkcd.com/comics/scream_cipher.png "Scream Cipher") +![Scream Cipher](https://imgs.xkcd.com/comics/scream_cipher.png "Scream Cipher") -It should work across platforms if compiled for that platform. \ No newline at end of file +The Scream Cipher encodes text by replacing each character with an 'A' modified by diacritic marks. This ensures all messages appear as a string of 'A's while still carrying the original meaning. + +## Features + +✔ **Encode** text into the Scream Cipher. +✔ **Decode** Scream Cipher text back into ASCII. +✔ **Cross-platform compatibility** when compiled for the target system. +✔ **UTF-8 support** for proper diacritic display. + +## Installation + +### Prerequisites +- [.NET SDK](https://dotnet.microsoft.com/download) (for building from source) + +### Build & Run + +Clone the repository and navigate to its directory: + +```sh +git clone https://github.com/yourusername/scream.git +cd scream +``` + +Compile and run: + +```sh +dotnet build +dotnet run -- "Hello, world!" +``` + +Or run directly: + +```sh +dotnet run -- "This is a test message." +``` + +## Usage + +### Encoding (Screaming a Message) +To encode a message using the Scream Cipher: + +```sh +dotnet run -- "Hello, world!" +``` + +Example output: +``` +ÁÃÃÃÁ ÃÁÃÄÃÃÁ! +``` + +### Decoding (Quieting a Message) +To decode a Scream Cipher message back to readable text: + +```sh +dotnet run -- -q "ÁÃÃÃÁ ÃÁÃÄÃ" +``` + +Example output: +``` +Hello! +``` + +## License + +This project is licensed under the **GPL 3.0**. See [LICENSE](LICENSE) for details. + +## Acknowledgments + +Inspired by [XKCD #3054](https://xkcd.com/3054/). +Built for fun and screaming efficiency! 🗣️🔠🔥