Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Amtsvogt FB !!!! mit Vorsicht :)

Uploader:MitgliedMuttonhead
Datum/Zeit:13.07.2014 10:48:49

'#lang "qb"'<--- nun nicht mehr :)

DECLARE SUB Einleitung ()
DECLARE SUB Kornland ()
DECLARE SUB Gebaeude ()
DECLARE SUB Fazit ()
DECLARE SUB Ereignisse ()
DECLARE SUB Ende ()
DECLARE SUB verhungern ()
DECLARE SUB taste ()
DECLARE SUB gestorben ()

REM Amtsvogt II
REM Vorbereitung
RANDOMIZE TIMER
DIM SHARED as string Ernte_erg_txt(5)
DIM SHARED as single Kornalt, Kornneu, Kornernte, Kornfrass, Kornfaul, Buergeralt, Buergerneu
DIM SHARED as single Tagwerk, Bauern, Silber, Hufe, Kirche, Zehnt, Gasth, Markt, Handels, Dorfwall
DIM SHARED as single Gunst, Buergerwert, Kornver, Runde, Korngeb, Hunger, Geldspende, Geldgeb
DIM SHARED as single Gunereig, Ernte

DIM SHARED as single x

Kirche = 0
Zehnt = 0
Gasth = 0
Markt = 0
Handels = 0
Dorfwall = 0
Ernte_erg_txt(1) = "sehr schlecht"
Ernte_erg_txt(2) = "schlecht"
Ernte_erg_txt(3) = "m„ssig"
Ernte_erg_txt(4) = "gut"
Ernte_erg_txt(5) = "sehr gut"
Tagwerk = 5
Buergerneu = 1
Runde = 20
Silber = 1000

SCREEN 12

' Spielanfang


 Einleitung

Spielanfang:

 Kornland
 Gebaeude
 Fazit
 Ereignisse

REM: šberprfung des Alters
x = INT(RND * 10 + 50): IF Runde > x THEN  gestorben: END


INPUT x: IF x = 9 THEN END: REM Notausgang
GOTO Spielanfang

'******************************************************************************
'******************************************************************************
'******************************************************************************

SUB Einleitung
  CLS
  LOCATE 1, 26
  COLOR 15
  PRINT "Seid bereit zu `Amtsvogt II`"
  COLOR 7
  REM Krone malen
  FOR a as integer = 1 TO 3
    CIRCLE (200 + (a * 40), 170), 10, 13
  NEXT a
  LINE (240, 180)-(260, 200), 14: LINE (280, 180)-(300, 200), 14
  LINE (260, 200)-(280, 180), 14: LINE (300, 200)-(320, 180), 14
  LINE (240, 180)-(240, 230), 14: LINE (320, 180)-(320, 230), 14
  LINE (240, 230)-(320, 230), 14
  PRINT
  PRINT
  PRINT "                   Ein Aufbauspiel zur Zeit des Mittelalters."
  PRINT
  PRINT
  PRINT " Ziel des Spieles ist es durch wirtschaftliches Geschick ein Dorf aufzubauen,"
  PRINT
  PRINT "                          um"; : COLOR 4: PRINT "   Amtsvogt"; : COLOR 7: PRINT "   zu werden."
  LOCATE 17, 1
  PRINT "Letztendlich ist jedoch endscheidet, wie hoch ihr in der Gunst"
  PRINT "eures Landesherrn steht, da er euch zum Amtsvogt ernennt."
  LOCATE 20, 1
  PRINT : COLOR 15
  PRINT "Wissenswertes:"
  PRINT : COLOR 7
  PRINT "1 Hufe (Hof) = 30 Tagwerk / Landmenge die ein Bauer braucht um zu berleben"
  PRINT "1 Tagwerk    = soviel kann der Bauer an einem Tag bearbeiten"
  PRINT "1 Pfund Silber (sp„ter Mark) = 240 Silberpfennig (Silberling oder Pfennig)"
   taste
  CLS : COLOR 15
  PRINT "Zu einem Dorf geh”ren:"
  PRINT :
  PRINT " - Die Kirche:": COLOR 7
  PRINT "   Sie sorgt dafr das die Leute gl„ubiger sind und sich auch mit weniger"
  PRINT "   Korn zufrieden geben."
  PRINT : COLOR 15
  PRINT " - Der Zehnthof:": COLOR 7
  PRINT "   Ein besserer Kornspeicher, das Korn ist dort sicherer vor Ratten und F„ule."
  PRINT : COLOR 15
  PRINT " - Das Gasthaus:": COLOR 7
  PRINT "   Es gibt dir Einnahmen deiner Brger und Bauern,"
  PRINT "   sie kehren dort ein, werden aber dadurch weniger fleissiger."
  PRINT "   Noch mehr Einnahmen gibt es durch Reisende, Handelsstraáe vorrausgesetzt."
  PRINT : COLOR 15
  PRINT " - Der Marktplatz:": COLOR 7
  PRINT "   Er bringt euch Einnahmen durch die Marktsteuer."
  PRINT "   Wenn dein Dorf eine Handelsstraáe hat, erh”hen sich die Einnahmen erheblich."
  PRINT : COLOR 15
  PRINT " - Die Handelsstraáe:": COLOR 7
  PRINT "   Sie wird ben”tigt, damit Reisende kommen."
  PRINT : COLOR 15
  PRINT " - Der Dorfwall:": COLOR 7
  PRINT "   Er befestigt dein Dorf und schtzt es vor blen Gesindel und wildem Getier."
  PRINT : COLOR 15
  PRINT " - 10 Bauern und 30 Brger": COLOR 7
  PRINT "   Sie siedeln sich von alleine an, 1 Bauer braucht jedoch mindestens 1 Hufe."
  PRINT
   taste
  CLS
  LOCATE 1, 30: PRINT "Dein Alter:"; Runde; "Jahre"
  PRINT
  PRINT
  PRINT "Als jngster Spross einer adeligen Familie willst du in die Welt,"
  PRINT "um dein Glckzu suchen."
  PRINT "Mit einer kleinen Handvoll Silberlinge im S„ckel machst du dich auf."
  PRINT
  PRINT
  PRINT "Die mahnenden Worte deines Vaters noch im Ohr:"
  PRINT
  PRINT "Gib deinen Untertanen immer gut zu essen,"
  PRINT "und w„hle weise, wie du dein Silber ausgibst !"
  PRINT "Vergiss nicht deinem Landesherrn immer etwas Geld zukommen zu lassen !"
  PRINT
  PRINT "Von deinem Landsherrn kaufst du etwas unbewohntes wildes Land."
  PRINT "Fest berzeugt das du es wirtschaftlich schaffst, Amtsvogt zu werden."
  PRINT
  PRINT
  PRINT
  PRINT
  PRINT
  PRINT
  Taste
