'''''''''''''''''''''''''''''''''
' W O I M A  1.0 (J-J Oikkonen) '
' Freeware                      '
' EPH.BAS eli rauhan tekoly    '
'''''''''''''''''''''''''''''''''
'$INCLUDE: 'woima.bi'
DEFINT A-Z
DECLARE SUB AsetaPuolustus ()
DECLARE SUB AiHaastot ()
DECLARE SUB NaytaPitajaInfo (mika)
DECLARE FUNCTION TileTyyppi (tile AS STRING)
DECLARE FUNCTION MikaSotilas$ (liitto, hahmo)
DECLARE FUNCTION MikaTile$ (tilenumn)
DECLARE SUB VuoronVaihto ()
DECLARE SUB UusiPaiva ()
DECLARE SUB UkotTaistoon (maarittaja)
DECLARE SUB Delay (Seconds!)
DECLARE SUB HiiriHide ()
DECLARE SUB PiirraNappi (boxX, boxY, boxMx, boxMy, tila AS STRING)
DECLARE SUB HiiriStatus (VH, OH, XHiiri, YHiiri, hx, hy)
DECLARE SUB HiiriShow ()
DECLARE SUB Font (Fonti$, col, tx, TY, koko, script$)
DECLARE SUB Osta (mika$)
DECLARE SUB Myyruoka ()
DECLARE SUB LopetaPaiva ()
DECLARE SUB TakaPajulat (mika)
DECLARE SUB MiniMap (mapnum, xx, yy)
DECLARE SUB PiirraTaulu (box, boy, boxm, boym, tyyli, vari)
DECLARE FUNCTION LataaTile (tile$, hae$, snum)
DECLARE FUNCTION MikaSotilas$ (liitto, hahmo)
DECLARE FUNCTION Fixed$ (num)

''EPH.BAS ksitelee kaikkia rauhatilan Ei Pelaaja Hahmojen- sek Tietokoneen
''toimintoja (rauhanaikana).


REM $DYNAMIC
SUB AiHaastot
 '' Katsotaan josko hykttisiin (kuka muuttujaa) vastaan
 DIM kohde, pisteet(1 TO 6), Paras, oma, i
 IF vastus(1).vastus > 0 THEN EXIT SUB   '' haasto on esitetty jo
 IF day < 4 THEN EXIT SUB
 Paras = 1
 FOR kohde = 1 TO 6: pisteet(kohde) = 0: NEXT

 '' Lasketaan hykkyspisteet jokaisesta hahmosta, hykkys todennkisyys nousee jos...
 FOR kohde = 1 TO 6
katso:
  oma = 0
  IF RTRIM$(hahmo(kohde).pelaaja) = "" THEN kohde = kohde + 1: GOTO katso
  IF hahmo(kohde).liittouma = vuorossa THEN kohde = kohde + 1: GOTO katso
  IF kohde = vuorossa THEN kohde = kohde + 1: GOTO katso
  IF kohde <= 3 AND hahmo(kohde).meleeukot + hahmo(kohde).ampujat + hahmo(kohde).heitto < 5 THEN kohde = kohde + 1: GOTO katso
  IF klassinen AND kohde > 3 THEN EXIT FOR
  IF vastus(1).vastus > 0 THEN PRINT "vastus": SLEEP: EXIT FOR
  IF kohde > 6 THEN EXIT FOR

  '' Sitten siirrytn pisteiden laskuun. Pisteet kasvaa ehtojen tyttyess
  '' Alueruhtinas (max.8)
  IF NOT klassinen THEN
     IF kohde <= 3 THEN
        pisteet(kohde) = pisteet(kohde) - 3
        '' vihulaisliitto omistaa jo kaksi pitj
        oma = 0
        FOR i = 4 TO 6
          IF hahmo(i).liittouma = hahmo(kohde).liittouma AND RTRIM$(hahmo(i).pelaaja) > "" THEN oma = oma + 1
        NEXT
        IF oma > 1 THEN pisteet(kohde) = pisteet(kohde) + 3
     ELSE
        '' pitj
        pisteet(kohde) = pisteet(kohde) + 2
        '' Liittouma omistaa toisenkin pitjn (sama kuin yll. Erona vain kumpaan halutaa ett kone hykk pitjn vai kyln...)
        oma = 0
        FOR i = 4 TO 6
          IF NOT i = kohde AND hahmo(i).liittouma <= 3 AND hahmo(kohde).liittouma = hahmo(i).liittouma THEN oma = oma + 1
        NEXT
        IF oma >= 1 THEN pisteet(kohde) = pisteet(kohde) + 3
        '' pitj on tietokoneen
        IF hahmo(kohde).pelaaja = "Tietokone" THEN pisteet(kohde) = pisteet(kohde) - 3
        '' pitjn omistajalla enemmn miehi kuin itsell
        IF hahmo(kohde).liittouma <= 3 AND hahmo(hahmo(kohde).liittouma).meleeukot + hahmo(hahmo(kohde).liittouma).ampujat + hahmo(hahmo(kohde).liittouma).heitto > hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto THEN  _
