This project should help you prove your knowledge of Java's various means of iteration.
Do Programming Project 6.2.
This project earns you (Level 4) toward your level requirements.
For an additional (Level 1.5), have your game use multiple piles. (I believe having four piles is common. *shrug*)
For an additional (Level 2), add a menu to your program that allows the user to configure certain aspects of the game environment before play begins. It could be something as simple as:
Nim Game 1) Configure game 2) Play game 3) Quit Choice:
Make sure they can choose from the menu by number or significant letter (i.e. '1', 'C', 'c' for the first option).
In the base game you could allow them to configure the number of stones in the pile to a certain number or leave it random. Or, if they choose random, allow them to configure the range of random (instead of the default of [10..100]). You could also allow them to configure the percent chance of a smart player or even just pick a type of opponent. (This would even allow for two humans to play.)
If you are doing the multiple piles option above, you could allow them to decide how many piles via this configuration menu. (As well as how many or how random each pile should be.)
For an additional (Level 2), draw a 'mound' proportional in size to the pile of marbles. Adjust its size every time a Player takes enough marbles to make a visible difference. (This booster may be done in a graphical manner, but need not be.)
This space reserved to add more boosters...