'''''''''''''''''''''''''''''''''
' W O I M A  1.0 (J-J Oikkonen) '
' Freeware                      '
' RAUHA.BAS rauhatilan toiminnot'
'''''''''''''''''''''''''''''''''
'$INCLUDE: 'woima.bi'
DEFINT A-Z
DECLARE SUB MiesInfo ()
DECLARE SUB LopetaPeli ()
DECLARE SUB LisaaVartiota (mihin)
DECLARE SUB Sattumat ()
DECLARE SUB TarkistaSattuma ()
DECLARE SUB Rakennuta ()
DECLARE SUB Varvays ()
DECLARE SUB PiirraLiittoNappi ()
DECLARE SUB EsitaLiittoInfo (mika)
DECLARE SUB NaytaPitajaInfo (mika)
DECLARE SUB Varvaa (title)
DECLARE SUB Hyokkaa ()
DECLARE SUB VaihdaPaiva ()
DECLARE SUB LuoTiedosto (tiednimi$, save)
DECLARE SUB EphVuorot (kuka)
DECLARE FUNCTION TileTyyppi (tile AS STRING)
DECLARE FUNCTION MikaTile$ (tilenumn)
DECLARE SUB UusiPaiva ()
DECLARE SUB TakaPajulat (mika)
DECLARE SUB TaloInfo (talo)
DECLARE SUB Hyvaksy (x, xx, y, yy)
DECLARE SUB Tallennus ()
DECLARE SUB Asetatalo (mika$, paikkaX, paikkaY)
DECLARE SUB UkotTaistoon (maarittaja)
DECLARE FUNCTION MikaLiitto$ (liitto)
DECLARE SUB Piirraukko (kenen, kuka, sijaintiX, sijaintiY, snum)
DECLARE SUB PiirraTaulu (box, boy, boxm, boym, tyyli, vari)
DECLARE SUB Valoaste (paljonko)
DECLARE SUB Tallenna (tiednimi$, save)
DECLARE SUB MiehistonMaaritys (maarittaja)
DECLARE SUB NaytaLiittouma (mode)
DECLARE SUB PiirraTile (tilenum, sijaintiX, sijaintiY)
DECLARE SUB LopetaPaiva ()
DECLARE SUB Myyruoka ()
DECLARE SUB Nayta.Rahatilasto ()
DECLARE SUB Nayta.Ruokatilasto ()
DECLARE SUB Nayta.MiehistoInfo ()
DECLARE SUB Osta (mika$)
DECLARE SUB NaytaKylantila ()
DECLARE SUB LueNappi (key$, mode$)
DECLARE FUNCTION LataaTile (tile$, hae$, snum)
DECLARE SUB Taistelu ()
DECLARE SUB Hyokkayskseen (kohde$)
DECLARE SUB Delay (Seconds!)
DECLARE SUB HiiriHide ()
DECLARE SUB HiiriRange (X1, Y1, X2, Y2)
DECLARE SUB HiiriStatus (VH, OH, XHiiri, YHiiri, hx, hy)
DECLARE SUB HiiriShow ()
DECLARE SUB AiRauha ()
DECLARE SUB VuoronVaihto ()
DECLARE SUB Rakennatalo (mika$, paikkaX, paikkaY)
DECLARE SUB RauhaTila ()
DECLARE SUB PiirraNappi (boxX, boxY, boxMx, boxMy, faded$)
DECLARE FUNCTION Fixed$ (num)
DECLARE SUB MiniMap (mapnum, xx, yy)
DECLARE SUB Font (Fonti$, Col, TX, ty, koko, script$)
DECLARE FUNCTION MikaSotilas$ (liitto, hahmo)
DIM SHARED vakooja
DIM SHARED title
SCREEN 13
'' Liitto 1 = Aateliset
'' Liitto 2 = Maalaiset
'' Liitto 3 = Metsanvki

REM $DYNAMIC
SUB Asetatalo (mika$, paikkaX, paikkaY)
'' Uuden rakennuksen sijainnin valitseminen (vain pelaajalle)
 CALL MiniMap(vuorossa, 200, 44)
 GET (200, 54)-(295, 89), tempget    '' otetaan kopio kartasta pohjakartaksi
 PUT (200, 101), tempbox, PSET       '' tyhjataan ent. valinta boxit
  FOR l = 1 TO 9 STEP 2
   LINE (200, 43 + l)-(295, 43 + l), 92, , &H7777 '' rajataan riskialueet
   LINE (200, 89 + l)-(295, 89 + l), 92, , &H7777
  NEXT
 Font "Riskialuetta", 94, 210, 44, 1, ""
 tc = 26
 Font "Aseta " + mika$, tc, 205, 100, 1, ""
 Font "(Kyt nuolia)", tc, 205, 108, 1, ""
 CALL PiirraNappi(204, 118, 288, 138, "")
 Font "[vlilynti]", 42, 210, 129, 1, ""
 Font "Rakenna thn", 42, 208, 119, 1, ""
 paikkaX = 2: paikkaY = 3
 
DO
  lx = (paikkaX + 39) * 5   '' Muutetaan locatio 'pixeleiksi'
  ly = (paikkaY + 8) * 5
    '' Vaihtuu punaiseksi jos alla rakennus (> 0) Ei voi rakentaa!
    IF map(vuorossa, paikkaX, paikkaY) > 0 THEN
        LINE (lx, ly - 1)-(lx + 5, ly + 4), 12, B
    ELSE
        LINE (lx, ly - 1)-(lx + 5, ly + 4), 10, B
    END IF
    IF LataaTile(mika$, "koko", 0) = 2 AND map(vuorossa, paikkaX + 1, paikkaY) > 0 THEN
        lx = lx + 5
        LINE (lx, ly - 1)-(lx + 5, ly + 4), 12, B
    ELSEIF LataaTile(mika$, "koko", 0) = 2 THEN
        lx = lx + 5
        LINE (lx, ly - 1)-(lx + 5, ly + 4), 10, B
    END IF
 key$ = INKEY$:
  SELECT CASE key$
    CASE IS = CHR$(0) + CHR$(75)  'Left
        paikkaX = paikkaX - 1
        IF paikkaX <= 2 THEN paikkaX = 2
        PUT (200, 54), tempget, PSET                         '' piiretaan pohjakartta
    CASE IS = CHR$(0) + CHR$(77)  'Right
        paikkaX = paikkaX + 1
        IF paikkaX >= 17 THEN paikkaX = 17
        PUT (200, 54), tempget, PSET                         '' -||-
    CASE IS = CHR$(0) + CHR$(72)  'Up
        paikkaY = paikkaY - 1
        IF paikkaY <= 3 THEN paikkaY = 3
        PUT (200, 54), tempget, PSET                         '' -||-
    CASE IS = CHR$(0) + CHR$(80)  'Down
        paikkaY = paikkaY + 1
        IF paikkaY >= 9 THEN paikkaY = 9
        PUT (200, 54), tempget, PSET                        '' -||-
    CASE " ", CHR$(13)
        IF map(vuorossa, paikkaX, paikkaY) = 0 THEN key$ = "HH"
 END SELECT
LOOP UNTIL key$ = "HH"
END SUB

REM $STATIC
SUB EsitaLiittoInfo (mika)
 Font hahmo(mika).pelaaja, 48, 135, 45, 1, "shade"
 tc = 43
 Font MikaLiitto$(hahmo(mika).liittouma), tc - 1, 150, 61, 1, ""
 Font hahmo(mika).johtaja, tc, 150, 71, 1, ""
 IF mika = 1 THEN PUT (124, 60), face, PSET
 IF mika = 2 THEN PUT (123, 60), face2, PSET
 IF mika = 3 THEN PUT (123, 60), face3, PSET
 LINE (122, 59)-(144, 80), 23, B        'naamaan reunukset
 LINE (121, 58)-(145, 81), 22, B

 IF vakooja = 1 OR vakooja = 2 OR mika = vuorossa THEN Font "Miehij yht.." + Fixed(hahmo(mika).meleeukot + hahmo(mika).ampujat + hahmo(mika).heitto), tc, 120, 83, 1, "" ELSE Font "Miehij yht..?", tc, 120, 83, 1, ""
 IF vakooja = 3 OR mika = vuorossa THEN Font "Rakennuksia.." + Fixed(hahmo(mika).tiloja + hahmo(mika).tornit + hahmo(mika).ladot + hahmo(mika).aidat), tc, 120, 91, 1, "" ELSE Font "Rakennuksia..?", tc, 120, 91, 1, ""
 IF vakooja = 1 OR vakooja = 4 OR mika = vuorossa THEN Font "Moraali......" + Fixed(hahmo(mika).moraali), tc, 120, 99, 1, "" ELSE Font "Moraali......?", tc, 120, 99, 1, ""

 Font "--------------------", 45, 105, 107, 1, ""
 Font "Oma miehistvahvuus", 48, 105, 112, 1, "shade"
 Font "" + MikaSotilas$(vuorossa, 1), 49, 120, 121, 1, "shade"
 Font "           x " + Fixed(hahmo(vuorossa).meleeukot), 49, 120, 121, 1, "shade"
 Font "" + MikaSotilas$(vuorossa, 0), 49, 120, 129, 1, "shade"
 Font "           x " + Fixed(hahmo(vuorossa).ampujat), 49, 120, 129, 1, "shade"
 Font "" + MikaSotilas$(vuorossa, 2), 49, 120, 137, 1, "shade"
 Font "           x " + Fixed(hahmo(vuorossa).heitto), 49, 120, 137, 1, "shade"
END SUB

