From 3c4f4501abacc2cb53f0b6fc7ff7e93325b3c25b Mon Sep 17 00:00:00 2001 From: David Meyer Date: Wed, 15 Jul 2020 20:07:44 +0900 Subject: [PATCH] Public release! --- hammurabi | Bin 0 -> 133921 bytes hammurabi.c | 137 +++++++++++++++++++++++++++------------------------- 2 files changed, 72 insertions(+), 65 deletions(-) create mode 100755 hammurabi diff --git a/hammurabi b/hammurabi new file mode 100755 index 0000000000000000000000000000000000000000..e86576c6b3287e73845b513985c2b3325d776762 GIT binary patch literal 133921 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

`KP&{5$IiO0)%9j(XuH`fB)?=_46Vv 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

7vlmMkm#?tLwxae-y~))b5x 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

LsBcl+i=|LX3SI?Vi%v2oc+3 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 literal 0 HcmV?d00001 diff --git a/hammurabi.c b/hammurabi.c index ffbe622..53a7989 100644 --- a/hammurabi.c +++ b/hammurabi.c @@ -4,43 +4,6 @@ * Copyright 2020 David Meyer +JMJ * */ -/* -Hammurabi To-Dos - -6/21 - -v Complete splash message: version, author, one-liner -- Write man page (for TWENEX release?) -- Complete/format help text: add introduction, credit to Ahl, separate intro and help -- Add help choice to annual plan menu -v Divider line is off-center -- Reformat menu to stand out -- plan summary should include grain and land balances -v BUG: buying land resulted in REDUCTION of land held -- Refactor and document main loop - -/}_ _ -\/\/ -|\ -|\ -|_\_ - - ____________________ -( @ -| | -| | -| | -|___________________| -(___________________@ - -.______________________________________________________________________________. -| _ _ _ _ _ _ _ _ _ _ | -| /} \/}/ /} \/}/ /} \/}/ /} \/}/ /} \/}/ /} | -|_/|\_ |_ _/|\_ |_ _/|\_ |_ _/|\_ |_ _/|\_ |_ _/|\_| -| / \ | \ / \ | \ / \ | \ / \ | \ / \ | \ / \ | -|vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv| - - -*/ #include #include #include @@ -56,15 +19,54 @@ typedef enum {FALSE, TRUE} Boolean; typedef enum {BUY, SELL, FEED, PLANT, RESET, EXEC, CALC, QUIT} Plancmd; /* Message texts */ -char MSGDIV[] = -" ----------------- <<<<>>>> --------------------\n"; +char MSGDANCE[] = +"|vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv|\n\ +|(}_ _ _ _ _ _ _ _ _ _ _ _ _ _{)|\n\ +|\\/\\/ \\(}/ (} \\(}/ (} \\()/ {) \\{)/ {) \\{)/ \\/\\/|\n\ +||\\ |_ _/|\\_ |_ _/|\\_ \\/ _/|\\_ _| _/|\\_ _| /||\n\ +||_\\_ | \\ / \\ | \\ / \\ /\\ / \\ / | / \\ / | _/_||\n\ +|vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv|\n\ +"; char MSGHELP[] = -"Help text here\n\ -Land price varies between 17 and 26 bushels of grain per acre.\n\ -Planting two acres requires one bushel of grain.\n\ -One person can farm ten acres of land.\n\ -One person needs to eat 20 bushels of grain per year to stay healthy.\n\ +"\n\ +You are the ruler of an ancient Sumerian city-state. I, your Grand\n\ +Vizier, will assist you during your ten-year reign to govern your _ _{)\n\ +realm. \\/\\/\n\ + /|\n\ +At the beginning of each year, you will plan the employment of your /|\n\ +city's resources to buy or sell land, allocate land and grain to plant _/_|\n\ +new crops, and allocate grain to feed your people. Some guidelines:\n\ +\n\ + * Land price varies between 17 and 26 bushels of grain per acre.\n\ + * Planting crops requires one bushel of grain to seed two acres.\n\ + * One person can farm ten acres of land.\n\ + * One person needs to eat 20 bushels of grain per year to stay alive.\n\ +\n\ +On the planning menu, press one of the bracketed characters to [F]eed\n\ +your people, [P]lant crops, or [B]uy or [S]ell land. When you are\n\ +satisfied with the plan, press [E] to execute it. You may also\n\ +[R]eset the current plan and start over, or [Q]uit the game.\n\ +\n\ +When prompted for a numeric value (to buy, sell, or plant land, or\n\ +allocate grain for food), you may enter an integer value, or an\n\ +arithmetic expression composed of integers and the operators \"+\", \"-\",\n\ +\"*\", or \"/\" for addition, subtraction, multiplication, and division.\n\ +The expression will be evaluated with integer arithmetic in the order\n\ +the operators appear from left to right, and the value of the\n\ +expression will be used for your input.\n\ +\n\ +After the year's plan has been executed, I will report to you the\n\ +year's events, harvest, births and immigration, and deaths from\n\ +starvation and plague, and the results.\n\ +\n\ +At the end of your reign, history will judge you based on the average\n\ +portion of the population you starved, and your city's growth in land\n\ +per person. If in any year you starve more than 45 percent of the\n\ +population, the survivors will rise up and depose you immediately.\n\ +\n\ +Hammurabi is based on the game HAMURABI by David Ahl.\n\ +\n\ "; char MSGMENU[]= @@ -72,6 +74,7 @@ char MSGMENU[]= [F]eed your people with grain | [E]xecute your current plan\n\ [P]lant crops on your land | [R]eset your current plan and start over\n\ [B]uy more land | [Q]uit the game\n\ + [S]ell land for grain\n\ "; char MSGPLTOT[] = @@ -132,8 +135,7 @@ Boolean planyear(void); int popnet(void); void printdeposed(void); void printgreeting(void); -void printEvtLandPr(void); -void printstatus(void); +void printinitrept(void); void printyearrept(void); int salegrain(void); Boolean scanyes(char *prompt); @@ -175,11 +177,11 @@ main(void) print(MSGSPLASH); if(scanyes("Would you like instructions?") == TRUE) print(MSGHELP); + print(MSGDANCE); - printgreeting(); - printstatus(); EvtLandPr = evtlandpr(); - printEvtLandPr(); + printgreeting(); + printinitrept(); do { @@ -216,18 +218,17 @@ main(void) printgreeting(); printyearrept(); - printstatus(); if(Year == MAXYEARS) completedterm(); else { EvtLandPr = evtlandpr(); - printEvtLandPr(); } } } } while(Year < MAXYEARS && gameover == FALSE); - print(MSGDIV); + print("\n"); + print(MSGDANCE); exits(0); } @@ -238,16 +239,16 @@ completedterm(void) int landperperson = Land / Pop; int likeassassination = Pop * 0.8 * frand(); printgreeting(); - print("In your %d-year reign, %d people died of starvation, an average of %d people per year.\n", MAXYEARS, TotStarved, avgstarvepct); + print("In your %d-year reign, %d people died of starvation, an average of %d people\nper year.\n", MAXYEARS, TotStarved, avgstarvepct); print("You started with %d acres per person and ended with %d acres per person.\n", INITLAND / INITPOP, landperperson); if(avgstarvepct > 33 || landperperson < 7) printdeposed(); - else if(avgstarvepct > 10 || landperperson < 9) print("Your heavy-handed performance smacks of Nero and Ivan IV. Your (surviving) people find you an unpleasant ruler, and, frankly, hate your guts!\n"); + else if(avgstarvepct > 10 || landperperson < 9) print("Your heavy-handed performance smacks of Nero and Ivan IV. Your (surviving)\npeople find you an unpleasant ruler, and, frankly, hate your guts!\n"); else if(avgstarvepct > 3 || landperperson < 10) { print("Your performance could have been better, but wasn't too bad. "); - if(likeassassination > 0) print("%d %s would like to see you assassinated, but we all have our trivial problems.\n", likeassassination, (likeassassination == 1 ? "person" : "people")); + if(likeassassination > 0) print("%d %s would like to see you assassinated, but we all have our trivial\nproblems.\n", likeassassination, (likeassassination == 1 ? "person" : "people")); } - else print("A fantastic performance! Charlemagne, Disraeli, and Jefferson combined could not have done better!\n"); + else print("A fantastic performance! Charlemagne, Disraeli, and Jefferson combined could not\nhave done better!\n"); } int @@ -606,7 +607,6 @@ printdeposed(void) void printgreeting(void) { -// print(MSGDIV); print("\nO %s One, I beg to report,\n", HONORIFIC[nrand(MAXHONOR + 1)]); } @@ -617,34 +617,41 @@ printEvtLandPr(void) } void -printstatus(void) +printinitrept(void) { - print("The population is %d.\n", Pop); - print("You own %d acres.\n", Land); - print("You have %d bushels of grain.\n", Grain); + print(" ______________________________________________________________________\n"); + print(" ( Your Reign Begins @\n"); + print(" (}_ _ | Land %6d acres |\n", Land); + print(" \\/\\/ | Grain %6d bushels |\n", Grain); + print(" |\\ | Population %6d |\n", Pop); + print(" |\\ | |\n"); + print(" |_\\_ | Land price %6d bushels per acre |\n", EvtLandPr); + print(" |_____________________________________________________________________|\n"); + print(" (______________________________________________________________________@\n"); } void printyearrept(void) { + if(EvtPlague > 0) print("A horrible plague struck! Half the people died!\n"); print(" ______________________________________________________________________\n"); print(" ( YEAR %2d @\n", Year); print(" | Harvest yield %1d bushels per acre | Population last year %6d |\n", EvtYield, PrevPop); - print(" (}_ _ | Grain reserve %6d | Births and immigrants %6d |\n", PrevGrain, EvtBrthImm); + print(" (}_ _ | Grain reserve %6d | Births and immigrants %6d |\n", GrainAfterPlan, EvtBrthImm); print(" \\/\\/ | Harvest %6d | ", GrainHarvest); if(EvtStarve > 0) print("Starvation deaths %6d |\n", EvtStarve); else print(" |\n"); print(" |\\ | "); if(EvtRatsEat > 0) print("Eaten by rats %6d | ", EvtRatsEat); else print(" | "); - if(EvtPlague > 0) print("Plague deaths %6d |\n", EvtPlague); + if(EvtPlague > 0) print("%-20s%6d |\n", "Plague deaths", EvtPlague); else print(" |\n"); print(" |\\ | -------------------------------- | -------------------------------- |\n"); print(" |_\\_ | Balance %6d | Current population %6d |\n", Grain, Pop); print(" | |\n"); - print(" | Land %6d Land price %2d |\n", Land, EvtLandPr); + print(" | Land %6d |\n", Land); print(" |_____________________________________________________________________|\n"); - print(" (_____________________________________________________________________@\n"); + print(" (______________________________________________________________________@\n"); } int