Jeu de l’enfant à la Machine Enigma Arduino (9 / 10 étapes)

Étape 9: Le Code : cryptage

La première chose à faire est de tourner le rotor plus droit et les autres spin si nous devons (selon les valeurs de spin nous avons définies plus haut)

pos_rotor3 += 1 ;
if(pos_rotor3 > 25)
{
pos_rotor3 = 0 ;
}

if(pos_rotor3 == spin_r3)
{
pos_rotor2 += 1 ;
if(pos_rotor2 > 25)
{
pos_rotor2 = 0 ;
}
if(pos_rotor2 == spin_r2)
{
pos_rotor1 += 1 ;
if(pos_rotor1 > 25)
{
pos_rotor1 = 0 ;
}
}
}

Cette fonction est essentiellement là toute la magie opère.  Une valeur est entrée en plus des valeurs de rotor et l’offset du rotor est actuellement.  Il sorties la lettre qui sortait de ce un rotor.

Ce n’est vraiment pas beaucoup plus qu’une possibilité de substitution de caractères simples.  Une véritable machine Enigma avait déjà fait avec des fils à l’intérieur d’un rotor.  Nous faisons cela plusieurs fois, une pour chaque rotor va vers l’avant, puis nous l’envoyer dans le réflecteur, puis retour dans les rotors.

int get_rotor_output (int index, la pourriture de char [], char rotIndex [], int pos_rot)
{

première chose que nous devons faire est d’ajouter la position du rotor à l’index de comprendre
quelle lettre, nous sommes vraiment sur
index += pos_rot ;

Si l’index est plus de 25, alors nous avons enveloppé autour de la fin du tableau
donc nous allons soustraire 26 de lui pour rejoindre le véritable caractère
if(index > 25)
{
index-= 26 ;
}

maintenant nous trouver l’index de la lettre dans l’alphabet
ex. de A = 0, B = 1, C = 2, etc..
puis nous saisir la lettre dans la même position dans le tableau de rotor
C’est comment nous faisons la substitution de caractères
char tmp_letter = pourriture [find_index (rotIndex, alpha[index])] ;

maintenant, nous obtenons l’index de la lettre qui a été sortie de l’alphabet
même idée que ci-dessus A = 0, B = 1., etc.
indice = find_index (alpha, tmp_letter) ;

Maintenant, nous soustrayons la position du rotor de l’index qui est sortie
indice = pos_rot ;

Si l’index est inférieur à 0, alors nous avons enveloppé hors le début
du tableau, donc nous allons ajouter 26 lui revenir dans le tableau
if(index < 0)
{
indice = 26 ;
}

maintenant nous allons retourner l’index
retour index ;
}

Remarque : L’image de cette étape est de Wikipedia

Articles Liés

Origami, y compris le jeu de l’enfant

Origami, y compris le jeu de l’enfant

cela vous montre comment faire un enfant à l'aide de papier de jeu.  Vous pliera un origami de 4 coin.Vous avez besoin d'un morceau de papier carré.1. plier les quatre coins au centre.2. Retournez le papier.3. Pliez encore une fois aux quatre coins a
Jeu de voiture de Tetris comme avec Arduino

Jeu de voiture de Tetris comme avec Arduino

Il s'agit d'un jeu de course de voiture simple fait avec Arduino Uno.Etape 1: Le circuitTu as besoin de:Écran LCD, 2 lignes, 16 colonnes2 potentiomètresJoystick pouceArduino UNOLe schéma se trouve dans le fichier arduino_race_car.txt.Si vous ne l'aim
Maison CNC fraisage machine v2 - arduino uno début

Maison CNC fraisage machine v2 - arduino uno début

Ici, je voulais présenter mon deuxième fraiseuse cnc. À l'heure actuelle, il est prêt 1 axe avec contrôle arduino début. En fin de compte, je vais ajouter que plus d'étapes construit ma machine dans l'ordre de leur création. L'objectif de ce projet e
Machine à café Arduino

Machine à café Arduino