END SUB



SUB Ende
  CLS
  PRINT "Herzlichen Glckwunsch !"
  LOCATE 1, 30: PRINT "Dein Alter:"; Runde; "Jahre"
  END
END SUB



SUB Ereignisse
  dim as single xa, z, s, k, g, b, t, y, w
  CLS
  COLOR 15: PRINT "Ereignisse:": COLOR 7
  LOCATE 1, 30: PRINT "Dein Alter:"; Runde; "Jahre"
  PRINT
  PRINT

  'errechnet die Ereigniss-Case-Nr. / die ersten 3Nummern bebaut, die n„chsten 3Nummern nicht gebaut
  x = INT(RND * 6 + 1): xa = INT(RND * 3): Z = x * 6 - 5 + xa:
  SELECT CASE x
    CASE 1
      IF Kirche = 0 THEN Z = Z + 3
    CASE 2
      IF Zehnt = 0 THEN Z = Z + 3
    CASE 3
      IF Gasth = 0 THEN Z = Z + 3
    CASE 4
      IF Markt = 0 THEN Z = Z + 3
    CASE 5
      IF Handels = 0 THEN Z = Z + 3
    CASE 6
      IF Dorfwall = 0 THEN Z = Z + 3
  END SELECT
  S=0
  K=0
  B=0
  G=0
  SELECT CASE Z
    CASE 1
      PRINT "Der Bischof bewundert deine Kirche,"
      PRINT "und schenkt dir als Zeichen seiner Gte einige Silberlinge."
      S = 1

    CASE 2
      PRINT "Es ist der Tag des Herrn,"
      PRINT "die Brger spenden Geld, die Bauern Korn."
      S = 1
      K = 1

    CASE 3
      PRINT "Ein Unwetter hat das Dach deiner Kirche besch„digt,"
      PRINT "die Arbeiten kosten dir einiges an Silber"
      S = 2

    Case 4
      PRINT "Der Bischof m”chte ein Kirche in deinem Dorf sehen,"
      PRINT "und untersttzt dich mit einigen Silberlingen."
      S = 1

    Case 5
      PRINT "Dein Landesherr ist erbost das du noch keine Kirche hast,"
      PRINT "du sinkst in seiner Gunst."
      G = 2

    Case 6
      PRINT "Deine Brger verlieren ihren Glauben ohne Kirche,"
      PRINT "sie verlassen die Gemeinschaft."
      B = 2

    CASE 7
      PRINT "In eurem Zehnthof lagert doch mehr Korn,"
      PRINT "als ihr gez„hlt."
      K = 1

    CASE 8
      PRINT "Dein Zehnthofes zeigt Sicherheit,"
      PRINT "und lockt Brger an."
      B = 1

    CASE 9
      PRINT "Euer Zehnthof stand unter Wasser,"
      PRINT "es muss ausgebessert werden und Korn verfaulte."
      S = 2
      K = 2

    CASE 10
      PRINT "Deine Brger wollen einen Zehnthof,"
      PRINT "und sammeln Geld."
      S = 1

    CASE 11
      PRINT "Rattenplage, und das ohne Zehnthof,"
      PRINT "viel Korn wurde zerfressen."
      K = 2

    CASE 12
      PRINT "Korn wurde gestohlen,"
      PRINT "Mit einem Zehnthaus w„re das nicht passiert."
      K = 2

    CASE 13
      PRINT "Euer Gasthaus beherbergt reiche Edelleute,"
      PRINT "der Gelds„ckel fllt sich."
      S = 1

    CASE 14
      PRINT "Deine Obrigkeit macht Halt in euerem Gasthaus,"
      PRINT "Ihr steigt in seiner Gunst."
      G = 1

    CASE 15
      PRINT "Einige Raufbolde waren in deinem Gasthaus,"
      PRINT "die neue Einrichtung wird was kosten."
      S = 2

    CASE 16
      PRINT "Euer Landherr schenkt euch einige Silberlinge,"
      PRINT "damit ihr ein Gasthaus bauen k”nnt."
      S = 1

    CASE 17
      PRINT "Ohne Gasthaus langweilen sich deine Brger,"
      PRINT "und wandern ab."
      B = 2

    CASE 18
      PRINT "Ein Dorffest ohne Gasthaus !!!"
      PRINT "dann musst du Speis und Trank ausgeben."
      S = 2
      K = 2

    CASE 19
      PRINT "Hochbetrieb auf euerem Markt,"
      PRINT "ihr nehmt mehr Steuern ein."
      S = 1

    CASE 20
      PRINT "Euer Markt macht gute Gesch„fte,"
      PRINT "und erwirbt einiges an Korn dazu."
      K = 1

    CASE 21
      PRINT "Ein Feuer auf euerem Markt,"
      PRINT "Ihr braucht einige Silberlinge zum Wiederaufbau."
      S = 2

    CASE 22
      PRINT "Der Landesherrn untersttzt dich fr den Bau eines Marktplatzes,"
      PRINT "und schenkt dir ein paar Tagwerk Land."
      T = 1

    CASE 23
      PRINT "Einige Brger sehen ohne Markt keine Zukunft,"
      PRINT "und wandern ab."
      B = 2

    CASE 2, 4: PRINT "Ohne Marktplatz k”nnt ihr briges Korn nicht verkaufen,": PRINT "und es verfault.": K = 2

    CASE 25
      PRINT "Gaugler kommen ber eure Handelsstrasse,"
      PRINT "die Brger feiern und das bringt gutes Geld."
      S = 1

    CASE 26
      PRINT "Die neue Strasse lockt Brger an,"
      PRINT "sie siedeln sich bei dir an."
      B = 1

    CASE 27
      PRINT "šber deine Strasse kommen Bettelm”nche,"
      PRINT "du musst Korn geben."
      K = 2

    CASE 28
      PRINT "Deine Brger wollen eine Strasse,"
      PRINT "und sammeln dafr Silberlinge."
      S = 1

    CASE 29
      PRINT "Die Pest wtet, ohne Strasse kein Arzt,"
      PRINT "Brger werden dahingerafft."
      B = 2

    CASE 30
      PRINT "Einige Brger fallen vom Glauben ab,"
      PRINT "doch ohne Handelsstrasse, kein Exorzist."
      B = 2

    CAsE 31
      PRINT "Ein Dieb wurde bei deinem Dorfwall erwischt,"
      PRINT "er hatte einige Silberlinge bei sich."
      S = 1

    CASE 32
      PRINT "Ein Keiler hat sich in euerem Dorfwall verfangen,"
      PRINT "den Wildbratenschmaus danken dir deine Brger mit Geld."
      S = 1

    CASE 33
      PRINT "Ein B„r hat deinen Dorfwall besch„digt,"
      PRINT "das ausbessern kostet dich etwas."
      S = 2

    CASE 34
      PRINT "Deine Brger wollen Sicherheit,"
      PRINT "und sammeln fr einen Dorfwall."
      S = 1

    CASE 35
      PRINT "Nachts kamen Strauchdiebe,"
      PRINT "Geld und Korn wurde gestohlen."
      S = 2
      K = 2

    CASE 36
      PRINT "W”lfe kamen ins Dorf,"
      PRINT "und t”teten Brger."
      B = 2
  END SELECT

  PRINT
  PRINT
  PRINT
  y = INT(RND * 20 + 5)

  w = INT((Silber + 20) / 100 * y)

  IF S = 1 THEN
    Silber = Silber + w
    PRINT "Du erh„ltst";
    COLOR 14
    PRINT w;
    COLOR 7
    PRINT "Silberlinge."
  end if

  IF S = 2 THEN
    Silber = Silber - w
    PRINT "Du verlierst";
    COLOR 12
    PRINT w;
    COLOR 7
    PRINT "Silberlinge."
  end if

  w = INT((Kornneu + 20) / 100 * y)

  IF K = 1 THEN
    Kornneu = Kornneu + w
    PRINT "Du bekommst";
    COLOR 15
    PRINT w;
    COLOR 7
    PRINT "Scheffel Korn."
  end if

  IF K = 2 THEN
    Kornneu = Kornneu - w
    PRINT "Du verlierst";
    COLOR 12: PRINT w;
    COLOR 7
    PRINT "Scheffel Korn."
  end if

  w = INT(Buergerneu / 100 * y)
  IF w = 0 THEN w = 1

  If B = 1 THEN
    Buergerneu = Buergerneu + w
    If Buergerneu + w > 30 THEN Buergerneu = 30
  'end if
  'beide ifthens zusammenfassen
  'If B = 1 Then
    Print "Es kommen";
    COLOR 15: PRINT w;
    COLOR 7
    PRINT "Brger in dein Dorf."
  end if

  If (B = 2) And (Buergerneu - w < 1) then w = Buergerneu - 1

  IF B = 2 Then
    Buergerneu = Buergerneu - w
    Print "Du verlierst";
    COLOR 12
    PRINT w;
    COLOR 7
    PRINT "Brger."
  end if

  IF G = 1 THEN Gunst = Gunst + 1

  IF (G = 1) And (Gunst > 10) THEN
    Gunst = 10
    PRINT "Du steigst in der Gunst deines Landesherrn."
  end if

  IF G = 2 THEN Gunst = Gunst - 1

  IF (G = 2) And (Gunst < 0) THEN
    Gunst = 0
    PRINT "Du sinkst in der Gunst deines Landesherrn."
  end if

  IF Buergeralt * .4 > Buergerneu THEN  verhungern
  IF Hufe = 10 AND Buergerneu = 30 AND Kirche = 1 AND Gasth = 1 AND Markt = 1 AND Handels = 1 AND Dorfwall = 1 AND Gunst = 10 THEN  Ende

  Geldgeb = 0
  Runde = Runde + 1

   taste
