Hamerabi -- The Game of Champions


Your task to to make a game, complete with GUI.  Your game simulates the development of ancient Babylon, as ruled by the great King Hamerabi.
Your inital starting conditions are:

You have 100 peasants
You have 100 People-Years of food
You have 0 work towards the Hanging Gardens
The year is 0
For each year, you should display the amount of food available, the amount of people available, and the amount of work completed towards finishing the Hanging Garden.  Then you should ask how much work is to be performed next year on the growing of food, making babies, and completeing the garden.    If they ever get 1000 People-Years of work cumulative on the Garden, then the game ends.  Print the year when the game ended.

When they hit the "Go to Next Year" button, you should

Year=Year+1
Garden = Garden + PeopleWorkingOnGarden
Pop = integer(pop * 0.95 + PeopleMaingBabies/2)
Food = 2 * PeopleMakingFood + 0.5 * Food
if (Food > Pop)
    Food = Food - Pop
Else
    Pop = Food
    Food = 0

Points
 
Points Achievement
8 Doing the stuff above -- The basic game.
3 Graph of how close the person is towards finishing the garden.
1 Warning when the player does not use every person -- if someone's idle.
2 Showing the user a history of population size.
2 Drawing a little garden that gets bigger as work is completed.
1 The occasional disaster -- Flood, pestilence, war, drout, etc.
1 Implement this rule.  If the king starves people three years in a row, he is killed by a mob and the game is over.
3 Keep a "High Score" list.
1 Noting if the player uses more people than he has
1 Use of Color
1 Use of a background image
1 Backgrounds that change depending on game circumstances
12.7 Playtesting by any diety worshipped by more than 1,000 followers
1 Using two of the map, filter, reduce, and similar.
1 Using lamda function(s)
1 The main screen has two or more modes (help, intro, game play, victory)
3 Music or sound
2 Pulldown menu using the built-in commands.
1 Popup windows of any useful type.
1 Random mesages
2 Line of site computation in maps.
107.3 Use of elephants as playtesters
1-2 Random map generation
1 Good Suggestions for where to allocate the people and resources.
1 Scrollbars that work
1 Uses a list comprehension
2 Chat
2-5 Networking
1 Restarting the game for any reason.
-1 Every day after Thursday Sep 25
You score is 1/2 * total + 1/2 * min(total, 20)