diff options
1 files changed, 57 insertions, 29 deletions
| -rw-r--r-- | src/teaching/upp-2023/week14/index.du | 86 |
diff --git a/src/teaching/upp-2023/week14/index.du b/src/teaching/upp-2023/week14/index.du index a0f9906..d06e169 100644 --- a/src/teaching/upp-2023/week14/index.du +++ b/src/teaching/upp-2023/week14/index.du @@ -1,11 +1,14 @@ -# Задачи - УПП, Седмица 14, 19.01.2024 +'def title Задачи - УПП, Седмица 14, 19.01.2024 +'def desc Условия на задачите за упражнение + +# {title} \n -GitHub classroom: [url https://classroom.github.com/a/B08TtnnW classroom.github.com/a/B08TtnnW] +GitHub classroom: {url classroom.github.com/a/B08TtnnW;https://classroom.github.com/a/B08TtnnW} Това е последния практикум, затова ви давам по-лесни и приятни задачи: имплементации на игри! -Всичките са взети от [url https://en.wikipedia.org/wiki/BASIC_Computer_Games 101 BASIC Computer Games] (книгата е налична в [url https://archive.org/details/bitsavers_decBooks10Mar75_26006648 archive.org]). +Всичките са взети от {url 101 BASIC Computer Games;https://en.wikipedia.org/wiki/BASIC_Computer_Games} (книгата е налична в {url archive.org;https://archive.org/details/bitsavers_decBooks10Mar75_26006648}). Разбира се, който иска, може да решава задачи от предходни практикуми, давал съм достатъчно задачи. @@ -20,7 +23,8 @@ GitHub classroom: [url https://classroom.github.com/a/B08TtnnW classroom.github. Компютъра автоматично (и случайно) генерира между 5 и 20 купчини с между 1 и 10 пръчки. Разбира се, трябва компютъра да съобщи за конкретните стойности: -```terminal +'def LANG terminal +``` X piles Y sticks in pile 1 Z sticks in pile 2 @@ -29,29 +33,34 @@ K sticks in pile X След това се редуват, първия играч, втория играч: -```terminal +'def LANG terminal +``` Player 1 turn Избирате купчина с пръчки: -```terminal +'def LANG terminal +``` Which pile do you want sticks from? _ където _ е мястото на курсора. След това броя пръчки от купчината: -```terminal +'def LANG terminal +``` How many sticks? _ Ако някоя стойност е невалидна, питате пак. След това идва редът на втория играч: -```terminal +'def LANG terminal +``` Player 2 turn Накрая, този който вземе последната пръчка печели играта и се пита дали искате наново да почнете играта: -```terminal +'def LANG terminal +``` Player X won. Do you want to play again? _ ## 2 задача - Хамураби @@ -64,7 +73,8 @@ Player X won. Do you want to play again? _ В началото вашия съветник казва: -```terminal +'def LANG terminal +``` Hamurabi, I beg to report to you In year X, Y people starved, Z came to the city. @@ -74,12 +84,14 @@ In year X, Y people starved, Z came to the city. След това имате 1/7 шанс чума да сполети вашия град. Ако се случи, съветника ви съобщава за това и загубвате половината си население: -```terminal +'def LANG terminal +``` A horrible plague struck! Half of the people died. След това съветника ви дава информация за града: -```terminal +'def LANG terminal +``` Population is now X. The city now owns X acres. You harvested Z bushels per acre. @@ -92,7 +104,8 @@ You now have L bushels in store. Иначе, сега съветника започва да ви дава информация и да ви пита за вашето действие: -```terminal +'def LANG terminal +``` Land is trading at X bushels per acre. How many acres do you wish to buy? _ @@ -100,7 +113,8 @@ How many acres do you wish to buy? _ Трябва да се въведе цяло число. В този случай, както и всеки други, ако то е отрицателно, съветника напуска и играта свършва: -```terminal +'def LANG terminal +``` Hamurabi, I cannot do what you wish, get yourself another steward!!!!! So long for now. @@ -108,44 +122,51 @@ So long for now. Ако нямате достатъчно бушели в резерв, за да купите всичката въведена земя, съветника ви казва: -```terminal +'def LANG terminal +``` Hamurabi, think again, you have only X bushels of grian. Now then, и същото съобщение за "Land is trading at [...] How many acres ..." се изписва и приемате нов вход. Ако сте въвели 0, значи искате да продавате земя и съветника ви пита: -```terminal +'def LANG terminal +``` How many acres do you wish to sell? _ Ако се въведе отрицателно число, случва се същото като при купуване на земя. Ако въведете повече земя, отколкото имате, съветника казва: -```terminal +'def LANG terminal +``` Hamurabi think again, you own only X acres. Now then, и пак пита "How many acres [...]". След като сте купили или продали земя, сега съветника ви пита колко бушели жито ще отделите за нахранване на населението: -```terminal +'def LANG terminal +``` How many bushels do you wish to feed your people? _ Ако се въведе твърде голямо число, съветника предупреждава и пита пак: -```terminal +'def LANG terminal +``` Hamurabi, think again, you have only X bushels of grain. Now then, How many bushels do you wish to feed your people? _ Остава последния въпрос от съветника за годината: -```terminal +'def LANG terminal +``` How many acres do you wish to plant with seed? _ Разбира се, ако се въведат повече акри отколкото има, съветника предупреждава и пита пак: -```terminal +'def LANG terminal +``` Hamurabi, think again, you own only X acres. Now then, How many acres do you wish to plant with seed? _ @@ -154,7 +175,8 @@ How many acres do you wish to plant with seed? _ Един бушел жито може да засее два акъра земя, ако няма достатъчно жито, съветника предупреждава и пита пак. Отнема 10 човека да се грижат за един акър земя, ако няма достатъчно хора, съветника предупреждава и пита пак: -```terminal +'def LANG terminal +``` But you have only X people to tend the fields. Now then, Това са въпросите на съветника, сега остава годината да се изиграе. @@ -163,13 +185,14 @@ But you have only X people to tend the fields. Now then, След това избирате друго произволно число между 1 и 6. Ако числото е по-голямо от 1, тогава плъховете ще изядат по толкова голяма дроб бушели жито от резерва (при числото 5, плъховете изяждат 1/5; тук бушелите жито се смятат преди жътва). -Сега населението расте, броя хора които са "дошли" в града се определя по формулата [`R * (20* АКРИ ЗЕМЯ + БУШЕЛИ ЖИТО) / БРОЙ ХОРА / 100 + 1`], където R е цяло число между 1 и 6. +Сега населението расте, броя хора които са "дошли" в града се определя по формулата {` R * (20* АКРИ ЗЕМЯ + БУШЕЛИ ЖИТО) / БРОЙ ХОРА / 100 + 1}, където R е цяло число между 1 и 6. Бушелите жито се смятат след жътва. Предпоследно, определя се колко хора са умрели от глад, като всеки човек консумира 20 бушели жито. Ако над 45% от населението са умрели от глад, останалите хора ви свалят от власт и играта свършва: -```terminal +'def LANG terminal +``` You starved X people in one year, due to this extreme mismanagement, you have not only been impeached and thrown out of office but you have also been declared national fink! @@ -179,27 +202,31 @@ So long for now. Ако успешно царувате 10 години, накрая съветника ви казва как сте се справили: -```terminal +'def LANG terminal +``` In your 10-year term of office, X percent of the population starved per year on average, I.E., a total of Y people died. Сега изчислявате пропорцията между земя и хора, съветника ви казва: -```terminal +'def LANG terminal +``` You started with 10 acres per person and ended with X acres per person. Ако средно над 33% от населението е умирало от глад всяка година или съотношението ви е под 7 акъра на човек, тогава се случва същото нещо, като когато над 45% от населението умира от глад. Ако средно над 10% (но под 34%) от населението е умирало от глад всяка година или съотношението ви е под 9 акъра на човек (но над 6), тогава оставате в историята като лош владетел: -```terminal +'def LANG terminal +``` Your heavy-handed performance smacks of Nero and Ivan IV. The people (remaining) find you an unpleasant ruler, and frankly, hate your guts. So long for now. Ако средно над 3% (но под 11%) от населението е умирало от глад всяка година или съотношението е между 9 и 10 акъра на човека, тогава оставате със средно впечатление: -```terminal +'def LANG terminal +``` Your performance could have been somewhat better but really wasn't too bad at all. X people would dearly like to see you assassinated but we all have our trivial problems. So long for now. @@ -208,7 +235,8 @@ So long for now. В противен случай, тоест средно под 4% от населението е умирало от глад всяка година или съотношението е над 10 акъра на човека, тогава хората ви харесват: -```terminal +'def LANG terminal +``` A fantastic performance!!! Charlemange, Disraeli and Jefferson combined could not have done better. So long for now. |