Marshall
dc11e2c48b
- Implemented saving and loading of a player model. High scores are now persistent, though only for one user.
...
- Created a JUnit test class to test the serialization. Should be useful for later tests.
2012-04-28 23:01:36 -04:00
Marshall
a6af6df132
- Reorganized packages so that the computer agents are inside the model package.
...
- Added support for the player model inside Referee.java; high scores should now persist over a single execution of the program.
- Refactored PlayerModel.java to support game logging. All games are now logged so that we can track overall progress.
- Added scaffolding to allow saving and importing of PlayerModel.java. It is not yet functional, but it will be with two function implementations and then the appropriate calls.
2012-04-28 19:18:28 -04:00
Marshall
1a4c6d865b
- Finished HighScoreDialog.java. Now the player can play the game repeatedly.
2012-04-28 16:24:45 -04:00
Marshall
24096b50a8
- Updated the Node interface and its implementations to include a strength() function. This is a double value between 0 and 1 representing the percent activation.
...
- Updated the PlayerModel to fix a bug in the high score tracking.
- Created HighScoreDialog.java, which displays the high scores from a PlayerModel. In the future, it will have a "New Game" button so that it can be used to transition between games.
2012-04-26 13:04:41 -04:00
Marshall
0cfe26faf1
- Created a GameGoal class to encapsulate the expected computer behavior/target score for a game. The PlayerModel.java function getTargetScore() now returns a GameGoal object.
2012-04-26 12:08:17 -04:00
Marshall
b8a13a87d0
Merge branch 'master' of woodyfolsom.net:/opt/git/cs8803p4
2012-04-26 11:18:06 -04:00
Woody Folsom
b87f58cb31
Minor changes to support debugging Alpha-Beta move generator.
2012-04-25 09:27:52 -04:00
Marshall
f19c09b573
-PlayerModel classes, including a function to get the target score for a player's game and a neural network to predict a player's moves.
2012-04-19 21:05:59 -04:00
Woody Folsom
10f43ee31c
No longer ignoring .png files, thanks Mario.
2012-04-19 20:55:22 -04:00
Woody Folsom
d9ec72d0fb
Alpha-Beta move generator can look 2 plays (4 plies) ahead on a 4x4 board and blocks every possible attempt by the player to connect 3.
...
It should be possible to play on larger boards when the computers 'move' is changed from playing a tile to picking the player's next available color.
2012-04-14 15:36:02 -04:00
Woody Folsom
74b8eb4622
Revampled MainFrame layout to improve appearance/usability when the number of tiles is very large or small.
...
Fixed instantiation where a new MouseListener was used to each tile - now only one is used for all Tiles.
Fixed issue where the MouseListener was being added to each tile twice.
2012-04-14 12:02:17 -04:00
Woody Folsom
9619f9a96d
Incremental updates. Work in progress to augment Board, Referee, add score for computer player, implement Monte-Carlo simulation.
...
Renamed Player implementations and changed Player to interface, with the goal of using abstraction to make the human and computer interactions with the game identical for ease of simulation.
2012-04-08 17:25:10 -04:00
Woody Folsom
e0f42531e7
Replaced having 1 MouseListener per Tile JLabel which a single listener which asks the event's associated component for its row, column.
...
This isn't ideal, but is preferable to putting this information in each of rows x columns different mouse listeners.
Also added a title to the MainFrame.
2012-04-04 17:31:50 -04:00
Woody Folsom
b8df412740
Removed use of Refreshable and replaced with several methods which update the GUI using SwingUtilities.invokeLater().
...
While not as clean as using ChangeListener, it completely decouples the Model and View aspects,
and also avoids the need to manually paint() a hierarchy of components (a task best handled by Swing/AWT).
2012-04-04 17:15:21 -04:00
Woody Folsom
0f616a3cc6
Continuing gradual process of collecting state from various GUI components and handlers and aggregating it in PlayerController.
...
Removed references to Refree from some handlers, replacing them with direct use of PlayerController (Law of Demeter).
2012-04-04 15:31:27 -04:00
Woody Folsom
02c4986c30
App can now be built using Ant and run from the JAR file.
...
Note: this requires adding the res/lib folder to the classpath in order to run in Eclipse (included in this commit).
Another commit will follow to remove build artifacts from git.
2012-04-02 13:54:55 -04:00
Marshall
521fac6e08
-The rest of the game engine. I screwed up the commit last time.
2012-03-31 14:18:08 -04:00
Marshall
2954041e89
Initial game engine.
2012-03-31 14:15:50 -04:00
Marshall
b57a8da512
Last stuff.
2012-03-18 21:15:43 -04:00
Woody Folsom
cc15541e89
Mario has 3 lives again.
2012-03-18 21:05:45 -04:00
Marshall
54bf5937f0
- Fixed the bump bug. Kind of. I circumvented it.
2012-03-18 20:40:03 -04:00
Marshall
3c0673febf
Some new stuff.
2012-03-18 20:31:54 -04:00
Marshall
aa5d9099f1
Merge branch 'master' of woodyfolsom.net:/opt/git/cs8803p3
...
Conflicts:
src/dk/itu/mario/level/matcher/ProfileMatcher.java
2012-03-18 19:57:41 -04:00
Marshall
952ccdc23b
- Update the ProfileMatcher mapping.
2012-03-18 19:01:08 -04:00
Woody Folsom
18643d17e4
Fixed NPE when the default player.txt does not exist. Fixed bug when requesting PowerUp component of invalid length. Change default lives to 1.
2012-03-18 18:14:11 -04:00
Woody Folsom
0619f95f33
Merge branch 'master' of woodyfolsom.net:/opt/git/cs8803p3
2012-03-18 16:41:37 -04:00
Woody Folsom
992f2eef46
Example rules to enable/disable challenges (feeds fitness evaluator).
2012-03-18 16:41:23 -04:00
Marshall
a6f467d724
Merge branch 'master' of woodyfolsom.net:/opt/git/cs8803p3
2012-03-18 16:22:38 -04:00
Marshall
ac7b0c5b19
-Fixed some problems with the pipe jumping challenge.
2012-03-18 16:22:25 -04:00
Woody Folsom
862ba2aa31
CHALLENGE rule randomly generates challenges.
2012-03-18 16:17:04 -04:00
Marshall
1f1f23a6c3
- Greatly improved the challenge/reward probability function and usage. Removed some unnecessary fields and resorted the members of PCGLevel to make it easier to read.
2012-03-18 14:51:27 -04:00
Marshall
bc45062ad8
- Implemented the reward weighting.
...
- Fixed a balance issue with the blocks and coins on straight stretches of even length.
2012-03-18 13:42:59 -04:00
Woody Folsom
4ce414408e
Merge branch 'master' of woodyfolsom.net:/opt/git/cs8803p3
2012-03-18 13:03:31 -04:00
Woody Folsom
0bb61eece8
Added PlayerProfile.getProbability(LevelComponent.TYPE).
2012-03-18 13:03:16 -04:00
Marshall
dc6fe7e493
- Added the notion of "challenge type" difficulty weighting. It doesn't do anything yet, but the scaffolding is there. Create a set of enums to aid that.
...
- Added more precise platform number randomizing in the platform jump challenge.
- Removed the hard-coded difficulty in the testing generation branch.
2012-03-18 13:01:51 -04:00
Woody Folsom
7b6baaa538
Basic FitnessEvaluator tries 10x to generate a level containing between 8 and 16 level components.
2012-03-18 11:33:18 -04:00
Woody Folsom
d6516388ad
Now with file-based level grammar.
2012-03-18 10:56:25 -04:00
Woody Folsom
b431d5efeb
Functional context-free grammar! Worked first time! Well... almost.
2012-03-18 08:09:53 -04:00
Marshall
9ce8685b74
Merge branch 'master' of woodyfolsom.net:/opt/git/cs8803p3
...
Conflicts:
src/dk/itu/mario/level/PCGLevel.java
2012-03-18 05:33:57 -04:00
Marshall
f0b7487476
This patch has a TON of changes. I updated almost every challenge and added some new ones. I think it represents a good suite of possibilities. Check it out.
2012-03-18 05:25:33 -04:00
Woody Folsom
763fa16cde
Merge branch 'master' of woodyfolsom.net:/opt/git/cs8803p3
2012-03-17 22:23:45 -04:00
Woody Folsom
7d747765ef
Implemented stochastic grammar. Work in progress.
2012-03-17 22:23:38 -04:00
Marshall
ac968b5b7f
- Fixed another platform jumping impossibility bug.
...
- Added monsters to platform jumping.
- Difficulty is now hard-coded to six.
2012-03-17 21:55:00 -04:00
Marshall
f179f2daa5
- Adjusted difficulty formula for bowling challenge.
...
- Added difficulty-weighted maze monsters.
- Note: this build has a hard-coded difficulty of 10.
2012-03-17 21:15:44 -04:00
Marshall
63b89b053f
- Fixed an off-by-one error in the bowling challenge.
2012-03-17 20:49:55 -04:00
Marshall
ce8cb49029
Merge branch 'master' of woodyfolsom.net:/opt/git/cs8803p3
2012-03-17 20:44:41 -04:00
Marshall
a84bc72b13
- Changed platforms/mazes to rocks.
...
- Fixed impossible platform jump bug.
- Implemented difficulty adjustment for bowling.
- Implemented short-form freebies.
2012-03-17 20:44:21 -04:00
Woody Folsom
1790d48393
Non-bogus ProfileMatcher.
2012-03-17 20:07:58 -04:00
Marshall
9c6799f916
Merge branch 'master' of woodyfolsom.net:/opt/git/cs8803p3
2012-03-17 18:41:42 -04:00
Marshall
b43f6530ac
Added the bowling challenge.
2012-03-17 18:41:01 -04:00