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
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)
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
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
wiadomość =„Tajna wiadomość”
zaszyfrowana_wiadomość =caesar_encrypt(wiadomość, 3)
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!