REM $DYNAMIC
SUB Hyvaksy (x, xx, y, yy)
'' Subi piirt annettujen sijaintien mukaan napin, sek tekee
'' loopin joka loppuu kunnes nappia on painettu!
 
 PiirraNappi x, y, xx, yy, ""
 Font " Jatka", 42, x + 10, y + 2, 1, ""
 HiiriShow
 ''Looppi kunnes nappia tai enteri painetaan
 DO
 HiiriStatus VH, OH, MX, MY, hx, hy
 s$ = INKEY$
  IF MX > x * 2 AND MX < xx * 2 AND MY > y AND MY < yy AND VH <> 0 THEN s$ = CHR$(13): HiiriHide
 LOOP UNTIL s$ = CHR$(13)
END SUB

REM $STATIC
SUB LisaaVartiota (mihin)
 DIM laheta, kustannus
 tulos = hahmo(mihin).ampujat

 CALL PiirraTaulu(95, 46, 235, 160, 0, 0)
 CIRCLE (120, 49), 3, 0: PAINT (119, 49), 0
 CIRCLE (210, 49), 3, 0: PAINT (210, 49), 0
 LINE (120, 46)-(210, 52), 0, BF
 DRAW "bm144,85c44e5l4r4d3u3"
 Font "Lis vartiota", 43, 125, 45, 1, ""

 Piirraukko 4, 1, 152, 60, 0
 Piirraukko 4, 1, 121, 90, 0

 Font "(" + Fixed(hahmo(mihin).ampujat) + ")", 44, 120, 64, 1, ""
 LOCATE 9, 22: PRINT hahmo(mihin).ampujat
 LOCATE 13, 18: PRINT laheta
 LOCATE 13, 23: PRINT kustannus
 Font "g", 48, 216, 96, 1, "shade"

 Font "Pitjn       miehet", 48, 105, 55, 1, "shade"
 Font "Lhet   Kustannukset", 48, 105, 80, 1, "shade"
 CALL PiirraNappi(116, 112, 217, 121, "")
 Font "Vrv mies (" + Fixed(LataaTile(MikaSotilas$(4, 1), "hinta", 0)) + ")", 42, 118, 113, 1, ""
 PiirraNappi 115, 129, 218, 139, ""
 Font "  Hyvksy", 42, 125, 130, 1, ""
 PiirraNappi 115, 143, 218, 153, ""
 Font "  Peruuta", 42, 125, 145, 1, ""

 Delay .3
 DO
  HiiriShow
  HiiriStatus VH, OH, MX, MY, hx, hy
 key$ = INKEY$
  IF VH <> 0 THEN
        HiiriHide
        IF MX > 232 AND MX < 434 AND MY > 112 AND MY < 120 AND hahmo(mihin).ampujat + laheta < 20 AND hahmo(vuorossa).rahaa > LataaTile(MikaSotilas$(4, 1), "hinta", 0) * (laheta + 1) THEN
           laheta = laheta + 1
           kustannus = LataaTile(MikaSotilas$(4, 1), "hinta", 0) * laheta
           LOCATE 13, 18: PRINT laheta
           LOCATE 13, 23: PRINT kustannus
           LOCATE 9, 22: PRINT hahmo(mihin).ampujat + laheta
        ELSEIF MX > 230 AND MX < 436 AND MY > 129 AND MY < 139 THEN
           hahmo(mihin).ampujat = hahmo(mihin).ampujat + laheta
           hahmo(vuorossa).rahaa = hahmo(vuorossa).rahaa - kustannus
           key$ = "q"
        ELSEIF MX > 230 AND MX < 436 AND MY > 143 AND MY < 153 THEN
           key$ = "q"
        END IF
  Delay .3
  END IF
 LOOP UNTIL key$ <> ""
 HiiriHide
 'Nayta.Rahatilasto
END SUB

REM $DYNAMIC
SUB LueNappi (key$, mode$)
'''- Lukee (perus tilassa) painetut napit ja suorittaa sen mukaiset jatko toimenpiteet.
'''  Vain pelaajalle.
DIM tulos
  HiiriHide
  IF key$ = "1" AND mode$ = "normal" OR MX > 406 AND MY > 103 AND MX < 578 AND MY < 115 AND mode$ = "normal" AND VH <> 0 THEN
    GOSUB Kauppa
  ELSEIF key$ = "2" AND mode$ = "normal" OR MX > 406 AND MY > 117 AND MX < 578 AND MY < 129 AND mode$ = "normal" AND VH <> 0 THEN
    GOSUB Kauppa
  ELSEIF key$ = "3" AND mode$ = "normal" OR MX > 406 AND MY > 132 AND MX < 578 AND MY < 142 AND mode$ = "normal" AND VH <> 0 THEN
    ''Nyt kyln tila...
    CALL NaytaKylantila
    new$ = "normal"
    CALL PiirraNappi(204, 132, 288, 142, "")
    Font "Liittouma", 42, 220, 133, 1, ""
    CALL MiniMap(vuorossa, 200, 44)
  ELSEIF key$ = "2" AND mode$ = "men" OR MX > 406 AND MY > 118 AND MX < 578 AND MY < 128 AND mode$ = "men" AND VH <> 0 THEN
    GOSUB Osta
  ELSEIF key$ = "2" AND mode$ = "build" OR MX > 406 AND MY > 118 AND MX < 578 AND MY < 128 AND mode$ = "build" AND VH <> 0 THEN
    GOSUB Osta
  ELSEIF key$ = "0" AND mode$ = "build" OR MX > 568 AND MY > 46 AND MX < 584 AND MY < 55 AND mode$ = "build" AND VH <> 0 THEN
    CALL TaloInfo(title)
  ELSEIF key$ = "0" AND mode$ = "men" OR MX > 568 AND MY > 46 AND MX < 584 AND MY < 55 AND mode$ = "men" AND VH <> 0 THEN
    CALL MiesInfo
  ELSEIF key$ = "3" AND mode$ = "men" OR MX > 406 AND MY > 132 AND MX < 578 AND MY < 142 AND mode$ = "men" AND VH <> 0 THEN
     key$ = "paluu"
  ELSEIF key$ = "3" AND mode$ = "build" OR MX > 406 AND MY > 132 AND MX < 578 AND MY < 142 AND mode$ = "build" AND VH <> 0 THEN
     key$ = "paluu"
  ELSEIF key$ = "m" AND hahmo(vuorossa).ruokaa > 0 OR MX > 306 AND MY > 122 AND MX < 366 AND MY < 130 AND hahmo(vuorossa).ruokaa > 0 AND VH <> 0 THEN
     ''Myy ruoka...
     CALL Myyruoka
       CALL PiirraNappi(153, 122, 182, 130, "fade")
       Font "myy", 44, 157, 122, 1, ""
       Delay (.3)
       CALL PiirraNappi(153, 122, 182, 130, "")
       Font "myy", 43, 157, 122, 1, ""
     CALL Nayta.Rahatilasto
     CALL Nayta.Ruokatilasto
  ELSEIF key$ = "T" OR MX > 386 AND MY > 148 AND MX < 600 AND MY < 158 AND VH <> 0 THEN
     ''Tallenna...
     CALL Tallennus
  ELSEIF key$ = "H" OR MX > 386 AND MY > 161 AND MX < 498 AND MY < 171 AND VH <> 0 THEN
     ''Hykk...
     CALL PiirraNappi(194, 161, 249, 171, "fade")                      'hyokkaa
      Font "Hykk", 42, 198, 162, 1, ""
     '' Puolustaja ei ole asettanus viel miehi puolustukseen
     IF vuorossa = vastus(2).vastus AND vastus(2).miekat + vastus(2).jouset + vastus(2).heitto = 0 OR vuorossa = hahmo(vastus(2).vastus).liittouma AND vastus(2).miekat + vastus(2).jouset + vastus(2).heitto = 0 THEN
       GET (95, 25)-(245, 166), tempget
       CALL UkotTaistoon(2)
       PUT (95, 25), tempget, PSET
     ELSE
       CALL NaytaLiittouma(3)
     END IF
     CALL PiirraNappi(194, 161, 249, 171, "")                      'hyokkaa
      Font "Hykk", 41, 198, 162, 1, ""
  ELSEIF key$ = "V" OR MX > 502 AND MY > 161 AND MX < 600 AND MY < 171 AND VH <> 0 THEN
     ''Vallota...
     CALL PiirraNappi(252, 161, 300, 171, "fade")
       Font "Vallota", 42, 258, 162, 1, ""
     NaytaLiittouma 4
      CALL PiirraNappi(252, 161, 300, 171, "")
       Font "Vallota", 41, 258, 162, 1, ""
  ELSEIF key$ = "L" OR MX > 386 AND MY > 174 AND MX < 600 AND MY < 184 AND VH <> 0 THEN
     ''Lopetetaan piv....
     ''Asetetaan puolustus, jos kohteen vuoro ja puolustusta ei ole viel asetettu
     IF vuorossa = vastus(2).vastus AND vastus(2).miekat + vastus(2).jouset + vastus(2).heitto = 0 THEN
       GET (95, 25)-(245, 166), tempget
       CALL UkotTaistoon(2)
       PUT (95, 25), tempget, PSET
     ELSEIF vastus(2).vastus > 3 AND vuorossa = hahmo(vastus(2).vastus).liittouma THEN
       '' Pelaaja ei asettanut miehistn puolustukseen, joten puolustus koostuu junteista!
       vastus(2).miekat = 0
       vastus(2).heitto = 0
       vastus(2).jouset = hahmo(vastus(2).vastus).ampujat
       mapnum = vastus(2).vastus
       CALL VuoronVaihto
     ELSE
       CALL PiirraNappi(194, 174, 300, 184, "fade")
       Font "Lopeta piv", 42, 213, 175, 1, ""
       '' Vaihdetaan pelaajavuoroa
       CALL VuoronVaihto
     END IF
  ELSEIF key$ = "+" AND mode$ = "men" OR MX > 508 AND MY > 103 AND MX < 530 AND MY < 113 AND mode$ = "men" AND VH <> 0 THEN
     title = title + 1
     IF title > 2 THEN title = 0
     CALL Varvays
  ELSEIF key$ = "-" AND mode$ = "men" OR MX > 448 AND MY > 103 AND MX < 468 AND MY < 113 AND mode$ = "men" AND VH <> 0 THEN
     title = title - 1
     IF title < 0 THEN title = 2
     CALL Varvays
  ELSEIF key$ = "+" AND mode$ = "build" OR MX > 508 AND MY > 103 AND MX < 530 AND MY < 113 AND mode$ = "build" AND VH <> 0 THEN
     title = title + 1: CALL Rakennuta
  ELSEIF key$ = "-" AND mode$ = "build" OR MX > 448 AND MY > 103 AND MX < 468 AND MY < 113 AND mode$ = "build" AND VH <> 0 THEN
     title = title - 1: CALL Rakennuta
  ELSEIF key$ = " " THEN
    EXIT SUB                                                            'valttaa ns.vahinko bugin
  END IF

 IF key$ = "A" THEN AiRauha: key$ = "L"
 IF key$ = "\" THEN hahmo(2).pelaaja = "Pelaaja 2"
 IF key$ = "+" THEN PRINT vastus(1).vastus; vastus(2).vastus
 IF key$ = "paluu" THEN
        PUT (200, 101), tempbox, PSET                             'Paluu!!
        LINE (200, 44)-(295, 99), 0, BF
        CALL PiirraNappi(204, 104, 288, 114, "")
        CALL PiirraNappi(204, 118, 288, 128, "")
        CALL PiirraNappi(204, 132, 288, 142, "")
        tc = 42
        Font " Vrv", tc, 219, 106, 1, ""
        Font "Rakennuta", tc, 219, 119, 1, ""
        Font "Liittouma", tc, 220, 133, 1, ""
        CALL MiniMap(vuorossa, 200, 44)
        key$ = ""
        mode$ = "normal"
   END IF
 EXIT SUB