END SUB



SUB Fazit
  dim as single y, Geldalt, Geldgast, Geldsteuer, Geldmarkt, a, B
  REM Berechnungen:

  Kornalt = Kornneu
  IF Zehnt = 0 THEN
    x = 20
    y = 40
  ELSE
    x = 10
    y = 15
  END IF

  IF Kornalt = 0 THEN Kornfaul = 0 ELSE Kornfaul = INT(Kornalt / 100 * ((RND * x) + 1))
  IF Kornernte = 0 THEN Kornfrass = 0 ELSE Kornfrass = INT(Kornernte / 100 * ((RND * y) + 5))

  x = INT(RND * 5 + 1)
  Kornernte = INT((Hufe * .5 * 30 + Tagwerk * .2) * x)
  Kornneu = Kornalt - Kornfaul + Kornernte - Kornfrass

  IF Kornneu < 0 THEN Kornneu = 0

  Buergeralt = Buergerneu
  Buergerneu = INT(Buergerneu * (Korngeb / Hunger) * (RND * .4 + .9))
  IF Buergerneu > 30 THEN Buergerneu = 30

  Geldalt = Silber
  IF Gasth = 1 THEN Geldgast = INT((Buergerneu + Hufe) * (RND * 2 + 2 + (Handels * 1.5)))
  IF Markt = 1 THEN Geldmarkt = INT((Buergerneu + Hufe) * (RND * 3 + 2 + (Handels * 1.5)))
  Geldsteuer = INT(Buergerneu * (RND * 2 + 1))
  Silber = Geldalt + Geldgast + Geldmarkt + Geldsteuer

  CLS
  COLOR 15: PRINT "Jahresbericht:": COLOR 7
  LOCATE 1, 30: PRINT "Dein Alter:"; Runde; "Jahre"
  PRINT
  PRINT
  PRINT Hufe; "Bauern bestellten heuer"; Hufe; "Hufe und"; Tagwerk; "Tagwerk."
  PRINT "Die Ernte war heuer "; Ernte_erg_txt(x); "."
  PRINT
  PRINT "Euer Kornvorrat:   "; Kornalt
  PRINT "Korn verdarb:      "; Kornfaul
  PRINT "Die Ernte brachte: "; Kornernte
  PRINT "Die Ratten frassen:"; Kornfrass
  PRINT
  PRINT "Neuer Kornvorrat:  "; Kornneu
  PRINT
  PRINT
  PRINT "Euer Dorf wuchs/schrumpfte von"; Buergeralt; "auf"; Buergerneu; "Brger."
  PRINT
  PRINT "Eure Gelds„ckel hatte:  "; Geldalt
  PRINT "Steuer von den Brgern: "; Geldsteuer
  PRINT "Steuer vom Marktplatz:  "; Geldmarkt
  PRINT "Steuer aus dem Gasthaus:"; Geldgast
  PRINT "Euer S„ckelinhalt nun:  "; : COLOR 14: PRINT Silber; : COLOR 7: PRINT " Silberlinge"
  PRINT

  LOCATE 5, 60: PRINT "Ansehen"
  LINE (504, 88)-(504, 248), 7: LINE (496, 88)-(496, 248), 7
  LINE (504, 88)-(496, 88), 7: LINE (504, 248)-(496, 248), 7
  x = Gunst
  a = (RND * 200 + 100)
  IF Geldgeb > a THEN Gunst = Gunst + 1
  B = (RND * 500 + 0)
  IF Geldgeb > a + B THEN Gunst = Gunst + 1
  IF Gunst > 10 THEN Gunst = 10
  IF Gunst > 0 THEN
    LINE (496, 248 - Gunst * 16)-(504, 248 - Gunst * 16), 7
    PAINT (500, 245), 7, 7
    LOCATE 17, 56
    PRINT "Eure Gunst ist:";
    LOCATE 18, 56:
    COLOR 12
    IF x > Gunst THEN PRINT "   gesunken."
    IF x = Gunst THEN PRINT "gleichgeblieben."
    IF x < Gunst THEN
      COLOR 15
      PRINT "   gestiegen."
    END IF
  END IF
  taste
