home *** CD-ROM | disk | FTP | other *** search
/ Czech Logic, Card & Gambling Games / Logické hry.iso / hry / Fish Fillets / script / computer / code.lua next >
Encoding:
Text File  |  2005-07-16  |  4.6 KB  |  116 lines

  1.  
  2. -- -----------------------------------------------------------------
  3. -- Init
  4. -- -----------------------------------------------------------------
  5. local function prog_init()
  6.     initModels()
  7.     sound_playMusic("music/rybky14.ogg")
  8.     local pokus = getRestartCount()
  9.     local roompole = createArray(1)
  10.  
  11.     -- -------------------------------------------------------------
  12.     local function prog_init_room()
  13.         local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
  14.  
  15.         room.uvod = 0
  16.         room.opocitaci1 = random(300) + 100
  17.         room.opocitaci2 = random(2000) + 1500
  18.         room.onachazeni = 0
  19.         room.okramu = 0
  20.         room.ovyvrtce = 1
  21.  
  22.         return function()
  23.             if no_dialog() and isReady(small) and isReady(big) then
  24.                 if room.opocitaci1 > 0 then
  25.                     room.opocitaci1 = room.opocitaci1 - 1
  26.                 end
  27.                 if room.opocitaci2 > 0 then
  28.                     room.opocitaci2 = room.opocitaci2 - 1
  29.                 end
  30.                 if room.uvod == 0 then
  31.                     room.uvod = 1
  32.                     if random(100) < math.floor(200 / pokus) then
  33.                         addm(random(10) + 5, "poc-m-lezt"..random(3))
  34.                         addv(random(10), "poc-v-kam"..random(4))
  35.                     end
  36.                 elseif room.onachazeni == 0 and dist(big, monitoor) <= 1 and look_at(big, monitoor) and random(100) < 7 then
  37.                     room.onachazeni = 1
  38.                     if random(100) < 60 then
  39.                         addv(5, "poc-v-nenajde")
  40.                     end
  41.                 elseif room.opocitaci1 == 0 or room.opocitaci2 == 0 then
  42.                     if room.opocitaci1 == 0 then
  43.                         room.opocitaci1 = random(5000) + 5000
  44.                     else
  45.                         room.opocitaci2 = random(5000) + 5000
  46.                     end
  47.                     if roompole[0] == 0 then
  48.                         roompole[0] = random(2) + 1
  49.                     else
  50.                         roompole[0] = 3 - roompole[0]
  51.                     end
  52.                     switch(roompole[0]){
  53.                         [1] = function()
  54.                             addm(30, "poc-m-myslis")
  55.                             addv(4, "poc-v-multimed")
  56.                             addv(random(20) + 5, "poc-v-vyresil")
  57.                             addm(random(10) + 5, "poc-m-kcemu")
  58.                             addv(0, "poc-v-pssst")
  59.                         end,
  60.                         [2] = function()
  61.                             addv(30, "poc-v-napad")
  62.                             addm(5 + random(20), "poc-m-mohlby")
  63.                             addv(2, "poc-v-stahni")
  64.                             addm(random(10) + 4, "poc-m-ukryta")
  65.                             switch(random(3)){
  66.                                 [0] = function()
  67.                                     addv(random(200) + 20, "poc-v-dira")
  68.                                     addm(5, "poc-m-mechanika")
  69.                                     addm(random(30) + 5, "poc-m-zezadu")
  70.                                 end,
  71.                                 [1] = function()
  72.                                     addm(random(60) + 20, "poc-m-zezadu")
  73.                                 end,
  74.                                 [2] = function()
  75.                                     addm(random(30) + 5, "poc-m-zezadu")
  76.                                     addv(random(50) + 20, "poc-v-dira")
  77.                                     addm(5, "poc-m-mechanika")
  78.                                 end,
  79.                             }
  80.                             room.ovyvrtce = 0
  81.                         end,
  82.                     }
  83.                 elseif room.ovyvrtce == 0 and big.Y == vrtidlo.Y + 2 and dist(big, vrtidlo) == 0 and dist(small, vrtidlo) > 2 and random(100) < 2 then
  84.                     room.ovyvrtce = 1
  85.                     addm(4, "poc-m-vyvrtka")
  86.                 elseif room.okramu == 0 and (monitoor.dir == dir_up or pociitac.dir == dir_up) and random(100) < 8 then
  87.                     room.okramu = 1
  88.                     addm(10, "poc-m-kram")
  89.                     addv(5, "poc-v-mono")
  90.                 end
  91.             end
  92.         end
  93.     end
  94.  
  95.     -- --------------------
  96.     local update_table = {}
  97.     local subinit
  98.     subinit = prog_init_room()
  99.     if subinit then
  100.         table.insert(update_table, subinit)
  101.     end
  102.     return update_table
  103. end
  104. local update_table = prog_init()
  105.  
  106.  
  107. -- -----------------------------------------------------------------
  108. -- Update
  109. -- -----------------------------------------------------------------
  110. function prog_update()
  111.     for key, subupdate in pairs(update_table) do
  112.         subupdate()
  113.     end
  114. end
  115.  
  116.