05-04-2019 02:50 PM - edited 05-04-2019 02:53 PM
We want to thank everyone that provided feedback on the coding challenges. The feedback was wide-ranging, so our solution is to offer several challenges that cover a wide range. Hopefully there is something here for everyone. The Coding Challenge Overview document gives a brief overview of your choices. Then there are folders for two of the larger challenges. I'm posting both 2013 and 2018 versions of each of those two challenges. Some of the documentation is only in the 2018 folder.
Have fun!
Steve
05-11-2019 09:20 PM - edited 05-11-2019 09:23 PM
I made two improvements to Tetris. One is a bug fix (rotating counter-clockwise from a zero rotation did not get to rotation 3 like it should have). The other change is there is now a "State" input to AI Move, which you have the option of using to drive other actions in your move generator, like initialization. You can ignore this input and there will be no change, but it could be useful for the more complex move generators. I've attached a 2018 version and a 2013 version here.
05-27-2019 11:20 AM - edited 05-27-2019 11:22 AM
While I was creating my own solution to the Tetris challenge, I added some features to make development and debugging better, so I thought I would offer them here for everyone to use. In addition, there is a minor bug fix. If you were using the new "State" input, you would never get the "Move" state. The main improvements include:
- A sixth utility: "Delete Piece.vi"
- Expansion of the main data typedef to make viewing the board much easier
- Expansion of the range of speeds (and "Trials" now run at only 10x speed, instead of 1000x)
- A "Times" output. (If you quit by clicking the red 'X', you can see the performance of your solution)
- Addition of a "Testing" button - This allows your AI to take as long as it needs without penalty.
(Useful for breakpoints during debugging.)
- Integration of the scoring calculation into "Remove Rows.vi"
- In-lining several routines for performance.
Note that on my machine at least, the project file seemed to get corrupted. It may or may not work on your machine, but this application is so simple you can work on it without the project file.
Steve