'' Nppin toiminnot tarkistettu!

Kauppa:
 PUT (200, 101), tempbox, PSET
 LINE (200, 44)-(295, 99), 0, BF
 CALL PiirraNappi(204, 118, 288, 128, "")    'osta
 CALL PiirraNappi(204, 132, 288, 142, "")    'paluu
 DRAW "bm219,109c25e5r10d10bl1c24l9h5br1 c24e4r9d8l9h4br1p24,24 br5c25r4" 'br4c26e2g2f2h2r4
 DRAW "bm269,109c25h5l10d10br1c24r9e5bl1 c24h4l9d8r9e4bl1p24,24 bl7c25u2d4u2r2l4" 'bl4c26h2f2g2e2l4
 '' Tarkistetaan oliko viimeksi painettu nappi Vrv vai Rakennuta
 IF key$ = "1" AND mode$ = "normal" OR MX > 406 AND MY > 103 AND MX < 578 AND MY < 115 AND mode$ = "normal" THEN
     mode$ = "men": title = 1
     CALL Varvays
 ELSEIF key$ = "2" AND mode$ = "normal" OR MX > 406 AND MY > 117 AND MX < 578 AND MY < 129 AND mode$ = "normal" THEN
     mode$ = "build": title = 1
     CALL Rakennuta
 END IF
RETURN

Osta:
 '' Suoritetaan pelaajan ostotoiminto
 SELECT CASE mode$
  CASE "men"
        '' jos ei rahaa miehistn ostoon tai ei taepeeksi ruokaa...
        IF hahmo(vuorossa).rahaa < LataaTile(MikaSotilas$(vuorossa, title), "hinta", 0) OR hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto >= hahmo(vuorossa).tiloja * 7 THEN
          Font " Vrv", 43, 219, 119, 1, ""
          Delay (.4)
          Font " Vrv", 42, 219, 119, 1, ""
          EXIT SUB
        ELSE
          ''suoritetaan osto
          CALL PiirraNappi(204, 118, 288, 128, "fade")                        'napin varjotus
          Font " Vrv", 43, 219, 119, 1, ""
          Delay (.4)
          Osta MikaSotilas$(vuorossa, title)
          CALL PiirraNappi(204, 118, 288, 128, "")                            'napin varjotus pois!
          Font " Vrv", 42, 219, 119, 1, ""
          Nayta.MiehistoInfo
        END IF
  CASE "build"
        '' Rakennetutaan rakennus
        IF hahmo(vuorossa).rahaa < LataaTile(MikaTile$(title), "hinta", 0) OR LataaTile(MikaTile$(title), "omist", 0) >= LataaTile(MikaTile$(title), "yht", 0) THEN
          Font "Rakennuta", 43, 219, 119, 1, ""
          Delay (.5)
          Font "Rakennuta", 42, 219, 119, 1, ""
          EXIT SUB
        ELSE
          Osta MikaTile$(title)
       END IF
 END SELECT
 CALL Nayta.Rahatilasto
 CALL Nayta.Ruokatilasto
 IF mode$ = "build" THEN key$ = "paluu"
RETURN
END SUB

SUB MiehistonMaaritys (maarittaja)
 ''-Alohjelma jossa maaritettaan taisteluun lahetettavien miehien maara
 ''-maarittaja = kumpaan vastus-taulukkoon tiedot tallennetaan
 DO
 HiiriShow
 key$ = INKEY$
   HiiriStatus VH, OH, MX, MY, hx, hy     '' tutkitaan hiiren sijaintia
   IF VH <> 0 OR key$ > "" THEN
     HiiriHide
     ''suoritetaan nappien toiminnot (+/-)...
     IF MX >= 328 AND MY >= 95 AND MX <= 348 AND MY <= 103 AND vastus(maarittaja).jouset + vastus(maarittaja).miekat + vastus(maarittaja).heitto < 20 OR key$ = "+" THEN
        vastus(maarittaja).miekat = vastus(maarittaja).miekat + 1
        IF vastus(maarittaja).miekat > hahmo(vuorossa).meleeukot THEN vastus(maarittaja).miekat = hahmo(vuorossa).meleeukot
     ELSEIF MX >= 224 AND MY >= 95 AND MX <= 244 AND MY <= 103 AND vastus(maarittaja).miekat + vastus(maarittaja).jouset + vastus(maarittaja).heitto > 0 OR key$ = "-" THEN
        vastus(maarittaja).miekat = vastus(maarittaja).miekat - 1
        IF vastus(maarittaja).miekat < 0 THEN vastus(maarittaja).miekat = 0
     ELSEIF MX >= 328 AND MY >= 113 AND MX <= 348 AND MY <= 121 AND vastus(maarittaja).jouset + vastus(maarittaja).miekat + vastus(maarittaja).heitto < 20 OR key$ = "*" THEN
        vastus(maarittaja).jouset = vastus(maarittaja).jouset + 1
        IF vastus(maarittaja).jouset > hahmo(vuorossa).ampujat THEN vastus(maarittaja).jouset = hahmo(vuorossa).ampujat
     ELSEIF MX >= 224 AND MY >= 113 AND MX <= 244 AND MY <= 121 AND vastus(maarittaja).jouset + vastus(maarittaja).miekat + vastus(maarittaja).heitto > 0 OR key$ = "/" THEN
        vastus(maarittaja).jouset = vastus(maarittaja).jouset - 1
        IF vastus(maarittaja).jouset < 0 THEN vastus(maarittaja).jouset = 0
     ELSEIF MX >= 328 AND MY >= 131 AND MX <= 348 AND MY <= 139 AND vastus(maarittaja).jouset + vastus(maarittaja).miekat + vastus(maarittaja).heitto < 20 OR key$ = "*" THEN
        vastus(maarittaja).heitto = vastus(maarittaja).heitto + 1
        IF vastus(maarittaja).heitto > hahmo(vuorossa).heitto THEN vastus(maarittaja).heitto = hahmo(vuorossa).heitto
     ELSEIF MX >= 224 AND MY >= 131 AND MX <= 244 AND MY <= 139 AND vastus(maarittaja).jouset + vastus(maarittaja).miekat + vastus(maarittaja).heitto > 0 OR key$ = "/" THEN
        vastus(maarittaja).heitto = vastus(maarittaja).heitto - 1
        IF vastus(maarittaja).heitto < 0 THEN vastus(maarittaja).heitto = 0
     ELSEIF MX >= 322 AND MY >= 147 AND MX <= 394 AND MY <= 158 THEN
         key$ = "q"
         '' Peruutus nappi
         IF vuorossa = vastus(2).vastus THEN
           vastus(2).miekat = 0
           vastus(2).jouset = 0
           vastus(2).heitto = 0
           IF mapnum > 3 THEN
            '' Kumotaan oletus. Pelaaja ei puolustaa pitj
            vastus(2).vastus = mapnum
           END IF
         ELSE
          FOR i = 1 TO 2
           vastus(i).vastus = 0
           vastus(i).miekat = 0
           vastus(i).heitto = 0
           vastus(i).jouset = 0
          NEXT
         END IF
     ELSEIF MX >= 220 AND MY >= 147 AND MX <= 316 AND MY <= 158 AND vastus(maarittaja).jouset + vastus(maarittaja).miekat > 0 OR key$ = "H" AND vastus(maarittaja).jouset + vastus(maarittaja).miekat > 0 THEN
        ''Joukut asetettu, hyokkaa nappia painettu.
        IF NOT vuorossa = vastus(2).vastus THEN
          vastus(1).vastus = vuorossa
        END IF
      key$ = "q"
     END IF
     IF NOT key$ = "q" THEN
        LINE (140, 96)-(150, 103), 0, BF
        Font Fixed(vastus(maarittaja).miekat), 27, 140, 96, 1, "shade"
        LINE (140, 114)-(150, 121), 0, BF
        Font Fixed(vastus(maarittaja).jouset), 27, 140, 114, 1, "shade"
        LINE (140, 132)-(150, 140), 0, BF
        Font Fixed(vastus(maarittaja).heitto), 27, 140, 132, 1, "shade"
        LINE (186, 115)-(210, 125), 0, BF
        Font "=" + Fixed(vastus(maarittaja).jouset + vastus(maarittaja).heitto + vastus(maarittaja).miekat), 28, 190, 115, 1, "shade"
     END IF
     Delay (.15)
   END IF
 LOOP UNTIL key$ = "q" OR key$ = CHR$(27)