pisteet(kohde) = pisteet(kohde) - 4
        '' pitjll ei ole omistajaa
        IF hahmo(kohde).liittouma > 3 THEN pisteet(kohde) = pisteet(kohde) + 4
        IF hahmo(kohde).ruokaa > 3 THEN pisteet(kohde) = pisteet(kohde) + 1
        IF hahmo(kohde).rahaa > 3 THEN pisteet(kohde) = pisteet(kohde) + 1
     END IF
     '' itsell on jo kaksi- tai ei yhtn pitj
     oma = 0
     FOR i = 4 TO 6
       IF hahmo(i).liittouma = hahmo(vuorossa).liittouma AND RTRIM$(hahmo(i).pelaaja) > "" THEN oma = oma + 1
       IF hahmo(i).liittouma > 3 THEN pita = 1
     NEXT
     IF oma > 1 OR oma = 0 THEN pisteet(kohde) = pisteet(kohde) + 3
     ''otetaan riski jos ei yhtn pitj vapaa
     IF pita = 0 THEN pisteet(kohde) = pisteet(kohde) + INT(RND * 3)
  ELSE  'klassinen
    pisteet(kohde) = pisteet(kohde) + 2
  END IF
 
  '' Yleiset (max.8)
  ' jos liitto on pelaajan tai tietokoneen
  IF NOT hahmo(kohde).pelaaja = "Tietokone" THEN pisteet(kohde) = pisteet(kohde) + 1 ELSE pisteet(kohde) = pisteet(kohde) - 2
  '' itell miehist alle 10
  IF hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto < 10 THEN pisteet(kohde) = pisteet(kohde) - 2
  '' itell miehist yli 20
  IF hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto < 10 THEN pisteet(kohde) = pisteet(kohde) + 1
  '' kohde onkin luultua vauraampi
  IF hahmo(kohde).rahaa > 70 THEN pisteet(kohde) = pisteet(kohde) - 2
  ' itsell isompi miehist
  IF (hahmo(kohde).meleeukot + hahmo(kohde).ampujat + hahmo(kohde).heitto) - (hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto) < -1 THEN pisteet(kohde) = pisteet(kohde) + 2
  ' ruoka varastot tynn, tarvetta kapasiteetin isontamiseen
  IF (hahmo(vuorossa).tiloja * 7) - (hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto) <= 1 THEN pisteet(kohde) = pisteet(kohde) + 1
  ' Tarkistus! Jos kohteella onkin isommat joukat
  IF hahmo(kohde).meleeukot + hahmo(kohde).ampujat + hahmo(kohde).heitto > hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto THEN
    pisteet(kohde) = pisteet(kohde) - (((hahmo(kohde).meleeukot + hahmo(kohde).ampujat + hahmo(kohde).heitto) - (hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto)) / 2)
  END IF
  ' pivt vierivt hykkys % nousoo
  pisteet(kohde) = pisteet(kohde) + (day / 15)
 NEXT

 '' Mritetn kohde katsomalla kell parhaimat pisteet (eniten miinuksia)
 FOR kohde = 1 TO 6
  'LOCATE 2: PRINT kohde; "="; pisteet(kohde): Delay .5
  IF pisteet(kohde) > pisteet(Paras) THEN Paras = kohde
 NEXT

 '' Suoritetaan haasto
 IF pisteet(Paras) > 5 THEN
 RANDOMIZE TIMER
  kohde = INT(RND * 51) + 1 + (pisteet(Paras) * -1)
   IF kohde > 0 THEN
     '' Mritetn taistelijat
     vastus(2).vastus = Paras
     vastus(1).vastus = vuorossa
     '' Lhetetn ijjt sotatantereelle
     IF hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto > 20 THEN
        DO
         RANDOMIZE TIMER
         ''jos miehia yli 20 miehisto arvotaan
         mita = INT(RND * 6) + 1
         IF mita <= 2 THEN vastus(1).jouset = vastus(1).jouset + 1
         IF mita > 2 AND mita < 5 THEN vastus(1).miekat = vastus(1).miekat + 1
         IF mita > 4 AND mita < 7 THEN vastus(1).heitto = vastus(1).heitto + 1
         IF vastus(1).jouset > hahmo(vuorossa).ampujat THEN vastus(1).jouset = hahmo(vuorossa).ampujat
         IF vastus(1).miekat > hahmo(vuorossa).meleeukot THEN vastus(1).miekat = hahmo(vuorossa).meleeukot
         IF vastus(1).heitto > hahmo(vuorossa).heitto THEN vastus(1).heitto = hahmo(vuorossa).heitto
        LOOP UNTIL vastus(1).miekat + vastus(1).jouset + vastus(1).heitto = 20
     ELSE
        ''...muutoin otetaan suoraan
        vastus(1).miekat = hahmo(vuorossa).meleeukot: vastus(1).jouset = hahmo(vuorossa).ampujat: vastus(1).heitto = hahmo(vuorossa).heitto
     END IF
   END IF
 END IF
