Hi Leute,
In dem angegebenen Code ist ein Fehler versteckt, wer findet ihn?!
Code: Select all
setnum (Bedarf; [Einwohner])
setnum (Wert; [Produktion]-[Bedarf])
if_num (Wert; <1)
{
setnum (Silo; -[Wert])
if_num (Silo; <1)
{
setnum (Einwohner; -[Wert])
break ()
}
break ()
}
setnum (Silo; +[Wert])
Zur Erklärung: Ein Bauernhof erwirtschaftet Getreide für Nahrung. Jeder Einwohner benötigt 1 Einheit Nahrung pro Runde. Jetzt soll er Den Verbrauch der Einwohner von der Produktion abziehen und wenn was übrig ist, ins Silo einlagern. Das funzt auch prima. Allerdings sollen bei mehr Verbrauch als Produktion, zuerst das Silo leer gemacht werden und wenn das auf 0 ist, also ein Mangel entstanden, von den Einwohnern abziehen, da die dann sterben. Hier ist der Fehler, er zieht nix ab, er rechnet es drauf, also das Silo wächst trotz Minus Einkommen.
Was mache ich falsch?