END SUB

SUB MiesInfo
 GET (90, 55)-(208, 130), tempget
 PiirraTaulu 90, 55, 200, 125, 0, 0
 tc = 44
    Font "Teho ilmoittaa", tc, 98, 62, 1, ""
    Font "hykkyksen", tc, 98, 70, 1, ""
    Font "lhi- ja (kauko)", tc, 98, 78, 1, ""
    Font "tehokkuuden", tc, 98, 86, 1, ""

 Hyvaksy 110, 180, 106, 116
 PUT (90, 55), tempget, PSET
 HiiriShow

END SUB

SUB MiniMap (mapnum, xx, yy)
 FOR y = 1 TO 11
 FOR x = 1 TO 19
  a = map(mapnum, x, y)

 'CASE 2 Tila
 'CASE 4 Torni
 'CASE 5 Varasto
 'CASE 6 Panimo
 'CASE 7 Aita

 SELECT CASE a
  CASE 0
    b = 93
   CASE 2
    b = 43
   CASE 3
    b = 91
   CASE 4
    b = 25
   CASE 5
    b = 6'85  '66
   CASE 6
    b = 33
   CASE 7
    b = 45
   CASE 8
    b = 90
   CASE 9
    b = 92
   CASE ELSE
    b = 0
  END SELECT

  LINE (x * 5 - 5 + xx, y * 5 - 5 + yy)-(x * 5 + xx, y * 5 + yy), b, BF

  NEXT
 NEXT

END SUB

SUB Myyruoka
DIM arvo   'ruuan lislaatuarvo (alv..?)
 IF hahmo(vuorossa).ruokaa > 0 THEN
  hahmo(vuorossa).rahaa = hahmo(vuorossa).rahaa + (hahmo(vuorossa).ruokaa * 1.3)
  hahmo(vuorossa).ruokaa = 0
 END IF
END SUB

SUB Nayta.MiehistoInfo
''- Miehiston tietojen esitys
 tc = 26
  LINE (110, 56)-(137, 64), 0, BF
  LINE (110, 66)-(137, 74), 0, BF
  LINE (110, 76)-(137, 84), 0, BF
  LINE (110, 86)-(137, 94), 0, BF
  Font "Miehet yht.....  " + Fixed(hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto), tc, 17, 86, 1, ""
  Font Fixed(hahmo(vuorossa).meleeukot), tc, 119, 56, 1, ""
  Font Fixed(hahmo(vuorossa).heitto), tc, 119, 66, 1, ""
  Font Fixed(hahmo(vuorossa).ampujat), tc, 119, 76, 1, ""
  IF vuorossa = 1 THEN
        Font "Ritarit........  " + Fixed(hahmo(vuorossa).meleeukot), tc, 17, 56, 1, ""
        Font "Keihsmiehet...  " + Fixed(hahmo(vuorossa).heitto), tc, 17, 66, 1, ""
        Font "Jousimiehet....  " + Fixed(hahmo(vuorossa).ampujat), tc, 17, 76, 1, ""
  ELSEIF vuorossa = 2 THEN
        Font "Soturit........  " + Fixed(hahmo(vuorossa).meleeukot), tc, 17, 56, 1, ""
        Font "Seivsmiehet...  " + Fixed(hahmo(vuorossa).heitto), tc, 17, 66, 1, ""
        Font "Metsstjt....  " + Fixed(hahmo(vuorossa).ampujat), tc, 17, 76, 1, ""
  ELSE
        Font "Maahiset.......  " + Fixed(hahmo(vuorossa).meleeukot), tc, 17, 56, 1, ""
        Font "Susimiehet.....  " + Fixed(hahmo(vuorossa).heitto), tc, 17, 66, 1, ""
        Font "Tontut.........  " + Fixed(hahmo(vuorossa).ampujat), tc, 17, 76, 1, ""
  END IF
  PUT (288, 7), tiili, PSET: PUT (268, 7), tiili, PSET
  Font "Palkat: ", 28, 228, 14, 1, "": Font "        " + Fixed((hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto) / 7) + "g/d", 30, 228, 14, 1, "shade"
END SUB

SUB Nayta.Rahatilasto
DIM verot
''- Liittouman rahatilastojen esitys
  tc = 26
  LINE (110, 166)-(145, 174), 0, BF
  LINE (110, 176)-(145, 184), 0, BF
  '' Katsotaan onko tuloja veroista (omistetaanko pitj)
  FOR i = 4 TO 6
   IF hahmo(i).liittouma = vuorossa THEN
     verot = verot + (hahmo(i).rahaa * 1.2)
   END IF
  NEXT
 Font "Tulot pivss.  " + Fixed((hahmo(vuorossa).moraali * 4) + verot + (hahmo(vuorossa).karjat * 8) - ((hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto) / 7)), tc, 19, 166, 1, ""
 Font "Hopeaa (g).....  " + Fixed(hahmo(vuorossa).rahaa), tc, 19, 176, 1, ""
END SUB

SUB Nayta.Ruokatilasto
''- Liittouman ruokatilastojen esitys
 tc = 26
  LINE (110, 116)-(137, 124), 0, BF
  LINE (110, 126)-(137, 134), 0, BF
  LINE (110, 136)-(137, 144), 0, BF
  Font "Tuotto.........  " + Fixed(hahmo(vuorossa).tiloja * 7), tc, 19, 116, 1, ""
  Font "Kytt.........  " + Fixed(hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto), tc, 19, 126, 1, ""
  Font "Varastossa.....  " + Fixed(hahmo(vuorossa).ruokaa), tc, 19, 136, 1, ""
END SUB

SUB NaytaKylantila
DIM verot, pitajia
 '' Nytetn kylan tilasta tietova...
 LINE (200, 44)-(295, 99), 0, BF
 CALL PiirraNappi(204, 132, 288, 142, "fade")
 Font "Liittouma", 43, 220, 133, 1, ""

 tc = 47
 Font "--Kyl info --", tc - 5, 202, 46, 1, ""
 Font "Varastoissa", tc, 201, 55, 1, "shade"
 Font "ruokaa " + Fixed(hahmo(vuorossa).ruokaa) + " / " + Fixed(hahmo(vuorossa).ladot * 7), tc, 201, 63, 1, "shade"

 IF vuorossa = vastus(2).vastus THEN
  Font MikaLiitto(vastus(1).vastus) + " hyk-", 83, 201, 71, 1, "shade"
  Font "kmss kyln!", 83, 201, 79, 1, "shade"
 ELSEIF vuorossa = hahmo(vastus(2).vastus).liittouma THEN
  Font "Pitjsi on", 83, 201, 71, 1, "shade"
  Font "vaarassa!", 83, 201, 79, 1, "shade"
 ELSEIF vuorossa = vastus(1).vastus THEN
  Font "Miehist valmis-", tc, 201, 71, 1, "shade"
  Font "tautuu taistoon", tc, 201, 79, 1, "shade"
 ELSE
  IF hahmo(vuorossa).tiloja = 0 THEN
   Font "Rakennuta Tila", tc, 201, 71, 1, "shade"
   Font "jotta asukkaat", tc, 201, 79, 1, "shade"
   Font "saavat ruokaa.", tc, 201, 87, 1, "shade"
  ELSEIF (hahmo(vuorossa).ladot * 7) - hahmo(vuorossa).ruokaa <= 1 THEN
   Font "Varastotilat", tc, 201, 71, 1, "shade"
   Font "kyvt vhiin.", tc, 201, 79, 1, "shade"
   Font "Osta Varasto", tc, 201, 87, 1, "shade"
  ELSEIF (hahmo(vuorossa).tiloja * 7) - (hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto) <= 1 THEN
   Font "Miehistn ruoka", tc, 201, 71, 1, "shade"
   Font "ky vhiin!", tc, 201, 79, 1, "shade"
   Font "", tc, 201, 87, 1, "shade"
  ELSE
   Font "Miehist lep", tc, 201, 71, 1, "shade"
   Font "tyytyvisen.", tc, 201, 79, 1, "shade"
   Font "", tc, 201, 87, 1, "shade"
  END IF

 END IF


 GET (60, 45)-(185, 155), tempget
 PiirraTaulu 60, 45, 180, 92, 0, 0
 Font "- Pitj tulot -", tc, 69, 52, 1, "shade"
 tc = 42
 verot = 0
 pitajia = 0
 FOR i = 4 TO 6
  IF hahmo(i).liittouma = vuorossa THEN
    verot = verot + (hahmo(i).rahaa * 1.2)
    pitajia = pitajia + 1
  END IF
 NEXT
 Font "Pitji: " + Fixed(pitajia), tc, 70, 62, 1, ""
 Font "Verotulot: " + Fixed(verot) + "g /d", tc + 1, 70, 71, 1, ""
 verot = 0
 FOR i = 4 TO 6
  IF hahmo(i).liittouma = vuorossa THEN
    verot = verot + (hahmo(i).ruokaa * 1.2)
  END IF
 NEXT
 Font "Ruokaverot: " + Fixed(verot) + " /d", tc + 1, 70, 80, 1, ""

 PiirraTaulu 60, 99, 180, 147, 0, 0
 Font "-Miehistn taito -", 47, 69, 106, 1, "shade"
 Font "  Linkotuli", 44, 75, 116, 1, ""
 Font "  Parannus", 44, 75, 126, 1, ""
 Font "  Sankaruus", 44, 75, 136, 1, ""

 IF MID$(hahmo(vuorossa).taito, 1, 1) = "L" THEN
        i = 116
 ELSEIF MID$(hahmo(vuorossa).taito, 1, 1) = "P" THEN
        i = 126
 ELSEIF MID$(hahmo(vuorossa).taito, 1, 1) = "S" THEN
        i = 136
 ELSE
        i = 116
 END IF

 Delay (.2)
 DO
  Font "*             *", 48, 72, i, 1, "shade"
  HiiriShow
  HiiriStatus VH, OH, MX, MY, hx, hy
 key$ = INKEY$
  IF VH <> 0 THEN
        HiiriHide
        IF MX > 150 AND MX < 300 AND MY > 116 AND MY < 126 THEN
           Font "*             *", 0, 72, i, 1, ""
           i = 116
           MID$(hahmo(vuorossa).taito, 1, 1) = "L"
        ELSEIF MX > 150 AND MX < 300 AND MY > 126 AND MY < 136 THEN
           Font "*             *", 0, 72, i, 1, ""
           i = 126
           MID$(hahmo(vuorossa).taito, 1, 1) = "P"
        ELSEIF MX > 150 AND MX < 300 AND MY > 136 AND MY < 146 THEN
           Font "*             *", 0, 72, i, 1, ""
           i = 136
           MID$(hahmo(vuorossa).taito, 1, 1) = "S"
        ELSE
           key$ = "q"
        END IF
  Delay .2
  END IF
 LOOP UNTIL key$ <> ""
 HiiriHide
 PUT (60, 45), tempget, PSET