END SUB



SUB Gebaeude
  dim as integer tast, schongekauft, f
  Anfangbauten:
  CLS : COLOR 15
  IF Dorfwall = 0 THEN GOTO Handelsstrasse
  REM Dorfwall
  LINE (384, 336)-(408, 336), 6: REM Boden
  FOR x = 0 TO 1: LINE (384 + x * 10, 336)-(394 + x * 10, 320), 8: NEXT: REM Gitter
  FOR x = 0 TO 1: LINE (408 - x * 10, 336)-(398 - x * 10, 320), 8: NEXT
  Handelsstrasse:
  IF Handels = 0 THEN GOTO Markt
  FOR x = 0 TO 2: LINE (384, 304 - x * 5)-(408, 299 - x * 5), 8: NEXT: REM
  FOR x = 0 TO 3: LINE (387 + x * 6, 303 - x)-(387 + x * 6, 293 - x), 8: NEXT
  Markt:
  IF Markt = 0 THEN GOTO Gasthaus
  FOR x = 0 TO 7: LINE (384, 272 - x)-(408, 272 - x), 6: NEXT: REM Stand
  LINE (392, 264)-(392, 261), 6: CIRCLE (392, 259), 2, 6: REM K”rper
  LINE (391, 264)-(387, 260), 6: LINE (393, 264)-(397, 260), 6
  CIRCLE (404, 262), 1, 4: CIRCLE (402, 262), 1, 4: REM Obst
  Gasthaus:
  IF Gasth = 0 THEN GOTO Zehnthof
  FOR x = 0 TO 1: LINE (388, 240 - x * 12)-(408, 240 - x * 12), 8: NEXT: REM Haus
  FOR x = 0 TO 1: LINE (388 + x * 20, 240)-(388 + x * 20, 228), 8: NEXT
  FOR x = 0 TO 1: LINE (392 + x * 4, 240)-(392 + x * 4, 232), 6: NEXT: REM Tr
  LINE (392, 232)-(396, 232), 6: PSET (393, 236), 8
  FOR x = 0 TO 1: LINE (400, 236 - x * 4)-(404, 236 - x * 4), 6: NEXT: REM Fenster
  FOR x = 0 TO 1: LINE (400 + x * 4, 236)-(400 + x * 4, 232), 6: NEXT
  LINE (388, 228)-(392, 224), 6: LINE (408, 228)-(404, 224), 6: REM Dach
  LINE (392, 224)-(404, 224), 6
  FOR x = 0 TO 2: LINE (384 + x, 234)-(384 + x, 232), 4: NEXT: REM Schild
  PSET (387, 232), 4
  Zehnthof:
  IF Zehnt = 0 THEN GOTO Kirche
  FOR x = 0 TO 1: LINE (384, 208 - x * 8)-(396, 208 - x * 8), 8: NEXT: REM Scheune
  FOR x = 0 TO 1: LINE (384 + x * 12, 208)-(384 + x * 12, 200), 8: NEXT
  FOR x = 0 TO 1: LINE (396, 208 - x * 8)-(408, 205 - x * 8), 8: NEXT
  LINE (408, 205)-(408, 197), 8
  FOR x = 0 TO 1: LINE (390 + x * 12, 195 - x * 3)-(396 + x * 12, 200 - x * 3), 6: NEXT: REM Dach
  LINE (384, 200)-(390, 195), 6: LINE (390, 195)-(402, 192), 6
  FOR x = 0 TO 2: LINE (387 + x * 3, 208)-(387 + x * 3, 203), 6: NEXT: REM Tor
  LINE (387, 203)-(393, 203), 6
  Kirche:
  IF Kirche = 0 THEN GOTO OhneBauten
  FOR x = 0 TO 1: LINE (384 + x * 6, 176)-(384 + x * 6, 165), 8: NEXT: REM Turm
  FOR x = 0 TO 1: LINE (384, 176 - x * 11)-(390, 176 - x * 11), 8: NEXT
  FOR x = 0 TO 1: LINE (384 + x * 6, 165)-(387, 160), 6: NEXT: REM Turmspitze
  FOR x = 0 TO 1: LINE (390, 176 - x * 5)-(408, 176 - x * 5), 8: NEXT: REM Schiff
  LINE (408, 176)-(408, 171), 8
  LINE (405, 168)-(408, 171), 6: LINE (390, 168)-(405, 168), 6: REM Dach
  OhneBauten:
  PRINT "Bauten:": COLOR 7: LOCATE 1, 30: PRINT "Dein Alter:"; Runde; "Jahre"
  PRINT
  PRINT
  PRINT "Welche Bauten willst du errichten lassen ?"
  PRINT
  PRINT
  PRINT " Dein Gelds„ckel hat:"; : COLOR 14: PRINT Silber; : COLOR 7: PRINT "Silberlinge."
  PRINT
  PRINT "                         Preis:              Euer Dorf:"
  PRINT
  PRINT " (1) Die Kirche           800 Silberlinge"
  PRINT
  PRINT " (2) Den Zehnthof         300 Silberlinge"
  PRINT
  PRINT " (3) Das Gasthaus         500 Silberlinge"
  PRINT
  PRINT " (4) Den Markt            650 Silberlinge"
  PRINT
  PRINT " (5) Die Handelsstraáe    200 Silberlinge"
  PRINT
  PRINT " (6) Den Dorfwall         150 Silberlinge"
  PRINT
  PRINT
  PRINT " (7) Nichts von allem !"

  Schleife:
  Tast = val(INPUT(1))
  IF Tast = 0 OR Tast > 7 THEN GOTO Schleife
  IF Tast = 7 THEN GOTO EndeGebaeude

  schongekauft=0
  LOCATE 24, 1: COLOR 12
  SELECT CASE Tast
    CASE 1
      IF Kirche = 1 THEN
        PRINT "Die Kirche hast du schon !"
        schongekauft=1
      end if

    CASE 2
      IF Zehnt = 1 THEN
        PRINT "Den Zehnthof hast du schon !"
        schongekauft=1
      end if

    CASE 3
      iF Gasth = 1 THEN
        PRINT "Das Gasthaus hast du schon !"
        schongekauft=1
      end if

    CASE 4
      IF Markt = 1 THEN
        PRINT "Den Marktplatz hast du schon !"
        schongekauft=1
      end if

    CASE 5
      IF Handels = 1 THEN
        PRINT "Die Handelsstraáe hast du schon !"
        schongekauft=1
      end if
    CASE 6

    IF Dorfwall = 1 THEN
      PRINT "Den Dorfwall hast du schon !"
      schongekauft=1
    end if

  END SELECT

  if schongekauft=1 then taste: GOTO Anfangbauten


  SELECT CASE Tast
  CASE 1: IF Silber < 800 THEN f = 1
  CASE 2: IF Silber < 300 THEN f = 1
  CASE 3: IF Silber < 500 THEN f = 1
  CASE 4: IF Silber < 650 THEN f = 1
  CASE 5: IF Silber < 200 THEN f = 1
  CASE 6: IF Silber < 150 THEN f = 1
  END SELECT
  IF f = 1 THEN f = 0: PRINT "Du hast nicht genug Geld !":  taste: GOTO Anfangbauten

  COLOR 15
  SELECT CASE Tast
  CASE 1: Silber = Silber - 800: Kirche = 1: PRINT "Du hast die Kirche gekauft !"
  CASE 2: Silber = Silber - 300: Zehnt = 1: PRINT "Du hast den Zehnthof gekauft !"
  CASE 3: Silber = Silber - 500: Gasth = 1: PRINT "Du hast den Gasthof gekauft !"
  CASE 4: Silber = Silber - 650: Markt = 1: PRINT "Du hast den Markt gekauft !"
  CASE 5: Silber = Silber - 200: Handels = 1: PRINT "Du hast die Handelsstraáe gekauft !"
  CASE 6: Silber = Silber - 150: Dorfwall = 1: PRINT "Du hast den Dorfwall gekauft !"
  END SELECT

   taste

  GOTO Anfangbauten

  EndeGebaeude:
