¿Cómo programarías al personaje de Pac-man para evitar a los fantasmas si los fantasmas fueran controlados por humanos?

Depende de cómo quieras que funcione el juego.

La forma más simple es verificar en cada cruce qué camino se aleja de la mayoría de los fantasmas, y tomar ese camino. También déjelo girar si se corta. Esto podría ser ingenuo (todos los fantasmas tienen una coordenada x menor que la mía, así que iré a la derecha), o atravesar la gráfica del laberinto para calcular la distancia.

operar en el gráfico lógico del laberinto será más fructífero para las IA más inteligentes. Puedes fingir que el juego es un juego basado en turnos, con cada longitud del corredor tomando varios turnos en función de su longitud. A continuación, puede crear un gráfico de posibles resultados del juego en función de las direcciones en que se pueden mover las cosas. Esto se puede reducir asumiendo que continuarán siguiendo un pasillo hasta llegar a un cruce la mayor parte del tiempo. Esto es un máximo de 16 resultados posibles para un turno cuando todos se encuentran en un cruce al mismo tiempo.

A continuación, puede realizar una búsqueda a través de estos estados para encontrar el que lo mantenga con vida por más tiempo. Al igual que con el ajedrez, puedes aplicar varias técnicas para mejorar esto. Es probable que haya optimizaciones basadas en los pasos de colapso en “hasta que alguien alcance una jungción”. Se podría crear una métrica de puntuación basada en la distancia de los fantasmas desde pacman en un momento dado, o tal vez cuántos pasajes abiertos tiene disponibles.

Manera fácil :

Yo mediría el camino a los otros fantasmas. Pacman debe seguir el camino donde está lo más lejos posible de los fantasmas.

Manera difícil :

El fantasma se mueve diferente en el Pac-Man original . El fantasma rojo te está atacando. La naranja simplemente sigue su camino, sin ningún objetivo. El rosa quiere meterte en una trampa. El azul claro a veces se mueve así, a veces así.

Escribiría un algoritmo que observa a los fantasmas y calcula la forma más segura a través del laberinto.

No puede resolver el Nivel 256 (“Nivel de pantalla dividida”). Es técnicamente imposible. Entonces el juego no tiene “fin”. Simplemente no puedes jugar más.

Más: Pac-Man – Wikipedia

Dato curioso :

¡El juego original se llamaba Puck-man !

Supongo que dependerá de cuánto conocimiento quieras que tenga el pacman.

Podrías hacerlo basándose en si el hombre pac puede “ver” al fantasma. Entonces, si había un fantasma en el mismo pasillo que el pacman y se movía hacia él, intentaría evitarlo. Esto sería muy fácil de codificar, pero conduce a una IA de mierda.

Puede hacer que el pacman solo preste atención a la línea en la que se encuentra y al siguiente turno en su línea actual de ruta. Si un fantasma se mueve hacia él, él trabaja para evitarlo (aléjese o siga otro camino). Un poco mejor en cuanto a inteligencia artificial, pero las imágenes fijas tienen muchos defectos que podrían solucionarse.

Podría hacer que Pac-man haga todo el párrafo anterior, pero también trabaje activamente para evitar ser arrinconado a menos que sea la única opción que le queda.

Podrías hacer todo lo anterior y hacer que pac-man sea capaz de saber si sería capaz de pasar al siguiente turno o pasar por un fantasma que se toparía con él pero que requeriría un giro para hacerlo.

Incluso podría ir más allá e intentar crear una IA que aprenda, pero eso supone un gran esfuerzo.

Mira mi biografía ¿Ves la palabra “incipiente” allí? Eso significa que no soy profesional en esto (todavía). Pero responderé de todos modos.

si declaraciones.

Sí. más o menos Tenga algún tipo de algoritmo que mapee el “tablero”, determine a dónde es más probable que vayan los jugadores y evite ese camino.

~ Atlas