END SUB

SUB NaytaLiittouma (mode)
''-  Suorittaa nappain toiminnot: Hyokkaa/Vallota
''-  mode = 3  Esitt pelaajat
''-  mode = 4  Esitt pitjt (Epht)
 HiiriHide
 GET (90, 45)-(265, 165), tempget

 IF mode = 3 OR klassinen THEN mika = 1: mode = 3 ELSE mika = 4
 CALL PiirraLiittoNappi

Nayta:
 IF mode = 3 THEN LINE (117, 58)-(214, 107), 0, BF
 LINE (130, 46)-(200, 52), 0, BF
 FOR i = 1 TO 6
  IF mika > 6 AND mode = 4 THEN mika = 4
  IF mika = i AND hahmo(i).liittouma = 0 THEN mika = mika + 1
  IF RTRIM$(hahmo(mika).pelaaja) = "" THEN mika = mika + 1
  IF mika > 3 AND mode = 3 OR mika > 6 AND mode = 4 THEN
     IF mode = 3 THEN
        IF hahmo(1).liittouma > 0 THEN
         mika = 1
        ELSEIF hahmo(2).liittouma > 0 THEN
         mika = 2
        ELSE
         PUT (95, 45), tempget, PSET: EXIT SUB
        END IF
     ELSEIF mode = 4 THEN
        IF hahmo(4).liittouma > 0 THEN
         mika = 4
        ELSEIF hahmo(5).liittouma > 0 THEN
         mika = 5
        ELSE
         PUT (95, 45), tempget, PSET: EXIT SUB
        END IF
     END IF
  END IF
 NEXT

 '' Tulostetaan pitjn/liittouman tiedot nytlle
 IF mode = 3 THEN EsitaLiittoInfo mika
 IF mode = 4 THEN NaytaPitajaInfo mika

 Delay .2

 DO
  HiiriShow
  key$ = INKEY$
  HiiriStatus VH, OH, MX, MY, hx, hy
  IF VH <> 0 THEN
    HiiriHide
    IF MX > 434 AND MX < 454 AND MY >= 60 AND MY <= 105 THEN
      mika = mika + 1: GOTO Nayta
    ELSEIF MX > 230 AND MX < 436 AND MY >= 147 AND MY <= 156 AND NOT vastus(2).vastus = vuorossa THEN
     '' Hykkys toiminto aktivoitu, mutta tarkistetaan viel muutama asia!
     '' onko kohde oma pitj?
     IF mika > 3 AND hahmo(mika).liittouma = vuorossa AND hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto > 0 AND hahmo(mika).meleeukot < 20 THEN
        '' Jos omastuksessa lisataan vartiontia
        CALL LisaaVartiota(mika)
        key$ = "q"
     '' Eihn kohde ole oma liittouma?
     ELSEIF NOT hahmo(mika).liittouma = vuorossa OR NOT mika = vuorossa AND mika < 4 THEN
        '' Onko kohde 'kykenev taistoon'
        IF hahmo(mika).meleeukot + hahmo(mika).ampujat + hahmo(mika).heitto = 0 AND mika <= 3 THEN
          LINE (119, 82)-(213, 108), 0, BF
          Font hahmo(mika).johtaja + " ei", 45, 120, 83, 1, ""
          Font "ole kykenev", 45, 120, 91, 1, ""
          Font "taistelemaan!", 45, 120, 99, 1, ""
          SLEEP 2
          HiiriHide
          GOTO Nayta
        ELSEIF vastus(1).vastus > 0 AND vuorossa <> vastus(1).vastus THEN
          LINE (119, 82)-(213, 108), 0, BF
          Font RTRIM$(hahmo(vastus(1).vastus).johtaja) + " on", 45, 120, 83, 1, ""
          Font "esittnyt jo", 45, 120, 91, 1, ""
          Font "haasteen!", 45, 120, 99, 1, ""
          SLEEP 2
          HiiriHide
          GOTO Nayta
        ELSEIF vastus(1).vastus = 0 OR vastus(1).vastus = vuorossa THEN
          '' Kaikki Ok! Pannaan miehet nuijien reen!
          UkotTaistoon 1
          IF vastus(1).miekat + vastus(1).jouset + vastus(1).heitto > 0 THEN vastus(2).vastus = mika
           key$ = "q"
          END IF
      END IF
    ELSEIF MX > 204 AND MX < 226 AND MY >= 148 AND MY <= 156 AND hahmo(mika).liittouma = vuorossa THEN
      ''Vaihdetaan ohjaajaa jos kyseess on oma liitouman pitj
      IF hahmo(mika).pelaaja = "Tietokone" THEN hahmo(mika).pelaaja = hahmo(vuorossa).pelaaja ELSE hahmo(mika).pelaaja = "Tietokone"
      NaytaPitajaInfo mika
      Delay .2
    ELSEIF MX > 210 AND MX < 228 AND MY >= 60 AND MY <= 105 THEN
      key$ = "q"
    END IF
  END IF
  IF key$ = "+" THEN HiiriHide: mika = mika + 1: GOTO Nayta
 LOOP UNTIL key$ = "q" OR key$ = CHR$(27)
 HiiriHide
 PUT (90, 45), tempget, PSET
 Nayta.Ruokatilasto
 Nayta.Rahatilasto
 Nayta.MiehistoInfo
END SUB

