HT Świat Gier

Jaki jest kod na noc gier rodzinnych z sekretną wiadomością?

Rozpocznijmy ten rodzinny wieczór gier od zabawy w łamanie kodów! Oto opis tworzenia tajnej gry z wiadomościami przy użyciu kodu wraz z przykładami kodu w Pythonie:

1. Wybierz metodę kodowania

* Szyfr Cezara: Przesuwa każdą literę w wiadomości o ustaloną liczbę miejsc.

* Szyfr podstawieniowy: Zastępuje każdą literę inną literą lub symbolem.

* Kod Morse'a: Używa kropek i kresek do reprezentowania liter.

* Kod binarny: Używa 0 i 1 do reprezentowania liter.

2. Napisz funkcje kodowania/dekodowania (przykłady Pythona)

```pyton

Szyfr Cezara

def caesar_encrypt(tekst, przesunięcie):

wynik =''

dla znaku w tekście:

jeśli char.isalpha():

start =ord('a') if char.islower() else ord('A')

shifted_char =chr((ord(char) - start + shift) % 26 + start)

w przeciwnym razie:

przesunięty_char =znak

wynik +=przesunięty_znak

zwróć wynik

def caesar_decrypt(tekst, przesunięcie):

zwróć caesar_encrypt(tekst, -shift)

Szyfr podstawieniowy (prosty przykład, możesz tworzyć bardziej złożone mapowania)

def substitution_encrypt(tekst, klucz):

wynik =''

dla znaku w tekście:

jeśli char.isalpha():

indeks =ord(char.lower()) - ord('a')

shifted_char =klucz[indeks]

w przeciwnym razie:

przesunięty_char =znak

wynik +=przesunięty_znak

zwróć wynik

def substitution_decrypt(tekst, klucz):

wynik =''

dla znaku w tekście:

jeśli char.isalpha():

indeks =klucz.index(char.lower())

shifted_char =chr(indeks + ord('a'))

w przeciwnym razie:

przesunięty_char =znak

wynik +=przesunięty_znak

zwróć wynik

Kod Morse’a (używanie słownika do mapowania)

MORSE_CODE_DICT ={ 'A':'.-', 'B':'-...',

'C':'-.-.', 'D':'-..', 'E':'.',

'F':'..-.', 'G':'--.', 'H':'....',

'I':'..', 'J':'.---', 'K':'-.-',

'L':'.-..', 'M':'--', 'N':'-.',

'O':'---', 'P':'.--.', 'Q':'--.-',

'R':'.-.', 'S':'...', 'T':'-',

'U':'..-', 'V':'...-', 'W':'.--',

'X':'-..-', 'Y':'-.--', 'Z':'--..',

'1':'.----', '2':'..---', '3':'...--',

'4':'....-', '5':'.....', '6':'-....',

'7':'--...', '8':'---..', '9':'----.',

'0':'-----', ', ':'--..--', '.':'.-.-.-',

'?':'..--..', '/':'-..-.', '-':'-....-',

'(':'-.--.', ')':'-.--.-'}

def Morse_encrypt(tekst):

wynik =''

dla znaku w text.upper():

jeśli znak !=' ':

wynik +=MORSE_CODE_DICT.get(char, '#') + ' '

w przeciwnym razie:

wynik +=' / '

zwróć wynik.strip()

def Morse_decrypt(tekst):

wynik =''

Morse_words =tekst.split(' / ')

dla słowa w Morse_words:

Morse_letters =word.split(' ')

dla listu w Morse_letters:

jeśli litera !='':

dla klucza, wartość w MORSE_CODE_DICT.items():

jeśli wartość ==litera:

wynik +=klucz

wynik +=' '

zwróć wynik.strip()

```

3. Zagrajmy!

* Wybierz tajną wiadomość: Pomyśl o zabawnej wiadomości, zagadce, a nawet zabawnym dowcipie.

* Wybierz metodę kodowania: Zdecyduj, jakiej metody szyfrowania użyjesz (szyfr Cezara, podstawienie, alfabet Morse'a itp.)

* Uruchom kod: Użyj odpowiedniej funkcji, aby zaszyfrować wiadomość.

* Udostępnij zakodowaną wiadomość: Zapisz zakodowaną wiadomość na kartce papieru lub wyświetl ją na ekranie.

* Rzuć wyzwanie swojej rodzinie: Pozwól im odgadnąć kod i odszyfrować tajną wiadomość!

Przykład:

```pyton

Tajna wiadomość

wiadomość =„Tajna wiadomość”

Szyfruj przy użyciu szyfru Cezara z przesunięciem 3

zaszyfrowana_wiadomość =caesar_encrypt(wiadomość, 3)

Wydrukuj zaszyfrowaną wiadomość

print(encrypted_message) # Wynik:„Vhqvlu Phvvdjh”

```

Dodatkowe wskazówki:

* Trudność: Dostosuj złożoność metody kodowania do wieku i umiejętności swojej rodziny.

* Wskazówki: Jeśli gracze mają trudności, zaoferuj wskazówki lub wskazówki, które pomogą im złamać kod.

* Uczyń to interaktywnym: Użyj tablicy, kredy lub narzędzia cyfrowego, aby proces był bardziej wciągający.

* Baw się dobrze! Celem jest stworzenie niezapomnianego i przyjemnego wieczoru gier rodzinnych!

Daj mi znać, jeśli masz jakieś pytania lub chcesz, abym wyjaśnił którykolwiek fragment kodu bardziej szczegółowo. Miłego kodowania i dekodowania!


https://pl.htfbw.com © HT Świat Gier