Java: AI Programmering

Jeg syntes det kunne være sjovt at lave en lille Artificial Intelligence simulator i Java.

 

AI Fighter

Jeg syntes det kunne være sjovt at prøve at lege lidt med Artificial Intelligence, så jeg fik en idé.

 

Grund idé

Jeg har to stammer som hver har sin egen base, eller som jeg kalder det i min simulator, etCastle.

Hver stamme starter med en soldat hvis formål er til at hente mad og tilbagebringe maden til stammens Castle og angribe fjendens soldater hvis de møder hinanden.

 

Hvor langt er jeg nået

Nu har jeg kodet på simulatoren i tre dage så jeg er nået et pænt stykke.Java AI

Jeg har selvfølgelig fået lavet winduet og game loop samt OOP strukturen.

Farve definere hvilken stamme, de store erCastle’s de små er soldater og de grønne er æbler

Når simulatoren startes bliver der lagt to stommer på en tilfældig placering på banen og de starter begge to med én soldat hver som er placeret inde i deres respektive Castle. Derefter bliver der placeret n antal æbler på banen også ved tilfældig placering.

Nu da initialiseringen er færdig og første render job er kørt begynder soldaterne at tænke, det første de gør er at kigge sig omkring for at se hvor det tætteste æble er og går hen imod det.

Når en soldat rammer æblet bliver æblet fjernet fra den ArrayList der holder på alle æblerne og det æble som soldaten ramte bliver tilføjet hans objekt, lidt ligesom at soldaten tager æblet i lommen og nu da han har et æble vil han gå tilbage til sit Castle med det for at aflevere det, når han rammer sit Castle bliver æblet fjernet fra soldaten og tilføjet stammens æble lager og soldaten skal nu ud og finde mere mad.

Hvis to soldater går hen imod det samme æble og æblet bliver fjernet idet den første soldat rammer æblet så vil den anden soldat automatisk lede efter et nyt æble, et æble som er tættest på hans nuværende position.

Når der ikke er flere æbler så går soldaterne i spasser mode 😛 de ryster ekstrem meget og det er med vilje fordi man skal også have lidt sjov 😀

 

Nu skal soldaterne kunne angribe fjenden

Det næste jeg skal til er at soldaterne skal angribe hinanden hvis de møder hinanden og hver gang en stamme modtager et æble ved deres Castle så skal der tilføjes en ny soldat ved stammens Castle

 

Hvorfor Java

Jeg syntes det kunne være sjovt at lave det i Java fordi vi havde sproget på hovedeforløbet i én uge så det kunne være skægt at lege med men også fordi Java kan køre på alle maskiner så længe de har Java runtime installeret og hvis nu nogle selv ville prøve at køre AI simulatoren men måske ikke lige havde Windows så var Java jo et oplagt valg.