SUB Osta (mika$)
 '' SUBI joka suorittaa osto toiminnot
 '' Vhennetn rahat

 '' Listn ostos pelaajan omistukseen
 IF mika$ = MikaSotilas$(vuorossa, 1) OR mika$ = MikaSotilas$(vuorossa, 2) OR mika$ = MikaSotilas$(vuorossa, 0) THEN
   IF mika$ = MikaSotilas$(vuorossa, 1) THEN
        hahmo(vuorossa).meleeukot = hahmo(vuorossa).meleeukot + 1
   ELSEIF mika$ = MikaSotilas$(vuorossa, 0) THEN
        hahmo(vuorossa).ampujat = hahmo(vuorossa).ampujat + 1
   ELSEIF mika$ = MikaSotilas$(vuorossa, 2) THEN
        hahmo(vuorossa).heitto = hahmo(vuorossa).heitto + 1
   END IF
   ''Lasketaan tulokkaan- ja liittouman moraali
   IF hahmo(vuorossa).ruokaa > 0 THEN hahmo(vuorossa).ruokaa = hahmo(vuorossa).ruokaa - 1
   RANDOMIZE TIMER               ''Lasketaan tulokkaan moraali
   mora = INT(RND * 2) + LataaTile(mika$, "moraali", 0)
   hahmo(vuorossa).moraali = ((hahmo(vuorossa).ampujat + hahmo(vuorossa).meleeukot + hahmo(vuorossa).heitto) * hahmo(vuorossa).moraali + mora) / (hahmo(vuorossa).ampujat + hahmo(vuorossa).meleeukot + hahmo(vuorossa).heitto + 1)
   hahmo(vuorossa).rahaa = hahmo(vuorossa).rahaa - LataaTile(mika$, "hinta", 0)
  ELSE
 
  '' mr ei ylit rajoja
  IF LataaTile(mika$, "omist", 0) < LataaTile(mika$, "yht", 0) THEN
  hahmo(vuorossa).rahaa = hahmo(vuorossa).rahaa - LataaTile(mika$, "hinta", 0)
 
  '' Muutoin ostakaamme rakennus
  IF mika$ = MikaTile(2) THEN
    hahmo(vuorossa).tiloja = hahmo(vuorossa).tiloja + 1
    ''listn ruoka varastoon
    IF hahmo(vuorossa).ladot > 0 THEN
      hahmo(vuorossa).ruokaa = hahmo(vuorossa).ruokaa + 7
    END IF
  ELSEIF mika$ = MikaTile(4) THEN
    hahmo(vuorossa).tornit = hahmo(vuorossa).tornit + 1
  ELSEIF mika$ = MikaTile(5) THEN
    hahmo(vuorossa).ladot = hahmo(vuorossa).ladot + 1
    ''listn ruoka varastoon
    IF hahmo(vuorossa).ladot > 0 THEN
      '' Jos ruokaa varastossa vhemmn kuin koko tuottoa listn varastoon ruokaa
      IF hahmo(vuorossa).ruokaa < hahmo(vuorossa).tiloja * 7 AND hahmo(vuorossa).ladot <= hahmo(vuorossa).tiloja THEN
        hahmo(vuorossa).ruokaa = hahmo(vuorossa).ruokaa + 7
        '' Katsotaan viel ettei varaston ruoka ylit tuoton kapasiteettia
        IF hahmo(vuorossa).ruokaa > hahmo(vuorossa).tiloja * 7 THEN hahmo(vuorossa).ruokaa = hahmo(vuorossa).tiloja * 7
      END IF
    END IF
  ELSEIF mika$ = MikaTile(6) THEN
    hahmo(vuorossa).karjat = hahmo(vuorossa).karjat + 1
  ELSEIF mika$ = MikaTile(7) THEN
    hahmo(vuorossa).aidat = hahmo(vuorossa).aidat + 1
  END IF

  ''Jos rakennusten maara ei ole viela ohittanut sille asetettua rajaa niin
  ''rakennuksen saa asettaa kartalle...
  IF LataaTile(mika$, "omist", 0) <= LataaTile(mika$, "kartta", 0) THEN
     IF hahmo(vuorossa).pelaaja = "Tietokone" THEN
         DO
          RANDOMIZE TIMER
          paikkaX = INT(RND * 17) + 2
          paikkaY = INT(RND * 6) + 3
         LOOP UNTIL map(vuorossa, paikkaX, paikkaY) = 0 AND map(vuorossa, paikkaX + 1, paikkaY) = 0
     ELSE
         CALL Asetatalo(mika$, paikkaX, paikkaY)
     END IF
     IF mika$ = MikaTile$(2) THEN
            map(vuorossa, paikkaX, paikkaY) = TileTyyppi(mika$) + 1
            map(vuorossa, paikkaX + 1, paikkaY) = TileTyyppi(mika$)
     ELSEIF mika$ = MikaTile$(4) THEN
          map(vuorossa, paikkaX, paikkaY) = TileTyyppi(mika$)
     ELSEIF mika$ = MikaTile$(5) THEN
          map(vuorossa, paikkaX, paikkaY) = TileTyyppi(mika$)
     ELSEIF mika$ = MikaTile$(6) THEN
          map(vuorossa, paikkaX, paikkaY) = TileTyyppi(mika$)
     ELSEIF mika$ = MikaTile$(7) THEN
          map(vuorossa, paikkaX, paikkaY) = TileTyyppi(mika$)
     END IF
  END IF
  END IF
 END IF
END SUB

REM $STATIC
SUB PiirraLiittoNappi
''- Maailman turhin aliohjelma. Saavutus sekin sinns?
 CALL PiirraTaulu(95, 46, 235, 160, 0, 0)
 CIRCLE (130, 49), 3, 0: PAINT (129, 49), 0
 CIRCLE (200, 49), 3, 0: PAINT (200, 49), 0
 PiirraNappi 105, 60, 114, 105, ""
 PiirraNappi 217, 60, 227, 105, ""
 Font "P", 42, 107, 65, 1, ""
 Font "o", 42, 107, 72, 1, ""
 Font "i", 42, 107, 80, 1, ""
 Font "s", 42, 107, 88, 1, ""
 Font "S", 42, 220, 65, 1, ""
 Font "e", 42, 220, 72, 1, ""
 Font "u", 42, 220, 80, 1, ""
 Font "r", 42, 220, 88, 1, ""
 PiirraNappi 115, 147, 218, 156, ""
 Font "Hykk!", 42, 140, 148, 1, ""
END SUB

REM $DYNAMIC
SUB Rakennuta
 LINE (200, 44)-(295, 99), 0, BF
 CALL PiirraNappi(284, 46, 292, 55, "")
 Font "?", 48, 285, 47, 1, ""
 IF title < 2 THEN title = 7
 IF title > 7 THEN title = 2
 IF title = 3 THEN
  IF MX > 448 AND MY > 103 AND MX < 468 AND MY < 113 THEN
   title = 2
  ELSE
   title = 4
  END IF
 END IF
 IF title = 2 THEN teksti1$ = "Ruokkii miehi"
 IF title = 4 THEN teksti1$ = "Lis vuoroja"
 IF title = 5 THEN teksti1$ = "Varastoi ruokaa"
 IF title = 7 THEN teksti1$ = "Antaa suojaa"
 IF title = 6 THEN teksti1$ = "Nostaa tuloja"
 PiirraTile TileTyyppi(MikaTile(title)), 203, 57:
 Font MikaTile$(title), 15, 204, 46, 1, ""
 Font "     Omist: " + Fixed(LataaTile(MikaTile$(title), "omist", 0)), 30, 195, 56, 1, "shade"
 Font "     Max: " + Fixed(LataaTile(MikaTile$(title), "yht", 0)), 30, 195, 66, 1, "shade"
 Font teksti1$, 15, 204, 76, 1, ""
  Font "HINTA: " + Fixed(LataaTile(MikaTile$(title), "hinta", 0)) + ",-", 15, 204, 86, 1, ""
 Font "Rakennuta", 42, 219, 119, 1, ""
 Font " Paluu", 42, 221, 133, 1, ""
END SUB

SUB RauhaTila
''- Rauhatilan, paakeskus!!
 HiiriRange 0, 0, 625, 195
