Coder Social home page Coder Social logo

dgrothe-phd / mastermind Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 9.23 MB

Desktop word guessing game with English, German and French word lists

License: GNU General Public License v3.0

C# 100.00%
brettspiel riddle-game riddles word-game word-guessing-game wort raetsel

mastermind's Introduction

example event parameter

zur deutschen Version

System requirements

  • Windows 11
  • Windows 10 1607+
  • Windows 8.1
  • Windows 7 SP1
  • Works on both x86 and x64 architecture
  • .NET 6 runtime required, can be easily installed from the link in the message box

Examples ⇒ see images here

Installation

Mastermind is portable, no installation is required. To start the game, unpack the zip and double-click the .exe file.

Game instructions

The inspiration for this came from a board game sold in the last century that we enjoyed playing in the family.
The computer determines a word, which the user is then allowed to guess.
To do this, the user clicks on a letter field and selects the desired letter.

Only capital letters from A-Z are allowed, no umlauts.
The word length can be left at four (as in the board game) or set to three or five.

To end a game or to start a new game, click anywhere in the open game window with the right mouse button and select the appropriate menu item from the context menu strip.

When entering the letters via the keyboard button, all free fields are filled one by one from left to right. Already filled fields will be skipped. So you can put a letter in advance e.g. on the third field and still think about the other fields.

By clicking on a single field, a single letter can be placed or overwritten. Typing of letters and backspace also works as expected.

Evaluation

Clicking the OK button starts the evaluation of the input, if all letters are set.

Now zero to (three, four, or five - depending on the word length) pins appear, which indicate a matching letter by their color.

Example:

Computer chooses:THIS
User tries:WINE
User:PENS
User:THEM⚫⚫
etc.

Portable Anwendung, benötigt keine Installation, einfach das zip entpacken und Doppelklick auf die .exe-Datei.

Spielanleitung

Anregung hierzu gab ein im vorigen Jahrhundert verkauftes Brettspiel, das wir in der Familie gern gespielt haben.
Der Computer legt ein Wort fest, das der Nutzer dann raten darf.
Dazu klickt der Nutzer auf ein Buchstabenfeld und wählt den gewünschten Buchstaben aus.

Erlaubt sind nur Großbuchstaben von A-Z, keine Umlaute.

Die Wortlänge kann - angelehnt an das Brettspiel - bei vier belassen oder auf drei oder fünf gesetzt werden.

Zum Beenden eines Spiels oder zum Neubeginn mit der rechten Maus irgendwo ins geöffnete Spielfenster klicken und den passenden Menüpunkt auswählen.

Bei Eingabe der Buchstaben über den Tastatur-Button werden nacheinander von links nach rechts alle freien Felder gefüllt. Bereits gefüllte Felder werden hierbei übersprungen. Man kann sich also vorab z. B. auf das dritte Feld einen Buchstaben legen und über die anderen Felder noch nachdenken.

Durch einen Klick auf ein einzelnes Feld kann ein einzelner Buchstabe gelegt oder überschrieben werden.

Auswertung

Durch einen Klick auf den OK-Button startet die Auswertung der Eingabe, falls alle Buchstaben gesetzt sind.

Es erscheinen kein bis (drei, vier, oder fünf - je nach Wortlänge) Pins, die durch ihre Farbe anzeigen, ob es einen Treffer gab.

Beispiel:

Computer legt hin:NASS
Teilnehmer legt:WEIN
Teilnehmer legt:NEIN
Teilnehmer legt:NAPF⚫⚫
etc.

mastermind's People

Contributors

dgrothe-phd avatar

Stargazers

 avatar  avatar

Watchers

 avatar

mastermind's Issues

[TEST] Implement Json correctness test

** Scenario to test for**
Improper json word lists should raise a test failure.

** Test steps**
[] Provide Json with incorrect format
[] Provide Json with some word in it of wrong length

add two-user function

Idea: create a function that takes a date and a word to be guessed, w, as parameter and returns some string s a human cannot guess w from.
So a user A sends the string s, by whatever communication means (signal/ WhatsApp/ email …) and user B will paste s in the window form.
That way people could share Mastermind on desktops without worrying about remote access etc.

extend word lists

If you find a word that is not on my lists, feel free to open a PR to append it.

Requirements:

  • Please take care of correct json form and that the word length must fit.
  • Words consisting of letters A-Z only, no umlauts etc.

Speaking functionality

For visually impaired people

  • announce chosen letters as you type
  • mouse enters a line: say line number
  • mouse clicks an evaluated line: say chosen letters as a word
  • speak number of black and white pins on both evaluation and mouse click event

With windows built-in text speaker.

Add sounds

Idea

  • sounds for adding a letter
  • evaluation of guessed word
  • winning jingle

statistics enhancements

Ideas:

  • CSV: Iso date format
  • Show times of last best round
  • Let user clear statistics
  • Let user limit statistics to last n weeks

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.