Git Product home page Git Product logo

elusive-enigmas's Introduction

Elusive Enigmas

By: Amphibian Alchemists

Code style: black

Used by the Germans to send covert messages, the WWII Enigma Machine is the most famous encryption device of the 20th Century. As the role of a code receiver for the Germans, you must decipher the message given to you by the commander before the Allies capture you!

Video Demo:

Video Demonstration

Table of Contents:

  • Setup
  • Tutorial
  • Settings (Defaults)
  • Background
  • Sources

Setup

  1. Clone or download this repository.
  2. Ensure you have pip, wheel setuptools and virtualenv in the latest version: python3 -m pip install --upgrade pip wheel setuptools virtualenv
  3. Create a virtual environment in your terminal (e.g. virtualenv venv).
  4. Activate it (source venv/bin/activate or, on Windows, do venv\Scripts\activate.
  5. If you're in Windows, install the Kivy dependencies:
python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*
python -m pip install kivy_deps.gstreamer==0.1.*
  1. If you are in Linux, make sure you have the SLD2 dependencies installed and then install Kivy with: pip install https://github.com/kivy/kivy/archive/stable.zip
  2. Go to the top directory where requirements.txt lives and pip install -r requirements.txt.
  3. In terminal, run main.py by doing python main.py or python3 main.py

Troubles during setup? Check the installation instructions in the Kivy website


Tutorial

In order to start decripting messages, you must first do two things: configure the rotors and the plugboard. In game, you are given a piece of paper with the machine's configurations. Configure the rotors (top) and the plugboard (bottom) according to the paper.

Rotors

Configure the three rotors with the + and - buttons until they match with the instructions on the paper.

Plugboard

Click two ports to create a wire that connects both of them. These ports are labeled with letters. You must connect each letter with its respetive letter pair listed on the paper.

Typing

Once you have those configured, you are ready to decipher! Type the ciphertext listed on the paper into the textbox. If Autoinput is enabled (enabled by default), your mistakes will be ignored. Turn off Autoinput in settings for a challenge!

Beware though, you only have a certain amount of time to decipher the message before the Allies capture you! Decipher the complete message to win the game!

Note: If you have Autoinput off and mistype once, you can no longer win (Remember, The Germans didn't have a backspace key).

You can also have a save point (executed from game menu, not main). You can save your current progress as a save point. If you ever mess up, you can restart that current game from that save point by pressing Load Game in the game menu located at the top left of a game.


Settings (Defaults)

  • Fullscreen: Off
  • Autoinput: On
  • Musics: On
  • Sound effects: On

Background

To gain the full experience, it's best to understand how the machine works.

A diagram of the machine's internal functionality:


Sources


LICENSE

MIT License

Authors: Pancho, YoomamaFTW, sloopoo

elusive-enigmas's People

Contributors

8wgf3b avatar akarys42 avatar albertopoljak avatar aviananalyst avatar biskette avatar charlieadavies avatar cubetastic33 avatar danielbeer avatar ddematto avatar den4200 avatar flextian avatar gables avatar gobig87 avatar hypertyz avatar hypot avatar jetjadeja avatar kuskus265 avatar lavirlifiliol avatar lemonsaurus avatar lukaszahradnik avatar musiconline avatar n0remac avatar omotornyi avatar s-summers avatar salt-die avatar sandhan26 avatar sebastiaanz avatar serkeno avatar vitaljeevanjot avatar yoomamaftw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.