KylaTila:

 IF taisto = TRUE THEN
  IF vastus(2).miekat + vastus(2).jouset + vastus(2).heitto = 0 THEN
     '' Luovutusvoitto, puolustusta ei ole saatu kasaan
     taisto = FALSE
     IF mapnum > 3 THEN hahmo(mapnum).liittouma = vastus(1).vastus: hahmo(mapnum).ampujat = 1
     FOR i = 1 TO 2
      vastus(i).vastus = 0
      vastus(i).miekat = 0
      vastus(i).heitto = 0
      vastus(i).jouset = 0
     NEXT
  ELSE
     '' Taistelukutsu tosi! Siirrytn pois
     EXIT SUB
  END IF
 END IF

 IF hahmo(vuorossa).liittouma = 0 THEN VuoronVaihto
 '' Suoritetaan tietokoneen vuorot
 IF hahmo(vuorossa).pelaaja = "Tietokone" THEN CALL AiRauha: GOTO KylaTila

 ''Kuinka paljon vihollispuolella oleva vakooja on saanut tietoa
 RANDOMIZE TIMER
 vakooja = INT(RND * 5)

 mode$ = "normal"       ''..?
 FOR x = 8 TO 300 STEP 20
  FOR y = 7 TO 180 STEP 20
   PUT (x, y), tiili, PSET
  NEXT
 NEXT
 FOR y = 7 TO 186 STEP 6
  PUT (1, y), reuna1, PSET
  PUT (309, y), reuna4, PSET
 NEXT
 FOR x = 8 TO 306 STEP 6
  PUT (x, 0), reuna2, PSET
  PUT (x, 188), reuna2, PSET
  PUT (x, 36), reuna2, PSET
 NEXT

 PUT (1, 0), kulma, PSET
 PUT (309, 0), kulma, PSET
 PUT (1, 188), kulma, PSET
 PUT (309, 188), kulma, PSET
 PUT (155, 80), miekkam, AND
 PUT (155, 80), miekka, OR
 PUT (155, 133), leipam, AND
 PUT (155, 133), leipa, OR
 PUT (155, 168), raham, AND
 PUT (155, 168), raha, OR

 GET (200, 101)-(296, 145), tempbox                     'ota kuva ennen laatikoita (varvaa, rakenna, k.tila)
 LINE (11, 12)-(33, 34), 23, BF
 LINE (12, 13)-(33, 34), 22, BF
 LINE (13, 14)-(33, 34), 21, BF
  IF vuorossa = 1 THEN                            'Naamat taululle
         PUT (13, 14), face, PSET
  ELSEIF vuorossa = 2 THEN
         PUT (13, 14), face2, PSET
  ELSEIF vuorossa = 3 THEN
         PUT (13, 14), face3, PSET
  END IF
 LINE (199, 43)-(296, 100), 22, B                              'Minimapin korostusta viivoilla
 LINE (200, 44)-(296, 100), 25, B                              '-||-
 CALL PiirraNappi(204, 104, 288, 114, "")                      'varvaa
 CALL PiirraNappi(204, 118, 288, 128, "")                      'rakennuta
 CALL PiirraNappi(204, 132, 288, 142, "")                      'kylantila
 CALL PiirraNappi(153, 122, 182, 130, "")                      'myy
 CALL PiirraNappi(194, 148, 300, 158, "")                      'tallenna
 CALL PiirraNappi(194, 161, 249, 171, "")                      'hyokkaa
 CALL PiirraNappi(252, 161, 300, 171, "")                      'Vallota
 CALL PiirraNappi(194, 174, 300, 184, "")                      'lopeta p.

 tc = 28
 Font "Liittouma:", tc, 37, 14, 1, ""
  Font MikaLiitto$(hahmo(vuorossa).liittouma), 30, 97, 14, 1, "shade"
 Font "Johtaja: ", tc, 36, 24, 1, ""
  Font hahmo(vuorossa).johtaja, 30, 90, 24, 1, "shade"
 Font "Voittoja: " + Fixed(hahmo(vuorossa).voitot) + "/" + (Fixed((hahmo(vuorossa).haviot + hahmo(vuorossa).voitot))), tc, 165, 24, 1, ""
  Font Fixed(hahmo(vuorossa).voitot) + "/" + (Fixed((hahmo(vuorossa).haviot + hahmo(vuorossa).voitot))), 30, 225, 24, 1, "shade"
 Font "Piv:", tc, 165, 14, 1, ""
  Font "      " + Fixed(day), 30, 165, 14, 1, "shade"
 Font "Palkat: ", tc, 228, 14, 1, ""
  Font "        " + Fixed((hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto) / 7) + "g/d", 30, 228, 14, 1, "shade"
 CALL MiniMap(vuorossa, 200, 44)
   
 tc = 28
 Font "Miehist info", tc, 15, 46, 1, ""
  Nayta.MiehistoInfo
 Font "Ruokatilanne info", tc, 15, 106, 1, ""
  Nayta.Ruokatilasto
 Font "Rahatilasto info", tc, 15, 156, 1, ""
  Nayta.Rahatilasto
 tc = 41
 Font " Tallenna", tc, 219, 149, 1, ""
 Font "Hykk   Vallota", tc, 198, 162, 1, ""
 Font "Lopeta piv", tc, 213, 175, 1, ""
 tc = 42
 Font " Vrv", tc, 219, 106, 1, ""
 Font "Rakennuta", tc, 219, 119, 1, ""
 Font "Liittouma", tc, 220, 133, 1, ""
 IF vuorossa = vastus(2).vastus OR vuorossa = hahmo(vastus(2).vastus).liittouma THEN Font "Liittouma", 4, 220, 133, 1, ""
 Font "myy", tc + 1, 157, 122, 1, ""

 '' Tarkistetaan onko tullut sattumia.. kjeh!
 Sattumat

 key$ = ""
 Delay .1
 DO
  HiiriShow
  key$ = INKEY$
    HiiriStatus VH, OH, MX, MY, hx, hy   ''tutkitaan hiiren sijaintia ja nappien tilaa
    IF VH <> 0 THEN
      CALL LueNappi(key$, mode$)
      Delay (.2)
      IF VH <> 0 AND MX > 386 AND MY > 174 AND MX < 600 AND MY < 184 THEN GOTO KylaTila
    END IF
    IF key$ <> "" THEN CALL LueNappi(key$, mode$)
    IF key$ = "L" THEN GOTO KylaTila
    IF key$ = "q" OR key$ = CHR$(27) THEN LopetaPeli
 LOOP UNTIL finished
END SUB

REM $STATIC
SUB Sattumat
 '' Sattumia!
 DIM sattuma, maksu
 RANDOMIZE TIMER
 sattuma = INT(RND * 59) + 1
 tc = 44

 IF sattuma <= 8 AND day > 1 THEN
    GET (90, 55)-(208, 130), tempget
    PiirraTaulu 90, 60, 200, 120, 0, 0
      IF sattuma = 1 THEN
          Font "Yn aikana vorot", tc, 99, 68, 1, ""
          Font "ovat tyhjentneet", tc, 99, 76, 1, ""
          Font "koko kyln", tc, 99, 84, 1, ""
          Font "ruokavarastot!!", tc, 99, 92, 1, ""
          hahmo(vuorossa).ruokaa = 0
      ELSEIF sattuma = 2 THEN
          Font "Kaksi hirmuista", tc, 99, 68, 1, ""
          Font "takametsien tais-", tc, 99, 76, 1, ""
          Font "telijaa liittyy", tc, 99, 84, 1, ""
          Font "joukkouhisi!", tc, 99, 92, 1, ""
          hahmo(vuorossa).meleeukot = hahmo(vuorossa).meleeukot + 2
      ELSEIF sattuma = 3 THEN
          maksu = INT(RND * 2) + 1
          IF maksu = 1 AND hahmo(vuorossa).meleeukot > 0 OR maksu = 2 AND hahmo(vuorossa).ampujat > 0 THEN
           Font "Yksi taistelija", tc, 99, 68, 1, ""
           Font "on kaatunut", tc, 99, 76, 1, ""
           Font "tunemattomilla", tc, 99, 84, 1, ""
           Font "teillns...RIP", tc, 99, 92, 1, ""
           IF maksu = 1 THEN hahmo(vuorossa).meleeukot = hahmo(vuorossa).meleeukot - 1 ELSE hahmo(vuorossa).ampujat = hahmo(vuorossa).ampujat - 1
          END IF
      ELSEIF sattuma = 4 THEN
          Font "Erittin huonot", tc, 99, 68, 1, ""
          Font "solot laskevat", tc, 99, 76, 1, ""
          Font "miehistsi", tc, 99, 84, 1, ""
          Font "moraalia!", tc, 99, 92, 1, ""
          hahmo(vuorossa).moraali = hahmo(vuorossa).moraali - 1
      ELSEIF sattuma = 5 THEN
          Font "Erittin hyvt", tc, 99, 68, 1, ""
          Font "st ja metstys-", tc, 99, 76, 1, ""
          Font "onni nostavat", tc, 99, 84, 1, ""
          Font "miesten moraalia!", tc, 99, 92, 1, ""
          hahmo(vuorossa).moraali = hahmo(vuorossa).moraali + 1
      ELSEIF sattuma = 6 THEN
          Font "Kyllisten ", tc, 99, 68, 1, ""
          Font "killinen vauras-", tc, 99, 76, 1, ""
          Font "tuminen lissi", tc, 99, 84, 1, ""
          Font "pivntuloja +10g", tc, 99, 92, 1, ""
          hahmo(vuorossa).rahaa = hahmo(vuorossa).rahaa + 10
      ELSE
          maksu = INT(RND * 20) + 5
          IF maksu > hahmo(vuorossa).rahaa THEN maksu = hahmo(vuorossa).rahaa
          Font "Joudut maksamaan", tc, 99, 68, 1, ""
          Font Fixed(maksu) + "g hopeaa kyln ", tc, 99, 76, 1, ""
          Font "kunnossapitoon!", tc, 99, 84, 1, ""
          hahmo(vuorossa).rahaa = hahmo(vuorossa).rahaa - maksu
      END IF
     'Font Fixed(sattuma), 15, 95, 68, 1, ""
     Hyvaksy 110, 180, 103, 113
     PUT (90, 55), tempget, PSET
     Nayta.MiehistoInfo
     Nayta.Ruokatilasto
     Nayta.Rahatilasto
     HiiriShow
 END IF
END SUB

REM $DYNAMIC
SUB Tallennus
'----- Kesken......
 CALL LuoTiedosto("peli1.dat", 0)
 GET (90, 55)-(208, 130), tempget
 PiirraTaulu 90, 60, 200, 120, 0, 0
 tc = 44
 Font "Peli tallennettu", tc, 98, 67, 1, ""
 Font "nimell: Peli1.", tc, 98, 75, 1, ""
 Font "", tc, 98, 83, 1, ""

 Hyvaksy 110, 180, 103, 113
 PUT (90, 55), tempget, PSET
 HiiriShow
END SUB

SUB TaloInfo (talo)
 GET (90, 55)-(208, 130), tempget
 PiirraTaulu 90, 55, 200, 125, 0, 0
 tc = 43
 SELECT CASE talo
  CASE 2
    Font "Tila tuottaa pi-", tc, 98, 62, 1, ""
    Font "vss 7:n miehen", tc, 98, 70, 1, ""
    Font "verran ruokaa.", tc, 98, 78, 1, ""
  CASE 4
    Font "Hykkyksen tul-", tc, 98, 62, 1, ""
    Font "lessa saat toimia", tc, 98, 70, 1, ""
    Font "ennen hykkj.", tc, 98, 78, 1, ""
    Font "+2 vuoroa /Torni", tc, 98, 86, 1, ""
  CASE 5
    Font "Varastoon voit", tc, 98, 62, 1, ""
    Font "varastoida ruokaa", tc, 98, 70, 1, ""
    Font "Yhteen mahtuu", tc, 98, 78, 1, ""
    Font "7 annosta.", tc, 98, 86, 1, ""
  CASE 7
    Font "Suojaa kaikelta", tc, 98, 62, 1, ""
    Font "muulta paitsi", tc, 98, 70, 1, ""
    Font "nuolilta jotka", tc, 98, 78, 1, ""
    Font "liit yli.", tc, 98, 86, 1, ""
  CASE 6
    Font "Tuottaa tuotteita", tc, 98, 62, 1, ""
    Font "markkinoille.", tc, 98, 70, 1, ""
    Font "Nostaa tuloja", tc, 98, 78, 1, ""
    Font "8 hopearahalla", tc, 98, 86, 1, ""
  END SELECT

 Hyvaksy 110, 180, 106, 116
 PUT (90, 55), tempget, PSET
 HiiriShow
