Giter Site home page Giter Site logo

chessaitiralab's Introduction

chessaitiralab's People

Contributors

wood101 avatar

Watchers

James Cloos avatar  avatar

chessaitiralab's Issues

Koodikatselmointi 1

Projekti ladattu 1.10 n. klo 13.15

Pitäisikö projektiin lisätä tasapelin mahdollisuus. Ainakin kolminkertainen toisto-tasapeli ei mahdollinen. Entäpä muut tasapelin tapaukset?

TestFoolsMate testi epäonnistuu (ainakin minulla ajaessa). Varmaankin virhe assertEqualsin syntaksien kanssa. (Failed tests: testFoolsMate(AITest): expected: but was:fi.helsinki.chessai.board.MoveTransition@6bd61f98)

Mielestäni koodi on erittäin selkeästi ja johdonmukaisesti kirjoitettu sekä dokumentoitu. Siihen en osaa antaa parannusehdotuksia. Todella hieno työ.

Yritin pelata AI:ta vastaan. 6 vuoron jälkeen antoi NullPointerExceptionin pelattuani vuoroni ja AI lakkasi pelaamasta, eikä pysty manuaalisestikaan pelata vihollisen/AI:n vuoroa? Lopussa pikku pätkä lokista. En mielestäni tehnyt mitään ihmeellistä/laitonta/rikkovaa peliä. En valitettavasti saanut replikoitua tilannetta kunnolla. (En oikein tämän asian kanssa osaa valitettavasti auttaa vaan tämä oli pikemminkin vain huomio.) Toisessakin tapauksessa tuli ensimmäisen vuoron jälkeen nullpointerexception ja peli jää jumiin. En tiedä oletko tietoinen juuri näistä bugeista, mutta kuitenkin tiedoksi varmuuden varalta.

Pelatessa valkoisella (vs Depth lvl 6 AI. Suluissa mustan vuorot) vuorot: e2->e4, (e7->e5,) e1->e2, (d8->h4,) e2->e4, (h4->f4) tilanteessa. Nyt jos kuninkaalla yrittää 'syödä' (rämpätä) mustan kuningatarta, niin peli saattaa mennä tilttiin siten, että kuningatar syö kuninkaan, ilman että valkoinen tekee validia vuoroa ollenkaan. (ja vuoro vain jotenkin mystisesti katoaa?) Tämän bugin onnistuin toistamaan.

at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at javax.swing.SwingWorker.get(SwingWorker.java:602)
at fi.helsinki.chessai.gui.Table$AIThinkTank.done(Table.java:230)
at javax.swing.SwingWorker$5.run(SwingWorker.java:737)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:832)
at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:842)
at javax.swing.Timer.fireActionPerformed(Timer.java:313)
at javax.swing.Timer$DoPostEvent.run(Timer.java:245)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)

Peer review 2

Peer-review 2

General comments

  • I downloaded the project around 16:00 on Friday (12/10/18).
  • The project seems very interesting and the documentation is good.
    • The Design Document is very clear and concise, with good links for the understanding of the algorithms.
    • The Implementation document is a bit too short. For example, I believe that descriptions of what each class does could be useful, so that we have an overview of how they relate to each other and how your implementation functions.
    • The testing document contains the most relevant information regarding the analysis of your algorithm, it seems to be good. However, I am wondering if the AI always wins, or if it would be relevant to analyze the winning ratio. Furthermore, a description of the java tests could be useful too.

Issues

  • I had to rename all the packages to remove "java" from the name. eg: java.fi.helsinki.chessai -> fi.helsinki.chessai. I also could have done the other way around: changing the package defined in each file and its imports consistently, but I found such method more time consuming.
  • Nothing works for me, which is a pity, because I was really interested in seeing this. The error is below:
Exception in thread "main" java.lang.ExceptionInInitializerError
	at fi.helsinki.chessai.Chess.main(Chess.java:15)
Caused by: java.lang.NullPointerException
	at fi.helsinki.chessai.gui.Table$TilePanel.assignTilePieceIcon(Table.java:439)
	at fi.helsinki.chessai.gui.Table$TilePanel.<init>(Table.java:329)
	at fi.helsinki.chessai.gui.Table$BoardPanel.<init>(Table.java:288)
	at fi.helsinki.chessai.gui.Table.<init>(Table.java:71)
	at fi.helsinki.chessai.gui.Table.<clinit>(Table.java:58)
	... 1 more

Unfortunately I am not familiar enough with the code or with Java to debug this, so I had to stop there. Due to this problem, all of my tests are failing too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.