home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Estrategia / coffeetycoon_Demo.swf / scripts / frame_2 / DoAction_8.as < prev    next >
Encoding:
Text File  |  2006-06-13  |  12.3 KB  |  481 lines

  1. function yearNumber(yday)
  2. {
  3.    var _loc1_ = parseInt(yday / 366) + 1;
  4.    return _loc1_;
  5. }
  6. function dayOfYear(yday)
  7. {
  8.    var _loc2_ = parseInt(yday / 366) + 1;
  9.    var _loc1_ = yday % 366;
  10.    if(_loc2_ > 1)
  11.    {
  12.       _loc1_ += 1;
  13.    }
  14.    return _loc1_;
  15. }
  16. function monthOfYear(yday)
  17. {
  18.    var _loc3_ = _root;
  19.    var _loc1_ = undefined;
  20.    var _loc2_ = undefined;
  21.    var nmonth;
  22.    _loc2_ = false;
  23.    _loc1_ = 0;
  24.    while(_loc1_ < _loc3_.months.length)
  25.    {
  26.       if(!_loc2_ && yday <= _loc3_.mdays[_loc1_])
  27.       {
  28.          _loc2_ = true;
  29.          nmonth = _loc1_;
  30.       }
  31.       _loc1_ = _loc1_ + 1;
  32.    }
  33.    return nmonth;
  34. }
  35. function dayOfMonth(yday)
  36. {
  37.    var _loc1_ = yday;
  38.    var _loc2_ = undefined;
  39.    var _loc3_ = _root.monthOfYear(_loc1_);
  40.    if(_loc1_ <= _root.months[0])
  41.    {
  42.       _loc2_ = _loc1_;
  43.    }
  44.    else
  45.    {
  46.       _loc2_ = _loc1_ - _root.mdays[_loc3_ - 1];
  47.    }
  48.    return _loc2_;
  49. }
  50. function nameMonths()
  51. {
  52.    var _loc2_ = _root;
  53.    var _loc1_ = undefined;
  54.    _loc1_ = 0;
  55.    while(_loc1_ < _loc2_.months.length)
  56.    {
  57.       dtotal += _loc2_.months[_loc1_];
  58.       _loc2_.mdays[_loc2_.mdays.length] = dtotal;
  59.       _loc1_ = _loc1_ + 1;
  60.    }
  61. }
  62. function calcDayNum(mm, dd)
  63. {
  64.    var _loc1_ = 0;
  65.    if(mm == 1)
  66.    {
  67.       _loc1_ = dd - 1;
  68.    }
  69.    else
  70.    {
  71.       _loc1_ = _root.mdays[mm - 2] + dd - 1;
  72.    }
  73.    return _loc1_;
  74. }
  75. function seasonNum(yday)
  76. {
  77.    var _loc2_ = _root;
  78.    var _loc3_ = 3;
  79.    var _loc1_ = undefined;
  80.    _loc1_ = 0;
  81.    while(_loc1_ < _loc2_.seasons.length)
  82.    {
  83.       if(yday >= _loc2_.seasons[_loc1_])
  84.       {
  85.          _loc3_ = _loc1_;
  86.       }
  87.       _loc1_ = _loc1_ + 1;
  88.    }
  89.    return _loc3_;
  90. }
  91. function cloudyRange()
  92. {
  93.    var _loc3_ = _root;
  94.    var _loc1_ = undefined;
  95.    var _loc2_ = undefined;
  96.    _loc1_ = 0;
  97.    while(_loc1_ < 3)
  98.    {
  99.       _loc3_.cloudy[_loc1_] = new Array();
  100.       _loc2_ = 0;
  101.       while(_loc2_ < _loc3_.chancecloudy[_loc1_].length)
  102.       {
  103.          if(_loc1_ == 0)
  104.          {
  105.             _loc3_.cloudy[_loc1_][_loc2_] = _loc3_.chancecloudy[_loc1_][_loc2_];
  106.          }
  107.          else
  108.          {
  109.             _loc3_.cloudy[_loc1_][_loc2_] = _loc3_.cloudy[_loc1_ - 1][_loc2_] + _loc3_.chancecloudy[_loc1_][_loc2_];
  110.          }
  111.          _loc2_ = _loc2_ + 1;
  112.       }
  113.       _loc1_ = _loc1_ + 1;
  114.    }
  115. }
  116. function skyStatus(rsky, rrain, mm, tt)
  117. {
  118.    var _loc2_ = _root;
  119.    var _loc3_ = tt;
  120.    var ii;
  121.    var rn = rsky;
  122.    var rp = rrain;
  123.    var _loc1_ = 0;
  124.    if(rsky == 0)
  125.    {
  126.       rn = _loc2_.randomNum(100);
  127.    }
  128.    if(rrain == 0)
  129.    {
  130.       rp = _loc2_.randomNum(100);
  131.    }
  132.    if(rn <= _loc2_.cloudy[0][mm])
  133.    {
  134.       _loc1_ = 0;
  135.    }
  136.    else if(rn <= _loc2_.cloudy[1][mm])
  137.    {
  138.       if(rp <= _loc2_.chancerain[mm])
  139.       {
  140.          if(_loc3_ < _loc2_.stormsnowtemp)
  141.          {
  142.             _loc1_ = 1;
  143.          }
  144.          else if(_loc3_ > _loc2_.stormthundertemp)
  145.          {
  146.             _loc1_ = 2;
  147.          }
  148.          else
  149.          {
  150.             _loc1_ = 3;
  151.          }
  152.       }
  153.       else
  154.       {
  155.          _loc1_ = 4;
  156.       }
  157.    }
  158.    else if(rp <= _loc2_.chancerain[mm])
  159.    {
  160.       if(_loc3_ < _loc2_.stormicetemp)
  161.       {
  162.          _loc1_ = 5;
  163.       }
  164.       else if(_loc3_ < _loc2_.stormsnowtemp)
  165.       {
  166.          _loc1_ = 6;
  167.       }
  168.       else if(_loc3_ > _loc2_.stormhailtemp)
  169.       {
  170.          _loc1_ = 7;
  171.       }
  172.       else if(_loc3_ > _loc2_.stormthundertemp)
  173.       {
  174.          _loc1_ = 8;
  175.       }
  176.       else
  177.       {
  178.          _loc1_ = 9;
  179.       }
  180.    }
  181.    else
  182.    {
  183.       _loc1_ = 10;
  184.    }
  185.    return _loc1_;
  186. }
  187. function dayTempfn(mm)
  188. {
  189.    var _loc1_ = _root;
  190.    var _loc2_ = mm;
  191.    var mtemp = _loc1_.meantemp[_loc2_];
  192.    var rtemp = _loc1_.temprange[_loc2_];
  193.    var rn = _loc1_.randomNum(2);
  194.    var highlow = -1;
  195.    var _loc3_ = undefined;
  196.    var temperature = 0;
  197.    var extreme = false;
  198.    var extremerand = _loc1_.randomNum(100);
  199.    if(rn == 1)
  200.    {
  201.       highlow = 1;
  202.    }
  203.    _loc3_ = highlow * _loc1_.randomNum(rtemp);
  204.    if(_loc1_.chancehigh[_loc2_] > _loc1_.chancelow[_loc2_])
  205.    {
  206.       if(extremerand < _loc1_.chancehigh[_loc2_])
  207.       {
  208.          extreme = true;
  209.          _loc3_ = _loc1_.randomNum(_loc1_.temphigh[_loc2_]);
  210.       }
  211.    }
  212.    if(!extreme)
  213.    {
  214.       if(extremerand < _loc1_.chancelow[_loc2_])
  215.       {
  216.          extreme = true;
  217.          _loc3_ = -1 * _loc1_.randomNum(_loc1_.templow[_loc2_]);
  218.       }
  219.    }
  220.    temperature = mtemp + _loc3_;
  221.    return temperature;
  222. }
  223. function realWeather(ww, aa)
  224. {
  225.    var rn = _root.randomNum(100 - aa);
  226.    var tf = _root.randomNum(2);
  227.    var _loc3_ = -1;
  228.    var _loc2_ = undefined;
  229.    var _loc1_ = undefined;
  230.    if(tf == 1)
  231.    {
  232.       _loc3_ = 1;
  233.    }
  234.    _loc2_ = _loc3_ * (rn / 100) * ww;
  235.    _loc1_ = parseInt(ww + _loc2_);
  236.    trace("realWeather(): number=" + ww + " accuracy=" + aa + " random=" + rn + " factor=" + _loc2_ + " output=" + _loc1_);
  237.    return _loc1_;
  238. }
  239. function calculate_temperature_accuracy()
  240. {
  241.    var _loc1_ = _root;
  242.    trace("temperature accuracy is " + _loc1_.temperature_accuracy[_loc1_.get_poplevel()]);
  243.    return _loc1_.temperature_accuracy[_loc1_.get_poplevel()] * _loc1_.temperature_mult;
  244. }
  245. function calculate_sky_accuracy()
  246. {
  247.    var _loc1_ = _root;
  248.    return _loc1_.sky_accuracy[_loc1_.get_poplevel()] * _loc1_.sky_mult;
  249. }
  250. function calculate_rain_accuracy()
  251. {
  252.    var _loc1_ = _root;
  253.    return _loc1_.rain_accuracy[_loc1_.get_poplevel()] * _loc1_.rain_mult;
  254. }
  255. function make_weather_accuracy()
  256. {
  257.    var _loc1_ = undefined;
  258.    var _loc3_ = _root.poplevel.length;
  259.    var delta;
  260.    var incr;
  261.    var amax;
  262.    var _loc2_ = undefined;
  263.    amax = 95;
  264.    _loc2_ = 75;
  265.    delta = amax - _loc2_;
  266.    incr = delta / _loc3_;
  267.    _loc1_ = 0;
  268.    while(_loc1_ < _loc3_)
  269.    {
  270.       _root.temperature_accuracy[_loc1_] = _loc2_ + parseInt(_loc1_ * incr + 0.5);
  271.       _loc1_ = _loc1_ + 1;
  272.    }
  273.    amax = 95;
  274.    _loc2_ = 75;
  275.    delta = amax - _loc2_;
  276.    incr = delta / _loc3_;
  277.    _loc1_ = 0;
  278.    while(_loc1_ < _loc3_)
  279.    {
  280.       _root.sky_accuracy[_loc1_] = _loc2_ + parseInt(_loc1_ * incr + 0.5);
  281.       _loc1_ = _loc1_ + 1;
  282.    }
  283.    amax = 95;
  284.    _loc2_ = 75;
  285.    delta = amax - _loc2_;
  286.    incr = delta / _loc3_;
  287.    _loc1_ = 0;
  288.    while(_loc1_ < _loc3_)
  289.    {
  290.       _root.rain_accuracy[_loc1_] = _loc2_ + parseInt(_loc1_ * incr + 0.5);
  291.       _loc1_ = _loc1_ + 1;
  292.    }
  293. }
  294. function init_weather()
  295. {
  296.    _root.nameMonths();
  297.    _root.cloudyRange();
  298. }
  299. function weather_feedback(ss)
  300. {
  301.    _root.event_weather += ss;
  302. }
  303. function weather_prediction(ss)
  304. {
  305.    var _loc1_ = ss;
  306.    var _loc2_ = _root;
  307.    _loc2_.prediction_weather_ants += _loc1_;
  308.    _loc2_.prediction_weather_buy += _loc1_;
  309.    _loc2_.prediction_weather_nest += _loc1_;
  310.    _loc2_.prediction_weather_stats += _loc1_;
  311. }
  312. function clear_weather()
  313. {
  314.    var _loc1_ = _root;
  315.    _loc1_.event_weather = "";
  316.    _loc1_.prediction_weather_ants = "";
  317.    _loc1_.prediction_weather_buy = "";
  318.    _loc1_.prediction_weather_nest = "";
  319.    _loc1_.prediction_weather_stats = "";
  320. }
  321. function celcius_fahrenheit(tt)
  322. {
  323.    var _loc1_ = tt;
  324.    if(_root.celcius)
  325.    {
  326.       _loc1_ = Math.ceil((tt - 32) * 5 / 9);
  327.    }
  328.    return _loc1_;
  329. }
  330. function showsky(path, num)
  331. {
  332.    var xx;
  333.    xx = eval(path);
  334.    switch(num)
  335.    {
  336.       case 1:
  337.          xx.gotoAndPlay("sky_1");
  338.          break;
  339.       case 2:
  340.          xx.gotoAndPlay("sky_2");
  341.          break;
  342.       case 3:
  343.          xx.gotoAndPlay("sky_3");
  344.          break;
  345.       case 4:
  346.          xx.gotoAndPlay("sky_4");
  347.          break;
  348.       case 5:
  349.          xx.gotoAndPlay("sky_5");
  350.          break;
  351.       case 6:
  352.          xx.gotoAndPlay("sky_6");
  353.          break;
  354.       case 7:
  355.          xx.gotoAndPlay("sky_7");
  356.          break;
  357.       case 8:
  358.          xx.gotoAndPlay("sky_8");
  359.          break;
  360.       case 9:
  361.          xx.gotoAndPlay("sky_9");
  362.          break;
  363.       case 10:
  364.          xx.gotoAndPlay("sky_10");
  365.          break;
  366.       case 0:
  367.       default:
  368.          xx.gotoAndPlay("sky_0");
  369.    }
  370. }
  371. function predict_weather()
  372. {
  373.    var _loc1_ = _root;
  374.    var daynow;
  375.    var dtotal = 0;
  376.    var dayofyear;
  377.    var i;
  378.    var ok;
  379.    var namemonth;
  380.    var _loc2_ = undefined;
  381.    var monthday;
  382.    var startday;
  383.    var playday = _loc1_.playday + 1;
  384.    var startmonthnum = _loc1_.gstartmonthnum;
  385.    var startmonthday = _loc1_.gstartmonthday;
  386.    var _loc3_ = undefined;
  387.    var skynow;
  388.    var temperature_accuracy = _loc1_.calculate_temperature_accuracy();
  389.    var sky_accuracy = _loc1_.calculate_sky_accuracy();
  390.    var rain_accuracy = _loc1_.calculate_rain_accuracy();
  391.    var sky_random = _loc1_.randomNum(100);
  392.    var rain_random = _loc1_.randomNum(100);
  393.    startday = _loc1_.calcDayNum(startmonthnum,startmonthday);
  394.    daynow = playday + startday;
  395.    yearnum = _loc1_.yearNumber(daynow);
  396.    dayofyear = _loc1_.dayOfYear(daynow);
  397.    _loc2_ = _loc1_.monthOfYear(dayofyear);
  398.    monthday = _loc1_.dayOfMonth(dayofyear);
  399.    _loc3_ = _loc1_.dayTempfn(_loc2_);
  400.    skynow = _loc1_.skystat[_loc1_.skyStatus(sky_random,rain_random,_loc2_,_loc3_)];
  401.    _loc1_.weather_prediction("Day " + playday + ": " + _loc1_.mname[_loc2_] + " " + monthday + "\n");
  402.    _loc1_.weather_prediction(_loc1_.celcius_fahrenheit(_loc3_) + "┬░ with " + skynow + "\n");
  403.    _loc1_.daytemp = _loc3_;
  404.    _loc1_.skynow = skynow;
  405.    _loc1_.monthnum = _loc2_;
  406. }
  407. function report_weather()
  408. {
  409.    var _loc1_ = _root;
  410.    var daynow;
  411.    var dtotal = 0;
  412.    var dayofyear;
  413.    var i;
  414.    var ok;
  415.    var namemonth;
  416.    var _loc3_ = undefined;
  417.    var monthday;
  418.    var startday;
  419.    var playday = ++_loc1_.playday;
  420.    var startmonthnum = _loc1_.gstartmonthnum;
  421.    var startmonthday = _loc1_.gstartmonthday;
  422.    var _loc2_ = _loc1_.daytemp;
  423.    var skynow;
  424.    var temperature_accuracy = _loc1_.calculate_temperature_accuracy();
  425.    var sky_accuracy = _loc1_.calculate_sky_accuracy();
  426.    var rain_accuracy = _loc1_.calculate_rain_accuracy();
  427.    var sky_random = _loc1_.randomNum(100);
  428.    var rain_random = _loc1_.randomNum(100);
  429.    var skynum;
  430.    startday = _loc1_.calcDayNum(startmonthnum,startmonthday);
  431.    daynow = playday + startday;
  432.    yearnum = _loc1_.yearNumber(daynow);
  433.    dayofyear = _loc1_.dayOfYear(daynow);
  434.    _loc3_ = _loc1_.monthOfYear(dayofyear);
  435.    monthday = _loc1_.dayOfMonth(dayofyear);
  436.    _loc2_ = _loc1_.realWeather(_loc2_,temperature_accuracy);
  437.    sky_random = _loc1_.realWeather(sky_random,sky_accuracy);
  438.    rain_random = _loc1_.realWeather(rain_random,rain_accuracy);
  439.    skynum = _loc1_.skyStatus(sky_random,rain_random,_loc3_,_loc2_);
  440.    skynow = _loc1_.skystat[skynum];
  441.    _loc1_.weather_feedback("Day " + playday + ": " + _loc1_.mname[_loc3_] + " " + monthday + "\n");
  442.    _loc1_.weather_feedback(_loc1_.celcius_fahrenheit(_loc2_) + "┬░\n");
  443.    _loc1_.daytemp = _loc2_;
  444.    _loc1_.skynow = skynow;
  445.    _loc1_.skynum = skynum;
  446.    _loc1_.monthnum = _loc3_;
  447. }
  448. function do_weather()
  449. {
  450.    _root.report_weather();
  451.    _root.predict_weather();
  452. }
  453. var months = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  454. var mname = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
  455. var seasons = new Array(80,172,266,356);
  456. var sname = new Array("Spring","Summer","Autumn","Winter");
  457. var mdays = new Array();
  458. var temperature_accuracy = new Array();
  459. var sky_accuracy = new Array();
  460. var rain_accuracy = new Array();
  461. var temperature_mult = 1;
  462. var sky_mult = 1;
  463. var rain_mult = 1;
  464. var stormsnowtemp = 32;
  465. var stormthundertemp = 86;
  466. var stormicetemp = 10;
  467. var stormhailtemp = 98;
  468. var skystat = new Array("Clear Skies","Scattered Flurries","Scattered Thunder Storms","Scattered Showers","Partly Cloudy Skies","Ice Storm","Snow","Hail Storm","Severe Thunder Storms","Rain","Cloudy Skies");
  469. var meantemp = new Array(25,35,45,55,65,75,80,85,75,60,50,35);
  470. var temprange = new Array(10,10,10,10,10,10,10,10,10,10,10,10);
  471. var temphigh = new Array(20,20,20,20,20,20,20,30,25,20,20,20);
  472. var templow = new Array(40,40,30,30,30,30,20,20,20,30,30,30);
  473. var chancehigh = new Array(3,3,6,10,10,16,16,25,16,10,10,6);
  474. var chancelow = new Array(25,16,10,10,6,6,3,3,3,10,10,16);
  475. var chancecloudy = new Array();
  476. _root.chancecloudy[0] = new Array(20,20,30,30,30,30,40,40,40,30,30,20);
  477. _root.chancecloudy[1] = new Array(30,30,30,30,30,30,30,30,30,30,30,30);
  478. _root.chancecloudy[2] = new Array(50,50,40,40,40,40,30,30,30,40,40,50);
  479. var chancerain = new Array(25,20,25,25,25,25,25,25,25,20,20,25);
  480. var cloudy = new Array();
  481.