-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Ladattu: 21.8.2019, klo. 14:05
Terve!
Aion nyt vaan kirjoittaa havaintojani ylös siinä järjestyksessä, kuin ne tulivat vastaan.
Mutta käyttöliittymästä on pakko mainita, että on tosi siistin näkönen :D. Mielestäni niin komee, et tuommoista vois kuvitella jopa käyttävänsä.
- Dokumentaatioon en puutu sen enempää, kuin että Maven projektirungosta voisi olla maininta vaikkapa README tiedostossa.
- Ohjelman kääntäminen onnistui komennolla mvn package, mutta jar-tiedoston suorittaminen ei onnistunut komennolla
java -jar target/ChessBot-1.0-SNAPSHOT.jar
Konsoli valitti "no main manifest attribute, in target/ChessBot-1.0-SNAPSHOT.jar".
Nopea korjaus tähän on korvata pom.xml -tiedostossa tämän hetkinen tagien sisältö seuraavalla:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
<executions>
<!-- Attach the shade into the package phase -->
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.mycompany.chessbot.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
-
Tekoälyn toimintaa oli miellyttävää katsella, kunnes ohjelma jumittui siirtojen välille, joissa scoret olivat -10, -50 ja -20. (Teki siis jatkuvasti näitä kolmea samaa siirtoa.)
Tässä koko kyseinen peli -
Tuo tiedostorakenne com.mycompany, jonka vissiin Netbeans luo (?), ei ole siisti rakenne.
-
Main-luokan tiedostossa on aika paljon importteja, joita et varmaan vaan ole huomannut poistaa.
-
Koodi näyttäis olevan tosi hyvin jaettu omiin metodeihin ja luokkiin.
-
Algoritmien toiminnan testausta kannattaa toteuttaa, todennäköisesti muutama bugi tulee vastaan kuin itsestään.
Loppusanat:
Koodi on mielestäni varsin selkeää, toimintaa on hyvin jaettu eri luokkiin ja metodeihin ja muuttujien nimentä on pääsääntöisesti selkeää. Luokka State jättää hieman arvailujen varaan, mikä sen tehtävä on. Ottaen huomioon, että ohjelma sisältää jo luokan ChessBoard. Jos saisin palkkaa tästä vertaispalautteen tekemisestä, niin mielelläni auttaisin debugaamaan tekoälyn aiheuttamaa jumia. Nyt koodia on niin paljon, et siihen menis itselläni kyllä liian kauan aikaa :D
Rajapintojen käyttö on myös ilmeisesti erittäin suositeltavaa. Itse olen todella huono hyödyntämään niiden tarjoamia etuja, joten paha enempää avata.