Juego infantil para Arduino Enigma máquina (9 / 10 paso)

Paso 9: El código: cifrado

Lo primero que hacemos es girar el rotor más derecha y girar a los otros si es necesario (dependiendo de los valores de vuelta hemos definido anteriormente)

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;
}
}
}

Esta función es básicamente donde sucede toda la magia.  Un valor de entrada además de los valores del rotor y el desplazamiento del rotor actualmente.  Salidas de la carta que saldría de eso un rotor.

Esto realmente no es mucho más que un simple personaje subsitution.  Una verdadera máquina del Enigma lo hizo con los alambres dentro de un rotor.  Hacemos esto varias veces, uno para cada rotor va hacia adelante, entonces lo enviamos a través del reflector, luego a través de los rotores.

int get_rotor_output (int index, char rot [], char rotIndex [], int pos_rot)
{

lo primero que debemos hacer es agregar la posición del rotor para el índice de figura
Qué carta nos sentimos realmente en
Índice += pos_rot;

Si el índice es de más de 25 entonces hemos envuelto alrededor del final de la matriz
por lo tanto restamos 26 de él para conseguir el carácter real
if(index > 25)
{
Índice-= 26;
}

ahora nosotros averiguar el índice de la letra en el alfabeto
es decir, A = 0, B = 1, C = 2, etc..
luego coge la letra en la misma posición en la matriz de rotor
se trata de cómo hacer la sustitución de caracteres
char tmp_letter = putrefacción [find_index (rotIndex, alpha[index])];

Ahora tenemos el índice de la carta que fue salida en el alfabeto
misma idea que por encima de A = 0, B = 1., etc.
Índice = find_index (alfa, tmp_letter);

Ahora restamos la posición del rotor del índice que es salida
Índice = pos_rot;

Si el índice es menor que 0, entonces hemos envuelto de principio
de la matriz, así que vamos a añadir 26 a él para volver a la matriz
if(index < 0)
{
Índice += 26;
}

Ahora vamos a volver el índice de
volver índice;
}

Nota: La imagen en este paso es de Wikipedia

Artículos Relacionados

Añadir dispositivo de juego USB para Arduino Leonardo/Micro

Añadir dispositivo de juego USB para Arduino Leonardo/Micro

Nota importante: Este artículo es para IDE de Arduino versión 1.6.5 (o inferior). Para agregar un dispositivo de juego USB a un Arduino Leonardo o Micro mediante Arduino IDE versión 1.6.6 (o superior) ver el Instructable siguiente: Arduino Leonardo M
Juego protector del RGB LED para arduino

Juego protector del RGB LED para arduino

me preguntaba por qué no hay un montón de juegos hecho por arduino, quiero decir que encontré una página de ellos, pero no fue tht muchos. Así que he decidido que debo tratar de hacer uno de mi propia!Para jugar este juego, usted tiene que emparejar
CupBots - 3D plataforma robótica impresa para Arduino y frambuesa Pi

CupBots - 3D plataforma robótica impresa para Arduino y frambuesa Pi

Aquí es un proyecto de robótica de gran fin de semana para emprender con amigos o gente en su espacio local del fabricante. Usted necesitará una impresora 3D práctico 3D impresión los archivos STL adjuntan como parte de los pasos a continuación y una
Caja para Arduino con corte láser - Uno, Mega, Leonardo, Yun

Caja para Arduino con corte láser - Uno, Mega, Leonardo, Yun

Una caja para nuestras tarjetas Arduino, es un gran aliado para protegerlas y manipularlas de forma más sencilla. ¿Y qué mejor forma para conseguir una caja para tu Arduino fabricarla tú mismo?En este Instructable encontrarás los archivos para fabric
Juego archivo usando arduino

Juego archivo usando arduino

este es un circuito simple para reproducir archivos wav usando arduino Nano V3.0, consta de 4 botones, cada uno reproducir archivo wav específico cargado a la tarjeta SD.Paso 1: partes 1-Arduino Nano V3.0 (yo usé la versión de chino llamada Funduino
Hambre de Minecraft Juegos Videos | Juegos Videos para niños | Juegos de Spiderman Videos 2 - Unidos de juegos

Hambre de Minecraft Juegos Videos | Juegos Videos para niños | Juegos de Spiderman Videos 2 - Unidos de juegos

¿Qué pasa chicos, juegos de Reino, y hoy tengo un nuevo video en YouTube consejos que voy a responder la pregunta "¿Qué hago si mi canal no está creciendo ya?". Si ustedes chicos han afectado a una meseta, voy a estar dando maneras de volver a c
Escudo de ECG para Arduino

Escudo de ECG para Arduino

Recientemente hice shield para arduino que puede medir ECG, respiración, finalmente después de algunos cambios en el PCB y el código, EEG y EMG. Gran ventaja de este escudo es la posibilidad de hacer fácilmente en casa. El escudo está equipado con pa
RGB LCD Shield para Arduino 65K color KIT V2 Asamblea guía

RGB LCD Shield para Arduino 65K color KIT V2 Asamblea guía

protector de la pantalla RGB para Arduino 65K color KIT incluye todos los componentes para armar una lista para usar protector de pantalla LCD para Arduino y placas compatibles como Freeduino.(visita http://store.nkcelectronics.com/rgb-lcd-shield-for
Jugar un juego con un Arduino desnudo

Jugar un juego con un Arduino desnudo

"Push-It"Juego interactivo utilizando una placa Arduino desnudo, sin partes externas o cableado necesario.Empuje-tiene dos propósitos.Para demostrar/verificar rápidamente que trabaja tu placa Arduino y que está configurados correctamente para de
Guían de experimentadores para Arduino ya que se realiza en OIT

Guían de experimentadores para Arduino ya que se realiza en OIT

recursosAdafruit ARDX - v1.3 juego de experimentación para ArduinoGuía de los experimentadores para Arduino (PDF)Diseños de tablero de pan (PDF)Tutorial de Arduino Bundle (instructivo)Este Arduino Tutorial va a ser muy similar a la Arduino Tutorial p
LittleBits Arduino molesto máquina

LittleBits Arduino molesto máquina

Esto es un poco máquina de mi hijo y construí con littleBits. Construido alrededor de littleBits Arduino, esta máquina suena el zumbador a intervalos al azar, que el botón de la persona molesta a veces al azar. Es un prototipo poco agradable de una f
WS2812B LED cubo 96 para arduino magia colorido

WS2812B LED cubo 96 para arduino magia colorido

Hey, chicos, esta es la cuarta vez (prototipos inteligentes) publicamos un instructivo aquíGracias por ver! Nosotros a seguir posteando en instructables divertido. Esto es un cubo mágico LED, esperamos sea útil para usted y nos encantaría comunicarno
Interconexión de circuitos electrónicos para Arduinos

Interconexión de circuitos electrónicos para Arduinos

interconexión de circuitos electrónicos para ArduinoEn este instructable utilizo un ejemplo de interfaz un Arduino a un transmisor-receptor de ARINC 429 para demostrar el proceso general de interconexión un Arduino a circuitos electrónicos para poder
Indicador de dirección para Arduino Robot - interfaz Scratch

Indicador de dirección para Arduino Robot - interfaz Scratch

Recientemente he subido a una guía de la programación de un Cybot utilizando un control de Arduino. En la programación que he creado una interfaz de usuario para visualizar la dirección seleccionada por el usuario. Esta guía le mostrará que haw para