END SUB

SUB AiRauha
''Keinoly rauhan aikana. Kesken...
DIM Rakennus(7) AS STRING, taloja, lisaa, mika
RANDOMIZE TIMER

DO
  ''Myydaan aluksi varasto tyhjaksi ruuasta
  IF hahmo(vuorossa).ruokaa > 0 THEN Myyruoka
  IF hahmo(vuorossa).tiloja * 7 - (hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto) < 1 THEN
       ''JOS ei ruokaa niin ostaa tilan tai skippaa vuoron ja keraa rahaa kunnes varaa ostaa tila
       IF hahmo(vuorossa).rahaa >= LataaTile("Tila", "hinta", 0) THEN CALL Osta("Tila") ELSE EXIT DO
  END IF
  IF hahmo(vuorossa).ladot > 0 THEN   ''(nollalla ei voi jakaa)
   IF (hahmo(vuorossa).tiloja * 7) / (hahmo(vuorossa).ladot * 7) >= 2 THEN
       ''JOS hahmolla 2 x isompi tuotto kuin varastotilaa niin ostetaan varastotilaa!
       IF hahmo(vuorossa).rahaa >= LataaTile("Varasto", "hinta", 0) THEN CALL Osta("Varasto") ELSE EXIT DO
   END IF
  ELSEIF NOT klassinen THEN
   '' ei omisteta varastoa viel
   IF hahmo(vuorossa).rahaa >= LataaTile("Varasto", "hinta", 0) THEN CALL Osta("Varasto") ELSE EXIT DO
  END IF

  IF day < 5 THEN taloja = 1
  'IF klassinen THEN taloja = 1
  ''Heitetaan noppaa josko ostettaisiin talo
  osto = INT(RND * 6 + taloja) + 1
  IF day <= 4 THEN osto = osto + INT(RND * 1)
  IF osto = 1 AND hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat >= 2 THEN
       taloja = 0
       ''Katsotaan rakennukset lpi, otetaan yls kaikki joihin varaa
       FOR tee = 2 TO 7
        IF tee = 6 THEN
          '' Harvennetaan aitojen rakennus todennkisyytt
          tee = INT(RND * 3) + 1
          IF tee = 3 THEN tee = 6 ELSE tee = 7
        END IF
        IF hahmo(vuorossa).rahaa >= LataaTile(MikaTile$(tee), "hinta", 0) AND LataaTile(MikaTile$(tee), "omist", 0) < LataaTile(MikaTile$(tee), "yht", 0) THEN
                taloja = taloja + 1
                Rakennus(taloja) = MikaTile$(tee)
         END IF
       NEXT
         ''Katsotaan josko jotain nist ei ole ennemmin ostettu
         FOR tee = 1 TO taloja
          IF LataaTile(Rakennus(tee), "omist", 0) = 0 THEN CALL Osta(Rakennus(tee))
         NEXT
         ''Arvotaan mika rakennuksista ostetaan
         tee = INT(RND * taloja) + 1
         IF Rakennus(tee) <> "" AND hahmo(vuorossa).rahaa >= LataaTile(Rakennus(tee), "hinta", 0) THEN CALL Osta(Rakennus(tee))
  END IF

  '' Myydn ylim. ruoka varastoista
  IF hahmo(vuorossa).ruokaa > 0 THEN Myyruoka
 
  ''Jos rahaa yli halvimman miehen (meleemies) niin vrvtn
  IF hahmo(vuorossa).rahaa >= LataaTile(MikaSotilas$(vuorossa, 1), "hinta", 0) THEN
          '' JOS ampujat/meleet nollissa ja rahaa lyotyy
          IF hahmo(vuorossa).rahaa >= LataaTile(MikaSotilas$(vuorossa, 0), "hinta", 0) AND hahmo(vuorossa).ampujat = 0 THEN
                 Osta MikaSotilas$(vuorossa, 0)         'Ostetaan jousi
          ELSEIF hahmo(vuorossa).meleeukot = 0 THEN
                 Osta MikaSotilas$(vuorossa, 1)
          'ELSEIF hahmo(vuorossa).heitto = 0 THEN
          '       Osta MikaSotilas$(vuorossa, 2)
              
          ELSE
  
          'JOS toisia on yli puolet vahemman niin tasoitetaan ostamalla toisiakin valilla
          IF hahmo(vuorossa).ampujat / hahmo(vuorossa).meleeukot > 2 AND hahmo(vuorossa).rahaa >= LataaTile(MikaSotilas$(vuorossa, 1), "hinta", 0) THEN Osta MikaSotilas$(vuorossa, 1)
          IF hahmo(vuorossa).meleeukot / hahmo(vuorossa).ampujat > 2 AND hahmo(vuorossa).rahaa >= LataaTile(MikaSotilas$(vuorossa, 0), "hinta", 0) THEN Osta MikaSotilas$(vuorossa, 0)

           ''Perus vrvys randomina! Arvotaan kumpaa ostetaan
           RANDOMIZE TIMER
           mita = INT(RND * 12) + 1
           IF mita <= 4 AND hahmo(vuorossa).rahaa >= LataaTile(MikaSotilas$(vuorossa, 1), "hinta", 0) THEN Osta MikaSotilas$(vuorossa, 1)
           IF mita > 3 AND mita <= 8 AND hahmo(vuorossa).rahaa >= LataaTile(MikaSotilas$(vuorossa, 0), "hinta", 0) THEN Osta MikaSotilas$(vuorossa, 0)
           IF mita > 8 AND hahmo(vuorossa).rahaa >= LataaTile(MikaSotilas$(vuorossa, 2), "hinta", 0) THEN Osta MikaSotilas$(vuorossa, 2)
           '' JOS rahaa onkin vain rahaa tasan havimman miehen verran (oletus=meleemies), niin ostetaan tm
           IF hahmo(vuorossa).rahaa = LataaTile(MikaSotilas$(vuorossa, 1), "hinta", 0) THEN Osta MikaSotilas$(vuorossa, 1)
        END IF
 END IF