END SUB

SUB gestorben
  CLS
  COLOR 15: PRINT "Jahresbericht:": COLOR 7
  LOCATE 1, 30: PRINT "Dein Alter:"; Runde; "Jahre"
  PRINT
  PRINT
  PRINT "Deine Lebensuhr ist abgelaufen."
  PRINT
  PRINT "Gottes Gnade ruft deine Seele zu sich."
  PRINT
  PRINT
  PRINT
  PRINT "Versuche im n„chsten Spiel, ob du es frher zum Amtsvogt schaffst."
  PRINT
  taste
END SUB



SUB Kornland
  dim as single Kornpreisver, Kornpreiszu, Landpreiszu, Landpreisver , f, G, K, Z, L
  Korngeb = 0
  Kornpreiszu = INT(RND(1) * 4 + 3.5)
  Kornpreisver = Kornpreiszu - INT(RND(1) * 2 + 1)
  Landpreiszu = INT(RND(1) * 10 + 10)
  Landpreisver = Landpreiszu - INT(RND(1) * 4 + 3.5)
  IF Kirche = 0 THEN Hunger = INT(Buergerneu * (RND(1) * 2.5 + 1)) ELSE Hunger = INT(Buergerneu * (RND(1) * 1.5 + 1))


  Neuanzeige:
    dim as integer Tast
    dim as string sTast
    CLS : COLOR 15
    PRINT "Handel:": COLOR 7: LOCATE 1, 30: PRINT "Dein Alter:"; Runde; "Jahre"
    PRINT
    PRINT
    PRINT "Eure"; Buergerneu; "Brger verlangen nach:"
    COLOR 15
    LOCATE 4, 34: PRINT Hunger; : COLOR 7: PRINT "Scheffel Korn."
    PRINT
    IF Zehnt = 1 THEN PRINT "In euerem Zehnthaus lagern:      "; :  ELSE PRINT "In euerem Lager sind:            ";
    IF Kornneu < Hunger AND Korngeb < Hunger THEN COLOR 12 ELSE COLOR 15
    PRINT Kornneu; : COLOR 7: PRINT "Scheffel Korn."
    PRINT
    PRINT "Ihr besitzt"; Hufe; "Hufe und"; Tagwerk; "Tagwerk."
    PRINT
    PRINT
    PRINT "In euerem S„ckel sind"; : COLOR 14: PRINT Silber; : COLOR 7: PRINT "Silberlinge."
    PRINT
    PRINT "Wollt ihr:            Preis:"
    PRINT
    PRINT " (1) Korn zukaufen  ?  "; Kornpreiszu; "pro Scheffel"
    PRINT " (2) Korn verkaufen ?  "; Kornpreisver; "pro Scheffel"
    PRINT
    PRINT " (3) Land zukaufen  ? "; Landpreiszu; "pro Tagwerk"
    PRINT " (4) Land verkaufen ? "; Landpreisver; "pro Tagwerk"
    PRINT
    PRINT " (5) Euren Brgern Korn geben ?"
    LOCATE 21, 42: PRINT "Korn gegeben  : "; : COLOR 15: IF Korngeb < Hunger THEN COLOR 12
    PRINT Korngeb: COLOR 7
    PRINT
    PRINT " (6) Dem Landesherrn Geld spenden ?"
    LOCATE 23, 42: PRINT "Geld gespendet: "; Geldgeb
    LOCATE 24, 50: PRINT "Gesamt: "; Geldspende
    PRINT
    PRINT " (7) Nichts von Allem !"

  Abfrage:

  Tast = val(INPUT(1))
  IF Tast = 0 OR Tast > 7 THEN GOTO Abfrage

  IF Tast = 3 AND Hufe = 10 THEN LOCATE 26, 2: COLOR 12: PRINT "Mehr Land kannst du nicht kaufen !": PRINT :  taste: GOTO Neuanzeige

  IF (Tast = 7) AND (Korngeb = 0) THEN
    LOCATE 26, 2
    COLOR 12
    PRINT "Sicher das du deine Untertanen verhungern lassen willst ? (j/n)"

    sTast = lcase(INPUT(1))
    IF sTast = "j" THEN  verhungern ELSE GOTO Neuanzeige
  end if

  If Tast = 7 Then GoTo Endekornland

  LOCATE 26, 2: COLOR 12
  SELECT CASE Tast
  CASE 1: IF Silber < Kornpreiszu THEN PRINT "Du hast zu wenig Geld, um Korn zu kaufen.": f = 1:  taste
  CASE 2: IF Kornneu = 0 THEN PRINT " Du hast kein Korn, das du verkaufen kannst !": f = 1:  taste
  CASE 3: IF Silber < Landpreiszu THEN PRINT "Du hast zu wenig Geld, um Land zu kaufen !": f = 1:  taste
  CASE 4: IF Hufe = 0 AND Tagwerk = 0 THEN PRINT "Du hast kein Land, das du verkaufen kannst !": f = 1:  taste
  CASE 5: IF Kornneu = 0 THEN PRINT "Du hast kein Korn fr deine Brger !": f = 1:  taste
  CASE 6: IF Silber = 0 THEN PRINT "Du hast kein Geld, um zu spenden !": f = 1:  taste
  END SELECT
  IF f = 1 THEN f = 0: GOTO Neuanzeige

  COLOR 15: LOCATE 26, 2
  SELECT CASE Tast
  CASE 1: PRINT "(1) Wieviel Korn zukaufen ";
  CASE 2: PRINT "(2) Wieviel Korn verkaufen ";
  CASE 3: PRINT "(3) Wieviel Land zukaufen ";
  CASE 4: PRINT "(4) Wieviel Land verkaufen ";
  CASE 5: PRINT "(5) Wieviel Korn den Brgern geben ";
  CASE 6: PRINT "(6) Wieviel Geld spenden ";
  END SELECT

  INPUT x: IF x < 0 THEN LOCATE 26, 2: COLOR 4: PRINT "Keine negativen Werte eingeben !":  taste: GOTO Neuanzeige
  G=0:K=0:Z=0:L=0
  SELECT CASE Tast
  CASE 1: IF Kornpreiszu * x > Silber THEN G = 1
    Case 2: IF Kornneu < x THEN K = 1
    Case 3: IF Landpreiszu * x > Silber Then G = 1
        IF (Tagwerk + Hufe * 30) + x > 300 THEN Z = 1
  CASE 4: IF x > (Tagwerk + Hufe * 30) THEN L = 1
  CASE 5: IF x > Kornneu THEN K = 1
  CASE 6: IF Silber < x THEN G = 1
  END SELECT

  IF G = 1 OR K = 1 OR L = 1 OR Z = 1 THEN LOCATE 26, 2: COLOR 12
  IF Z = 1 THEN Z = 0: G = 0: PRINT "So viel Land kannst du nicht kaufen !":  taste: GOTO Neuanzeige
  IF G = 1 THEN G = 0: PRINT "So viele Silberlinge hast du nicht !":  taste: GOTO Neuanzeige
  IF K = 1 THEN K = 0: PRINT "Soviel Korn hast du nicht !         ":  taste: GOTO Neuanzeige
  IF L = 1 THEN L = 0: PRINT "Soviel Land hast du nicht !         ":  taste: GOTO Neuanzeige

  SELECT CASE Tast
  CASE 1: Silber = Silber - (Kornpreiszu * x): Kornneu = Kornneu + x
  CASE 2: Silber = Silber + (Kornpreisver * x): Kornneu = Kornneu - x
  CASE 3: Silber = Silber - (Landpreiszu * x): Tagwerk = Tagwerk + x: Hufe = Hufe + INT(Tagwerk / 30): Tagwerk = Tagwerk MOD 30
  CASE 4: Silber = Silber + (Landpreisver * x): Tagwerk = (Hufe * 30 + Tagwerk) - x: Hufe = INT(Tagwerk / 30): Tagwerk = Tagwerk MOD 30
  CASE 5: Korngeb = Korngeb + x: Kornneu = Kornneu - x
  CASE 6: Silber = Silber - x: Geldgeb = Geldgeb + x: Geldspende = Geldspende + x
  END SELECT

  GOTO Neuanzeige

  EndeKornland:
END SUB



SUB taste
  dim as string Tast
  COLOR 7
  LOCATE 28, 1: PRINT "Taste drcken !"
  Tast= INPUT$(1)
END SUB



SUB verhungern
  CLS
  COLOR 15: PRINT "Verhungert:": COLOR 7
  LOCATE 1, 30: PRINT "Dein Alter:"; Runde; "Jahre"
  PRINT
  PRINT
  PRINT "Du hast zuviele Brger verhungern lassen."
  PRINT
  PRINT : COLOR 4
  PRINT "Du hast verloren !!!": COLOR 7
  END
END SUB