J'ai fait ce projet parce que c'était gênant démarrer la machine, que revenir 1 minute plus tard, quand la machine à café est assez chaude pour actionner l'interrupteur. Allumez l'interrupteur pendant 10 secondes, puis désactivez-la si la machine se
Machine Candy Arduino

Machine Candy Arduino

IntroductionJ'ai voulu créer un dispositif qui se distribuent bonbons, (mais il est possible de puiser beaucoup plus car il est fait de LEGO, le conteneur est personnalisable à votre goût) alors j'ai commencé à penser et avec de nombreux conception i
Table de jeu pour les enfants

Table de jeu pour les enfants

Il s'agit d'un attaquant assez détroit instructable pour une table de jeu d'enfants. Le tout fonctionne également comme un gentil lightsource dans notre salon pour chaque fois que nous en avons besoin.Étape 1: La base : IKEA ! Pour les coffrets de 2
Personnalisée jeu pour chaque enfant

Personnalisée jeu pour chaque enfant

Mes neveux sont venus pour une visite de ma maison et je voulais faire quelque chose de très spécial pour eux. À l'aide de leurs personnages de film préféré, j'ai fait une vidéo qui les amène sur une chasse au Trésor autour de ma maison.Découvrez la
Faire votre propre réplique Enigma

Faire votre propre réplique Enigma

EDIT : Ce Instructable a remporté la deuxième prix au concours de microcontrôleur 2013 Radio Shack. Merci à tous ceux qui ont voté !Edit2 : Une énigme ouverte avec faux Tubes Nixie Standup comme ceux sur la photo dans ce Instructable sera bientôt dis
Arduino griffe Machine

Arduino griffe Machine

CE QUI ?La machine est sur l'échelle de 1:4, parfait pour les bonbons et autres petits jouets/prix. L'empreinte est de ~ 20 x 26 x 19 pouces, faites à partir d'aluminium extrudé, laser personnalisé coupe acrylique/bois, moteurs pas à pas (Nema17) et
Contrôleur de jeu Bluetooth avec accéléromètre et Arduino

Contrôleur de jeu Bluetooth avec accéléromètre et Arduino

Tout le monde aime jouer à des jeux sur PC:) Consoles de jeux les prennent au prochain niveau et quoi de plus amusant que de faire un vous-même ? Ici, nous avons construit une console de jeu avec l'accéléromètre, Arduino et Bluetooth. L'accéléromètre
Arduino Leonardo/Micro comme contrôleur/manette de jeu

Arduino Leonardo/Micro comme contrôleur/manette de jeu

Remarque importante : Cet article est pour Arduino IDE version 1.6.6 (ou supérieure). Pour ajouter un contrôleur de jeu USB à un Arduino Leonardo ou le Micro à l'aide de l'IDE Arduino version 1.6.5 (ou au-dessous) Voir l'Instructable suivante : ajout
Ajouter contrôleur de jeu USB pour Arduino Leonardo/Micro

Ajouter contrôleur de jeu USB pour Arduino Leonardo/Micro

Remarque importante : Cet article est pour Arduino IDE version 1.6.5 (ou au-dessous). Pour ajouter un contrôleur de jeu USB un Arduino Leonardo ou le Micro à l'aide de l'IDE Arduino version 1.6.6 (ou supérieur) Voir l'Instructable suivant : Arduino L
Arduino basé jeu de Pong Bi-color LED Matrix

Arduino basé jeu de Pong Bi-color LED Matrix

Nous avons créé deux projet de jeu instructables jusqu'en utilisant les kits Bi-color LED Matrix Driver Module SLT jolliFactory que nous avons conçu. Ce module LED Matrix est conçu pour pouvoir chain-donc vous pouvez chaîner les modules ensemble au n
Faites de votre propre poche Enigma(tm)-aime Machine

Faites de votre propre poche Enigma(tm)-aime Machine

je travaille comme administrateur système et ont beaucoup trop de mots de passe pour suivre.  J'ai l'habitude d'utiliser un des ces dongles de mot de passe pour les militaires, mais entre les piles usagées, la taille de la chose et de divers autres d