'' Lopetetaan ostelu JOS rahaa alle Halvimman ostoksen (oletus= meleemies)
LOOP UNTIL hahmo(vuorossa).rahaa < LataaTile(MikaSotilas(vuorossa, 1), "hinta", 0)

 IF vuorossa = vastus(2).vastus THEN
    '' Tietokone on haastettu taistoon asetetaan miehistoa puolustukseen!
    AsetaPuolustus
    mapnum = vastus(2).vastus
 ELSEIF hahmo(vastus(2).vastus).liittouma = vuorossa THEN
    '' Ain hallitsema pitj haastettu
    '' Katsotaan josko tehdn vastahykkys.
    '' juntit alivoimalla tai juntteja alle viisi?
    IF (vastus(1).miekat + vastus(1).jouset + vastus(1).heitto) - (hahmo(vastus(2).vastus).ampujat) > 1 OR (hahmo(vastus(2).vastus).ampujat) < 5 THEN
      ''omia miehi enemmn kuin hykkjll?
      IF (hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat + hahmo(vuorossa).heitto) - (vastus(1).miekat + vastus(1).jouset + vastus(1).heitto) > -3 THEN
        mapnum = vastus(2).vastus
        vastus(2).vastus = hahmo(vastus(2).vastus).liittouma
        AsetaPuolustus
      ELSE
        vastus(2).jouset = hahmo(vastus(2).vastus).ampujat
        vastus(2).heitto = 0
        vastus(2).miekat = 0
      END IF
    END IF
 ELSE  ''jos ei taistelua...
  
   '' Kydn Ain hallitsemat pitjt lpi
   '' Jos hallinnassa katsotaan onko tarpeellista list vartiota
   FOR mika = 4 TO 6
     IF hahmo(mika).liittouma = vuorossa THEN
        IF hahmo(vuorossa).meleeukot + hahmo(vuorossa).ampujat > 5 AND hahmo(mika).ampujat < 18 THEN
          RANDOMIZE TIMER
          osto = INT(RND * 1 + (hahmo(mika).ampujat / 3)) + 1
          IF osto <= 1 THEN
             monta = INT(RND * 2) + 1
             IF hahmo(vuorossa).rahaa > (monta * LataaTile(MikaSotilas$(4, 1), "hinta", 0)) THEN
                hahmo(vuorossa).rahaa = hahmo(vuorossa).rahaa - (monta * LataaTile(MikaSotilas$(4, 1), "hinta", 0))
                hahmo(mika).ampujat = hahmo(mika).ampujat + monta
             END IF
          END IF
        END IF
     END IF
   NEXT
  '' Hykkys rutiinit
  AiHaastot
 END IF

 IF hahmo(vuorossa).ruokaa > 0 THEN Myyruoka    '' myy ylimaaraiset ruuat
 VuoronVaihto
 EXIT SUB
