1. Vyberte metódu kódovania
* Cézarova šifra: Každé písmeno v správe posunie o pevný počet miest.
* Substitučná šifra: Nahradí každé písmeno iným písmenom alebo symbolom.
* Morseova abeceda: Na znázornenie písmen používa bodky a pomlčky.
* Binárny kód: Na vyjadrenie písmen používa 0 a 1.
2. Napíšte svoje funkcie kódovania/dekódovania (príklady jazyka Python)
```pytón
def caesar_encrypt(text, shift):
výsledok =''
pre znak v texte:
if char.isalpha():
start =ord('a') if char.islower() else ord('A')
shifted_char =chr((ord(char) - začiatok + posun) % 26 + začiatok)
inak:
posunutý_char =znak
výsledok +=posunutý_char
vrátiť výsledok
def caesar_decrypt(text, posun):
return caesar_encrypt(text, -shift)
def substitution_encrypt(text, kľúč):
výsledok =''
pre znak v texte:
if char.isalpha():
index =ord(char.lower()) - ord('a')
posunutý_char =kľúč[index]
inak:
posunutý_char =znak
výsledok +=posunutý_char
vrátiť výsledok
def substitution_decrypt(text, kľúč):
výsledok =''
pre znak v texte:
if char.isalpha():
index =key.index(char.lower())
posunutý_char =chr(index + ord('a'))
inak:
posunutý_char =znak
výsledok +=posunutý_char
vrátiť výsledok
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(text):
výsledok =''
pre znak v texte.upper():
if char !=' ':
výsledok +=MORSE_CODE_DICT.get(char, '#') + ' '
inak:
výsledok +=' / '
vrátiť výsledok.strip()
def morse_decrypt(text):
výsledok =''
morse_words =text.split(' / ')
pre slovo v morse_words:
morse_letters =word.split(' ')
pre písmeno v morse_letters:
ak písmeno !='':
pre kľúč, hodnotu v MORSE_CODE_DICT.items():
if value ==písmeno:
výsledok +=kľúč
výsledok +=' '
vrátiť výsledok.strip()
```
3. Poďme sa hrať!
* Vyberte tajnú správu: Vymyslite zábavnú správu, hádanku alebo dokonca vtipný vtip.
* Vyberte metódu kódovania: Rozhodnite sa, ktorú metódu šifrovania použijete (Caesarova šifra, substitúcia, Morseova abeceda atď.)
* Spustite kód: Na zašifrovanie správy použite príslušnú funkciu.
* Zdieľať kódovanú správu: Napíšte zakódovanú správu na kúsok papiera alebo ju zobrazte na obrazovke.
* Vyzvite svoju rodinu: Nechajte ich zistiť kód a rozlúštiť tajnú správu!
Príklad:
```pytón
správa ="Tajná správa"
encrypted_message =caesar_encrypt(správa, 3)
print(encrypted_message) # Výstup:"Vhqvlu Phvvdjh"
```
Ďalšie tipy:
* Náročnosť: Upravte zložitosť metódy kódovania tak, aby zodpovedala veku a zručnostiam vašej rodiny.
* Rady: Ak majú hráči problémy, ponúknite im rady alebo indície, ktoré im pomôžu rozlúštiť kód.
* Urobte to interaktívnym: Použite tabuľu, kriedu alebo digitálny nástroj, aby bol proces pútavejší.
* Zabávajte sa! Cieľom je vytvoriť nezabudnuteľnú a príjemnú rodinnú hernú noc!
Ak máte nejaké otázky alebo ak chcete, aby som vám podrobnejšie vysvetlil niektorý z kódov, dajte mi vedieť. Šťastné kódovanie a dekódovanie!