Innanzitutto, questa è AI per PacMan e non i fantasmi .
Sto scrivendo uno sfondo animato Android che riproduce PacMan attorno alle tue icone. Mentre supporta i suggerimenti degli utenti tramite tocchi dello schermo, la maggior parte del gioco sarà giocata da un'intelligenza artificiale. Ho finito il 99% con tutta la programmazione del gioco, ma l'IA per PacMan stesso è ancora estremamente debole. Sto cercando aiuto per sviluppare una buona IA per determinare la prossima direzione di viaggio di PacMan.
Il mio piano iniziale era questo:
- Inizializza un contatore di punteggio per ogni direzione con un valore pari a zero.
- Inizia dalla posizione corrente e usa un BFS per attraversare verso l'esterno nelle quattro possibili direzioni iniziali aggiungendole alla coda.
Rimuovi un elemento dalla coda, assicurati che non sia già stato "visto", assicurati che sia una posizione della scheda valida e aggiungi al punteggio delle direzioni iniziali corrispondente un valore per la cella corrente in base a:
- Ha un punto: più 10
- Ha un potenziamento: più 50
- Ha un frutto: più valore del frutto (varia in base al livello)
- Ha un fantasma spaventato: più 200
- Ha un fantasma che viaggia verso PacMan: sottrai 200
- Ha un fantasma che si allontana da PacMan: non fare nulla
- Ha un fantasma che viaggia perpendicolare: sottrai 50
- Moltiplica il valore della cella moltiplicato per un valore in base al numero di passi verso la cella, più passi dalla direzione iniziale, più il valore della cella si avvicina a zero.
e accodare le tre possibili direzioni dalla cella corrente.
- Una volta che la coda è vuota, trova il punteggio più alto per ciascuna delle quattro direzioni iniziali possibili e sceglilo.
Suonava bene sulla carta, ma i fantasmi circondano PacMan estremamente rapidamente e si contrae avanti e indietro nelle stesse due o tre celle fino a quando uno non lo raggiunge. Anche la regolazione dei valori per la presenza fantasma non aiuta. Il mio punto BFS più vicino può arrivare almeno al livello 2 o 3 prima della fine del gioco.
Sto cercando codice, pensieri e / o collegamenti a risorse per sviluppare un'intelligenza artificiale adeguata, preferibilmente le prime due. Vorrei rilasciarlo sul mercato qualche volta questo fine settimana, quindi ho un po 'di fretta. Qualsiasi aiuto è molto apprezzato.
Cordiali saluti, questo è stato originariamente pubblicato su StackOverflow