END SUB

SUB AsetaPuolustus
DIM mita
    IF hahmo(vuorossa).meleeukot + hahmo(vuorossa).heitto + hahmo(vuorossa).ampujat > 20 THEN
      DO
       RANDOMIZE TIMER
       ''jos miehia yli 20 miehisto arvotaan
       mita = INT(RND * 6) + 1
       IF mita <= 2 THEN vastus(2).jouset = vastus(2).jouset + 1
       IF mita > 2 AND mita < 5 THEN vastus(2).miekat = vastus(2).miekat + 1
       IF mita > 5 AND mita < 7 THEN vastus(2).heitto = vastus(2).heitto + 1
       IF vastus(2).jouset > hahmo(vuorossa).ampujat THEN vastus(2).jouset = hahmo(vuorossa).ampujat
       IF vastus(2).miekat > hahmo(vuorossa).meleeukot THEN vastus(2).miekat = hahmo(vuorossa).meleeukot
       IF vastus(2).heitto > hahmo(vuorossa).heitto THEN vastus(2).heitto = hahmo(vuorossa).heitto
      LOOP UNTIL vastus(2).miekat + vastus(2).jouset + vastus(2).heitto = 20
     ELSE
       ''...muutoin otetaan suoraan
       vastus(2).miekat = hahmo(vuorossa).meleeukot: vastus(2).jouset = hahmo(vuorossa).ampujat: vastus(2).heitto = hahmo(vuorossa).heitto
    END IF
END SUB

