, , , , ,

Stanford CS106A Assignment 5: Yahtzee!

Course: Stanford’s CS106A: Programming Methodology

Assignment 5: yahtzee!

Assignment 5 is distributed on lecture 18.

Goal: …no idea. perhaps learn bad UI design?

This assignment is terrible IMO. It comes with a pre-compiled yahtzeelib.jar that handles the UI aspects — badly — and no sources for it so you cannot fix it.

This was what motivated me to start from scratch ignoring the assignment altogether.

Anyhow, here’s a very basic implementation of this assignment without any bells or whistles…

Java Web Start: Launch Yahtzee Game

Yahtzee.java (view | download)
YahtzeeConstants.java (view | download)

Reason why I’m bitter about this assignment is that I love Yahtzee. I’ve played various versions of it online and offline, and frankly the given UI left a bad taste in my mouth. The most obvious problem that sticks out is that, due to bad library design, you cannot allow the user to select a score label until they actually hit the roll dice button 3 times.

My own implementation from scratch (at this time, v0.2) isn’t very fancy (yet) — ie. the dice don’t actually ‘roll‘ (as in actually move/roll/bounce) — but it’ll* get there.

(*) Read: maybe, if I ever get back to it 😉