END SUB

SUB UkotTaistoon (maarittaja)
''- SUBI jossa piirretn taulu miehiston maaritykseen
''  (miehistnmritys jouduttu jakamaan tilansstsyist kahteen eri subiin)
''  Tm sislt miehistmrityksen graafisen puolen...
 
 CALL PiirraTaulu(100, 73, 220, 160, 0, 0)

 IF vuorossa = vastus(2).vastus OR vastus(2).vastus > 3 AND hahmo(vastus(2).vastus).liittouma = vuorossa THEN
  CALL PiirraTaulu(100, 26, 220, 73, 0, 0)
  tc = 42
  Font "" + MikaLiitto$(vastus(1).vastus) + " ovat", tc - 1, 110, 35, 1, ""
  Font "hykkmss:", tc - 1, 110, 44, 1, ""
  Font Fixed(vastus(1).miekat + vastus(1).jouset + vastus(1).heitto) + " miehen voimin", tc, 110, 53, 1, ""
   IF vastus(2).vastus < 4 THEN Font "kohti kylsi", tc, 110, 62, 1, ""
   IF vastus(2).vastus = 4 THEN Font "kohti Santavuorta", tc, 110, 62, 1, ""
   IF vastus(2).vastus = 5 THEN Font "kohti Laihialaa", tc, 110, 62, 1, ""
   IF vastus(2).vastus = 6 THEN Font "kohti Rautajrve", tc, 110, 62, 1, ""
 END IF
 
 '' Liittouman pitj on vaarassa
 IF vastus(2).vastus > 3 AND hahmo(vastus(2).vastus).liittouma = vuorossa THEN
   '' Oletus. Pelaaja puolustaa pitj
   mapnum = vastus(2).vastus
   vastus(2).vastus = vuorossa
 ELSEIF vuorossa = vastus(2).vastus THEN
    mapnum = vastus(2).vastus
 END IF

 ty = 78: tc = 42
 IF vuorossa = vastus(2).vastus THEN Font "Aseta puolustus:", tc, 110, ty, 1, "" ELSE Font "Lhet miehi:", tc, 110, ty + 1, 1, ""

 ''Tulostetaan liittouman hahmojen nimet
 Font MikaSotilas$(vuorossa, 1) + ":", 48, 110, ty + 9, 1, "shade"
 Font MikaSotilas$(vuorossa, 0) + ":", 48, 110, ty + 26, 1, "shade"
 Font MikaSotilas$(vuorossa, 2) + ":", 48, 110, ty + 44, 1, "shade"

 ''piirretaan napit (+/-)...
 FOR i = 1 TO 3
  CALL PiirraNappi(112, ty + (i * 18), 122, ty + (i * 18 + 6), "")
  CALL PiirraNappi(164, ty + (i * 18), 174, ty + (i * 18 + 6), "")
  Font "+", tc, 167, ty + (i * 18), 1, ""
  Font "-", tc, 115, ty + (i * 18), 1, ""
 NEXT

 CALL PiirraNappi(110, ty + 70, 158, ty + 79, "")
 CALL PiirraNappi(161, ty + 70, 197, ty + 79, "")
 Font "Hykk  Peru", tc, 115, ty + 71, 1, ""

 ''Otetaan lahetattavien miehien maara suoraan jos miehiston koko alle 20
 IF hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto <= 20 THEN
  vastus(maarittaja).miekat = hahmo(vuorossa).meleeukot
  vastus(maarittaja).jouset = hahmo(vuorossa).ampujat
  vastus(maarittaja).heitto = hahmo(vuorossa).heitto
 ELSE
  vastus(maarittaja).miekat = 0
  vastus(maarittaja).jouset = 0
  vastus(maarittaja).heitto = 0
 END IF


 Font Fixed(vastus(maarittaja).miekat), 27, 140, ty + (1 * 18), 1, "shade"
 Font Fixed(vastus(maarittaja).jouset), 27, 140, ty + (2 * 18), 1, "shade"
 Font Fixed(vastus(maarittaja).heitto), 27, 140, ty + (3 * 18), 1, "shade"

 Font "Yht.:", 47, 182, ty + 28, 1, "shade"
 Font "=" + Fixed(vastus(maarittaja).jouset + vastus(maarittaja).heitto + vastus(maarittaja).miekat), 28, 190, ty + (2 * 18 + 1), 1, "shade"

 Delay (.2)
 CALL MiehistonMaaritys(maarittaja)
END SUB

SUB UusiPaiva
DIM kenenoma(1 TO 3)

 '' Listn liittouman tilille oma tuotto
 FOR mika = 1 TO 3
   hahmo(mika).rahaa = hahmo(mika).rahaa + (hahmo(mika).moraali * 4) + (hahmo(mika).karjat * 8) - (((hahmo(mika).meleeukot + hahmo(mika).ampujat + hahmo(mika).heitto) / 7))
   hahmo(mika).ruokaa = (hahmo(mika).tiloja * 7) - (hahmo(mika).meleeukot + hahmo(mika).ampujat + hahmo(mika).heitto)
   IF hahmo(mika).ruokaa > hahmo(mika).ladot * 7 THEN hahmo(mika).ruokaa = hahmo(mika).ladot * 7
 NEXT

 IF NOT klassinen THEN
   '' Voitto kenties?. (Joku liittoumista vallannut kaikki pitjt?)
   FOR i = 4 TO 6
     IF hahmo(i).liittouma < 4 THEN kenenoma(i - 3) = hahmo(i).liittouma
   NEXT
   IF kenenoma(1) = kenenoma(2) AND kenenoma(2) = kenenoma(3) AND kenenoma(1) > 0 AND NOT klassinen THEN finished = TRUE: voitto = kenenoma(1)
 ELSE
   '' vain yksi liittouma pystss
   kenenoma(1) = 3
   FOR i = 1 TO 3
     IF hahmo(i).liittouma = 0 OR RTRIM$(hahmo(i).pelaaja) = "" THEN kenenoma(1) = kenenoma(1) - 1
   NEXT
   IF kenenoma(1) <= 1 THEN
        finished = TRUE
        FOR i = 1 TO 3
         IF hahmo(i).liittouma > 0 AND RTRIM$(hahmo(i).pelaaja) > "" THEN voitto = i
        NEXT
   END IF
 END IF
END SUB

REM $STATIC
SUB VaihdaPaiva

 '' Taistelu haaste asitetty, onko puolustaja valmis
 IF vastus(2).vastus > 0 AND hahmo(vastus(2).vastus).liittouma <= 3 THEN
   IF vastus(2).miekat + vastus(2).jouset + vastus(2).heitto = 0 AND hahmo(vastus(2).vastus).meleeukot + hahmo(vastus(2).vastus).ampujat + hahmo(vastus(2).vastus).heitto > 0 THEN
      '' Puolustusta ei ole asetettu. Siiretn vuoro puolustajalle. (Oletus = liittouma)
      vuorossa = vastus(2).vastus
      '' ..jos kuitenkin puolustaja on Eph siiretn vuoro tmn omistajalle!
      IF vastus(2).vastus > 3 AND hahmo(vastus(2).vastus).liittouma <= 3 AND vastus(2).miekat + vastus(2).jouset + vastus(2).heitto = 0 THEN vuorossa = hahmo(vastus(2).vastus).liittouma
      EXIT SUB
   END IF
 END IF

 '' Suoritetaan eph liittoumien vuorot
 FOR mika = 4 TO 6
   '' Kutsutaan Ai:ta toimimaan
   IF RTRIM$(hahmo(mika).pelaaja) > "" THEN CALL EphVuorot(mika)
 NEXT

 IF vastus(2).miekat + vastus(2).jouset > 0 THEN taisto = TRUE

 IF NOT taisto THEN
  UusiPaiva
  ''Vaihdetaan uusi paiva, aloitetaan uusi kierros
  day = day + 1
 END IF
END SUB

REM $DYNAMIC
SUB Varvays
 LINE (200, 44)-(295, 99), 0, BF
 IF title < 0 THEN title = 0: IF title > 2 THEN title = 2
 Piirraukko vuorossa, title, 205, 56, 0

 '' esitetn taistelija
 Font MikaSotilas$(vuorossa, title), 15, 204, 46, 1, ""
  Font "     Teho:" + Fixed(LataaTile(MikaSotilas$(vuorossa, title), "teho", 0)), 30, 195, 56, 1, "shade"
  Font "(" + Fixed(LataaTile(MikaSotilas$(vuorossa, title), "tehoK", 0)) + ")", 30, 261, 56, 1, "shade"
  Font "     Pb:  " + Fixed(LataaTile(MikaSotilas$(vuorossa, title), "pb", 0)), 30, 195, 66, 1, "shade"
  Font "Kantavuus: " + Fixed(LataaTile(MikaSotilas$(vuorossa, title), "kanto", 0)), 30, 204, 76, 1, "shade"
  'Font "Moraali: " + Fixed(LataaTile(MikaSotilas$(vuorossa, title), "moraali", 0)) + "-" + Fixed(LataaTile(MikaSotilas$(vuorossa, title), "moraali", 0) + 1), 15, 204, 76, 1, ""
  Font "HINTA: " + Fixed(LataaTile(MikaSotilas$(vuorossa, title), "hinta", 0)) + ",-", 15, 204, 86, 1, ""
 Font " Vrv", 42, 219, 119, 1, ""
 Font " Paluu", 42, 221, 133, 1, ""

 CALL PiirraNappi(284, 46, 292, 55, "")
 Font "?", 48, 285, 47, 1, ""
END SUB