REM $STATIC
SUB EphVuorot (mika)
'' Pikkukylien (eph) vuorot
DIM kasvu
RANDOMIZE TIMER

 i = INT(RND * 4) + 1
 IF i = 2 THEN
  '' Jos ei ylitet miesten maximi rajaa
  IF hahmo(mika).ampujat < 20 THEN
   '' Populaatio kasvaa... Kasvu nopeampaa jos tyyli (maine) lisntyv
   hahmo(mika).ampujat = hahmo(mika).ampujat + INT(RND * 2) + 1
   IF hahmo(mika).maine = 1 THEN hahmo(mika).ampujat = hahmo(mika).ampujat + INT(RND * 2) + 1
   IF hahmo(mika).ampujat >= 20 THEN hahmo(mika).ampujat = 20
  END IF
 END IF

 i = INT(RND * 100) + hahmo(mika).ampujat
 IF i > 100 THEN
    IF hahmo(mika).rahaa < 5 THEN hahmo(mika).rahaa = hahmo(mika).rahaa + 1
    IF hahmo(mika).ruokaa < 5 THEN hahmo(mika).ruokaa = hahmo(mika).ruokaa + 1
 END IF

 
 '' Jos pitj liittouman omistuksessa, maksetaan tlle verot
 IF hahmo(mika).liittouma <= 3 THEN
    hahmo(hahmo(mika).liittouma).rahaa = (hahmo(mika).rahaa * 1.2) + hahmo(hahmo(mika).liittouma).rahaa
    hahmo(hahmo(mika).liittouma).ruokaa = (hahmo(mika).ruokaa * 1.2) + hahmo(hahmo(mika).liittouma).ruokaa
    IF hahmo(hahmo(mika).liittouma).ruokaa > hahmo(hahmo(mika).liittouma).ladot * 7 THEN hahmo(hahmo(mika).liittouma).ruokaa = hahmo(hahmo(mika).liittouma).ladot * 7
 END IF

 IF mika = vastus(2).vastus THEN
     vastus(2).miekat = 0
     vastus(2).heitto = 0
     vastus(2).jouset = hahmo(mika).ampujat
     '' Varmistetaan ett yksi on aina puolustamassa (18.9.-06)
     IF hahmo(vastus(2).vastus).liittouma > 3 AND vastus(2).jouset < 1 THEN vastus(2).jouset = 1
     IF vastus(2).jouset > 20 THEN vastus(2).jouset = 20
     mapnum = mika
 END IF
END SUB

REM $DYNAMIC
SUB NaytaPitajaInfo (mika)

 IF mika = 4 THEN Font "Santavuori", 48, 135, 45, 1, "shade"
 IF mika = 5 THEN Font "Laihija", 48, 135, 45, 1, "shade"
 IF mika = 6 THEN Font "Rautajrvi", 48, 135, 45, 1, "shade"
 LINE (103, 113)-(232, 143), 0, BF

 MiniMap mika, 118, 56
 Font "Puoli:", 43, 103, 113, 1, ""
  IF hahmo(mika).liittouma = 1 THEN PUT (210, 115), face, PSET: Font hahmo(1).pelaaja, 43, 145, 113, 1, ""
  IF hahmo(mika).liittouma = 2 THEN PUT (210, 115), face2, PSET: Font hahmo(2).pelaaja, 43, 145, 113, 1, ""
  IF hahmo(mika).liittouma = 3 THEN PUT (210, 115), face3, PSET: Font hahmo(3).pelaaja, 43, 145, 113, 1, ""
  IF hahmo(mika).liittouma = 4 THEN PUT (210, 115), face4, PSET: Font "Neutraali", 43, 145, 113, 1, ""
 Font "Populaatio: ", 43, 103, 121, 1, ""
  lukum = hahmo(mika).ampujat / 3.5: tex = 175: texY = 121: GOSUB annaaste
 Font "Tuottavuus: ", 43, 103, 129, 1, ""
  lukum = hahmo(mika).ruokaa: tex = 175: texY = 129: GOSUB annaaste
 Font "Omaisuuden arv: ", 43, 103, 137, 1, ""
  lukum = hahmo(mika).rahaa: tex = 200: texY = 137: GOSUB annaaste
 LINE (64 + 145, 114)-(85 + 145, 135), 23, B    'naamaan reunukset
 LINE (63 + 145, 113)-(86 + 145, 136), 22, B
 IF hahmo(mika).pelaaja = "Tietokone" THEN PUT (104, 148), pelaaja1, PSET ELSE PUT (104, 148), pelaaja2, PSET

 '' Mikli pitj on oma hykkys nappin sijasta tulee kouluta nappi
 IF hahmo(mika).liittouma = vuorossa THEN
   PiirraNappi 115, 147, 218, 156, ""
   Font " Lis vartiota", 42, 117, 148, 1, ""
  ELSE  '223
   PiirraNappi 115, 147, 218, 156, ""
   Font "Hykk!", 42, 140, 148, 1, ""
  END IF
 EXIT SUB

annaaste:
  FOR px = 0 TO 4
   'Font Fixed(lukum), 42, tex, texY, 1, ""
   IF lukum > px THEN Font "0", 42, tex + (px * 6), texY, 1, ""
   IF lukum <= px THEN Font "-", 44, tex + (px * 6), texY, 1, ""
  NEXT
RETURN
END SUB

