Cita: Ahora llevar eso a una función es otra cosa...
No es ni bueno ni malo, es simplemente así.
Los lenguajes de programación tienen funciones para hacer random, y desde luego hay que ir tanteando al azar y verificando las condiciones. Sería algo asi como descubrir una combinación
la idea sería (bueno, tan solo una idea, por ahi viene alguien con más conocimientos y te lo resuelve en tres pasos)
1. construir una grilla de la A a la H
AB
CDEF
GH
2. repartir en la grilla al azar y sin que se repitan los números propuestos y almacenar esa secuencia
3. verifcar que se cumplan las condiciones, probablemente lo más complicado (por ejemplo
Sabes que A no puede ser igual a B+1 ó B-1, y asi con todas
si las condiciones no se cumplen, repartir los numeros nuevamente y si el nuevo orden no está dentro de los almacenados, verificar otra vez, si lo está volver a repartir
De cumplirse todas las condiciones en algún momento, tendrías un resultado válido
Claro que eso habría que llevarlo a la práctica, y como yo me considero solo un discreto programador, no creo que me resulte fácil, pero intentarlo lo voy a intentar.
Como detalle complemetario, en caso de conseguir algo que funcione en la teoría, no sea que al llevarlo a la práctica termine colgándote la PC ó agotando todos los recursos del procesador.
Y hablando de lógica, cual fue la idea de tu post, plantear un desafío, una curiosidad, o eras el destinatario del "háganlo" al que hacés referencia y estás buscando alguien que lo haga por tí
Saludos