home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Estrategia / ant_war.swf / scripts / frame_11 / DoAction_8.as < prev    next >
Encoding:
Text File  |  2007-03-13  |  12.1 KB  |  479 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.    return _loc1_;
  237. }
  238. function calculate_temperature_accuracy()
  239. {
  240.    var _loc1_ = _root;
  241.    return _loc1_.temperature_accuracy[_loc1_.get_poplevel()] * _loc1_.temperature_mult;
  242. }
  243. function calculate_sky_accuracy()
  244. {
  245.    var _loc1_ = _root;
  246.    return _loc1_.sky_accuracy[_loc1_.get_poplevel()] * _loc1_.sky_mult;
  247. }
  248. function calculate_rain_accuracy()
  249. {
  250.    var _loc1_ = _root;
  251.    return _loc1_.rain_accuracy[_loc1_.get_poplevel()] * _loc1_.rain_mult;
  252. }
  253. function make_weather_accuracy()
  254. {
  255.    var _loc1_ = undefined;
  256.    var _loc3_ = _root.poplevel.length;
  257.    var delta;
  258.    var incr;
  259.    var amax;
  260.    var _loc2_ = undefined;
  261.    amax = 95;
  262.    _loc2_ = 75;
  263.    delta = amax - _loc2_;
  264.    incr = delta / _loc3_;
  265.    _loc1_ = 0;
  266.    while(_loc1_ < _loc3_)
  267.    {
  268.       _root.temperature_accuracy[_loc1_] = _loc2_ + parseInt(_loc1_ * incr + 0.5);
  269.       _loc1_ = _loc1_ + 1;
  270.    }
  271.    amax = 95;
  272.    _loc2_ = 75;
  273.    delta = amax - _loc2_;
  274.    incr = delta / _loc3_;
  275.    _loc1_ = 0;
  276.    while(_loc1_ < _loc3_)
  277.    {
  278.       _root.sky_accuracy[_loc1_] = _loc2_ + parseInt(_loc1_ * incr + 0.5);
  279.       _loc1_ = _loc1_ + 1;
  280.    }
  281.    amax = 95;
  282.    _loc2_ = 75;
  283.    delta = amax - _loc2_;
  284.    incr = delta / _loc3_;
  285.    _loc1_ = 0;
  286.    while(_loc1_ < _loc3_)
  287.    {
  288.       _root.rain_accuracy[_loc1_] = _loc2_ + parseInt(_loc1_ * incr + 0.5);
  289.       _loc1_ = _loc1_ + 1;
  290.    }
  291. }
  292. function init_weather()
  293. {
  294.    _root.nameMonths();
  295.    _root.cloudyRange();
  296. }
  297. function weather_feedback(ss)
  298. {
  299.    _root.event_weather += ss;
  300. }
  301. function weather_prediction(ss)
  302. {
  303.    var _loc1_ = ss;
  304.    var _loc2_ = _root;
  305.    _loc2_.prediction_weather_ants += _loc1_;
  306.    _loc2_.prediction_weather_buy += _loc1_;
  307.    _loc2_.prediction_weather_nest += _loc1_;
  308.    _loc2_.prediction_weather_stats += _loc1_;
  309. }
  310. function clear_weather()
  311. {
  312.    var _loc1_ = _root;
  313.    _loc1_.event_weather = "";
  314.    _loc1_.prediction_weather_ants = "";
  315.    _loc1_.prediction_weather_buy = "";
  316.    _loc1_.prediction_weather_nest = "";
  317.    _loc1_.prediction_weather_stats = "";
  318. }
  319. function celcius_fahrenheit(tt)
  320. {
  321.    var _loc1_ = tt;
  322.    if(_root.celcius)
  323.    {
  324.       _loc1_ = Math.ceil((tt - 32) * 5 / 9);
  325.    }
  326.    return _loc1_;
  327. }
  328. function showsky(path, num)
  329. {
  330.    var xx;
  331.    xx = eval(path);
  332.    switch(num)
  333.    {
  334.       case 1:
  335.          xx.gotoAndPlay("sky_1");
  336.          break;
  337.       case 2:
  338.          xx.gotoAndPlay("sky_2");
  339.          break;
  340.       case 3:
  341.          xx.gotoAndPlay("sky_3");
  342.          break;
  343.       case 4:
  344.          xx.gotoAndPlay("sky_4");
  345.          break;
  346.       case 5:
  347.          xx.gotoAndPlay("sky_5");
  348.          break;
  349.       case 6:
  350.          xx.gotoAndPlay("sky_6");
  351.          break;
  352.       case 7:
  353.          xx.gotoAndPlay("sky_7");
  354.          break;
  355.       case 8:
  356.          xx.gotoAndPlay("sky_8");
  357.          break;
  358.       case 9:
  359.          xx.gotoAndPlay("sky_9");
  360.          break;
  361.       case 10:
  362.          xx.gotoAndPlay("sky_10");
  363.          break;
  364.       case 0:
  365.       default:
  366.          xx.gotoAndPlay("sky_0");
  367.    }
  368. }
  369. function predict_weather()
  370. {
  371.    var _loc1_ = _root;
  372.    var daynow;
  373.    var dtotal = 0;
  374.    var dayofyear;
  375.    var i;
  376.    var ok;
  377.    var namemonth;
  378.    var _loc2_ = undefined;
  379.    var monthday;
  380.    var startday;
  381.    var playday = _loc1_.playday + 1;
  382.    var startmonthnum = _loc1_.gstartmonthnum;
  383.    var startmonthday = _loc1_.gstartmonthday;
  384.    var _loc3_ = undefined;
  385.    var skynow;
  386.    var temperature_accuracy = _loc1_.calculate_temperature_accuracy();
  387.    var sky_accuracy = _loc1_.calculate_sky_accuracy();
  388.    var rain_accuracy = _loc1_.calculate_rain_accuracy();
  389.    var sky_random = _loc1_.randomNum(100);
  390.    var rain_random = _loc1_.randomNum(100);
  391.    startday = _loc1_.calcDayNum(startmonthnum,startmonthday);
  392.    daynow = playday + startday;
  393.    yearnum = _loc1_.yearNumber(daynow);
  394.    dayofyear = _loc1_.dayOfYear(daynow);
  395.    _loc2_ = _loc1_.monthOfYear(dayofyear);
  396.    monthday = _loc1_.dayOfMonth(dayofyear);
  397.    _loc3_ = _loc1_.dayTempfn(_loc2_);
  398.    skynow = _loc1_.skystat[_loc1_.skyStatus(sky_random,rain_random,_loc2_,_loc3_)];
  399.    _loc1_.weather_prediction("Day " + playday + ": " + _loc1_.mname[_loc2_] + " " + monthday + "\n");
  400.    _loc1_.weather_prediction(_loc1_.celcius_fahrenheit(_loc3_) + "┬░ with " + skynow + "\n");
  401.    _loc1_.daytemp = _loc3_;
  402.    _loc1_.skynow = skynow;
  403.    _loc1_.monthnum = _loc2_;
  404. }
  405. function report_weather()
  406. {
  407.    var _loc1_ = _root;
  408.    var daynow;
  409.    var dtotal = 0;
  410.    var dayofyear;
  411.    var i;
  412.    var ok;
  413.    var namemonth;
  414.    var _loc3_ = undefined;
  415.    var monthday;
  416.    var startday;
  417.    var playday = ++_loc1_.playday;
  418.    var startmonthnum = _loc1_.gstartmonthnum;
  419.    var startmonthday = _loc1_.gstartmonthday;
  420.    var _loc2_ = _loc1_.daytemp;
  421.    var skynow;
  422.    var temperature_accuracy = _loc1_.calculate_temperature_accuracy();
  423.    var sky_accuracy = _loc1_.calculate_sky_accuracy();
  424.    var rain_accuracy = _loc1_.calculate_rain_accuracy();
  425.    var sky_random = _loc1_.randomNum(100);
  426.    var rain_random = _loc1_.randomNum(100);
  427.    var skynum;
  428.    startday = _loc1_.calcDayNum(startmonthnum,startmonthday);
  429.    daynow = playday + startday;
  430.    yearnum = _loc1_.yearNumber(daynow);
  431.    dayofyear = _loc1_.dayOfYear(daynow);
  432.    _loc3_ = _loc1_.monthOfYear(dayofyear);
  433.    monthday = _loc1_.dayOfMonth(dayofyear);
  434.    _loc2_ = _loc1_.realWeather(_loc2_,temperature_accuracy);
  435.    sky_random = _loc1_.realWeather(sky_random,sky_accuracy);
  436.    rain_random = _loc1_.realWeather(rain_random,rain_accuracy);
  437.    skynum = _loc1_.skyStatus(sky_random,rain_random,_loc3_,_loc2_);
  438.    skynow = _loc1_.skystat[skynum];
  439.    _loc1_.weather_feedback("Day " + playday + ": " + _loc1_.mname[_loc3_] + " " + monthday + "\n");
  440.    _loc1_.weather_feedback(_loc1_.celcius_fahrenheit(_loc2_) + "┬░\n");
  441.    _loc1_.daytemp = _loc2_;
  442.    _loc1_.skynow = skynow;
  443.    _loc1_.skynum = skynum;
  444.    _loc1_.monthnum = _loc3_;
  445. }
  446. function do_weather()
  447. {
  448.    _root.report_weather();
  449.    _root.predict_weather();
  450. }
  451. var months = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  452. var mname = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
  453. var seasons = new Array(80,172,266,356);
  454. var sname = new Array("Spring","Summer","Autumn","Winter");
  455. var mdays = new Array();
  456. var temperature_accuracy = new Array();
  457. var sky_accuracy = new Array();
  458. var rain_accuracy = new Array();
  459. var temperature_mult = 1;
  460. var sky_mult = 1;
  461. var rain_mult = 1;
  462. var stormsnowtemp = 32;
  463. var stormthundertemp = 86;
  464. var stormicetemp = 10;
  465. var stormhailtemp = 98;
  466. 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");
  467. var meantemp = new Array(25,35,45,55,65,75,80,85,75,60,50,35);
  468. var temprange = new Array(10,10,10,10,10,10,10,10,10,10,10,10);
  469. var temphigh = new Array(20,20,20,20,20,20,20,30,25,20,20,20);
  470. var templow = new Array(40,40,30,30,30,30,20,20,20,30,30,30);
  471. var chancehigh = new Array(3,3,6,10,10,16,16,25,16,10,10,6);
  472. var chancelow = new Array(25,16,10,10,6,6,3,3,3,10,10,16);
  473. var chancecloudy = new Array();
  474. _root.chancecloudy[0] = new Array(20,20,30,30,30,30,40,40,40,30,30,20);
  475. _root.chancecloudy[1] = new Array(30,30,30,30,30,30,30,30,30,30,30,30);
  476. _root.chancecloudy[2] = new Array(50,50,40,40,40,40,30,30,30,40,40,50);
  477. var chancerain = new Array(25,20,25,25,25,25,25,25,25,20,20,25);
  478. var cloudy = new Array();
  479.