manudude03

FootyClicker javascript

Aug 12th, 2015
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. window.onload=CreatePlayers;
  2.  
  3. var timeStart = Date.now();
  4. var cash = 0;
  5. var sellcash = 0;
  6. var stadiumlevel = 0;
  7. var playerselected = 0;
  8. var played = 0;
  9. var matchInProgress = false;
  10. var people = new Array();
  11. var teams = new Array();
  12.  
  13. var stadium = [100, 200, 300, 500, 800, 1200, 1600, 2200, 2800, 3500, 4500, 5500, 7000, 8500, 10000, 12500, 15000, 17500, 20000, 25000, 30000, 40000, 50000, 60000, 80000, 100000, 150000, 200000, 250000, 300000];
  14. var prices = [1000, 1500, 4000, 10000, 15000, 25000, 50000, 75000, 100000, 150000, 250000, 500000, 750000, 1000000, 1500000, 2000000, 2500000, 3500000, 4500000, 6000000, 7500000, 10000000, 12500000, 17500000, 25000000, 50000000, 75000000, 100000000, 150000000];
  15. var stock = ["sticker set", "cap", "programme", "tie", "football", "pair of shorts", "shirt"];
  16. var MercPrices = [1, 2, 5, 10, 20, 40, 80];
  17. var cutoffs = [500, 2000, 10000, 50000, 150000, 500000];
  18.  
  19. function Player(name, team, sector, attacking, midfield, defense, goalkeeping, keeper) {
  20.     this.name = name;
  21.     this.team = team;
  22.     this.sector = sector;
  23.     this.attacking = attacking;
  24.     this.midfield = midfield;
  25.     this.defense = defense;
  26.     this.goalkeeping = goalkeeping;
  27.     this.keeper = keeper; // note: this should be a boolean
  28. }
  29.  
  30. function possessionMultiplier(t1id, t2id, ter1) {
  31.     var atk = 0;
  32.     var def = 0;
  33.     if (ter1 < 10) {
  34.         atk = people[t1id * 11].goalkeeping * 3;
  35.         var start = t2id * 11 + 1;
  36.         var end = t2id * 11 + 10;
  37.         for (var i = start; i < end; i++) {
  38.             if (people[i].sector == 1) {
  39.                 def += people[i].attacking * 0.7;
  40.             } else if (people[i].sector == 2) {
  41.                 def += people[i].attacking * 0.15;
  42.             } else if (people[i].sector == 3) {
  43.                 def += people[i].attacking * 0.05;
  44.             }
  45.         }
  46.     } else if (ter1 < 30) {
  47.         var start = t1id * 11;
  48.         var end = t1id * 11 + 10;
  49.         for (var i = start; i < end; i++) {
  50.             if (people[i].sector == 1) {
  51.                 atk += people[i].defense * 0.05;
  52.             } else if (people[i].sector == 2) {
  53.                 atk += people[i].defense * 0.15;
  54.             } else {
  55.                 atk += people[i].defense * 0.7;
  56.             }
  57.         }
  58.         start = t2id * 11 + 1;
  59.         end = t2id * 11 + 10;
  60.         for (var i = start; i < end; i++) {
  61.             if (people[i].sector == 1) {
  62.                 def += people[i].attacking * 0.7;
  63.             } else if (people[i].sector == 2) {
  64.                 def += people[i].attacking * 0.15;
  65.             } else if (people[i].sector == 3) {
  66.                 def += people[i].attacking * 0.05;
  67.             }
  68.         }
  69.     } else if (ter1 < 70) {
  70.         var start = t1id * 11 + 1;
  71.         var end = t1id * 11 + 10;
  72.         for (var i = start; i < end; i++) {
  73.             if (people[i].sector == 1) {
  74.                 atk += people[i].midfield * 0.25;
  75.             } else if (people[i].sector == 2) {
  76.                 atk += people[i].midfield * 0.7;
  77.             } else if (people[i].sector == 3) {
  78.                 atk += people[i].midfield * 0.25;
  79.             }
  80.         }
  81.         start = t2id * 11 + 1;
  82.         end = t2id * 11 + 10;
  83.         for (var i = start; i < end; i++) {
  84.             if (people[i].sector == 1) {
  85.                 def += people[i].midfield * 0.25;
  86.             } else if (people[i].sector == 2) {
  87.                 def += people[i].midfield * 0.7;
  88.             } else if (people[i].sector == 3) {
  89.                 def += people[i].midfield * 0.25;
  90.             }
  91.         }
  92.     } else if (ter1 < 90) {
  93.         var start = t1id * 11 + 1;
  94.         var end = t1id * 11 + 10;
  95.         for (var i = start; i < end; i++) {
  96.             if (people[i].sector == 1) {
  97.                 atk += people[i].attacking * 0.7;
  98.             } else if (people[i].sector == 2) {
  99.                 atk += people[i].attacking * 0.15;
  100.             } else if (people[i].sector == 3) {
  101.                 atk += people[i].attacking * 0.05;
  102.             }
  103.         }
  104.         start = t2id * 11;
  105.         end = t2id * 11 + 10;
  106.         for (var i = start; i < end; i++) {
  107.             if (people[i].sector == 1) {
  108.                 def += people[i].defense * 0.05;
  109.             } else if (people[i].sector == 2) {
  110.                 def += people[i].defense * 0.15;
  111.             } else if (people[i].sector == 3) {
  112.                 def += people[i].defense * 0.7;
  113.             }
  114.         }
  115.     } else {
  116.         var start = t1id * 11 + 1;
  117.         var end = t1id * 11 + 10;
  118.         for (var i = start; i < end; i++) {
  119.             if (people[i].sector == 1) {
  120.                 atk += people[i].attacking * 0.7;
  121.             } else if (people[i].sector == 2) {
  122.                 atk += people[i].attacking * 0.15;
  123.             } else if (people[i].sector == 3) {
  124.                 atk += people[i].attacking * 0.05;
  125.             }
  126.         }
  127.         def = people[t2id * 11].goalkeeping * 3;
  128.     }
  129.     return 1 + ((def - atk) / (def + atk)); // if def very high, returns->2, if very low returns ->0
  130. }
  131.  
  132. function changeFormation(team, val) {
  133.     var formations = [
  134.         [10, 12, 22, 24, 26, 28, 36, 38, 40, 42, 50], // ATK: 1: 11. 2: 10,12. 3: 9,11,13
  135.         [9, 11, 13, 23, 25, 27, 36, 38, 40, 42, 50], // MF: 2: 24,26. 3: 23,25,27. 4:22,24,26,28 5:22,24,25,26,28
  136.         [10, 12, 23, 25, 27, 36, 38, 39, 40, 42, 50], //DF: 2: 38,40. 3:37,39,41 4: 36,38,40,42. 5:36,38,39,40,42
  137.         [11, 22, 24, 26, 28, 36, 38, 39, 40, 42, 50],
  138.         [9, 11, 13, 22, 24, 26, 28, 37, 39, 41, 50],
  139.         [11, 22, 24, 25, 26, 28, 36, 38, 40, 42, 50]
  140.     ];
  141.     var start = team * 11 + 10;
  142.     var end = 11 * team; // these are deliberately reversed to make the goalie at the bottom
  143.     var count = 0; //counts through the positions
  144.     if (team === 0) {
  145.         for (var i = 1; i < 51; i++) {
  146.             document.getElementById("pitch" + i).innerHTML = "";
  147.         }
  148.         for (var i = start; i >= end; i--) {
  149.             if (formations[val][i] == 50) {
  150.                 people[i].sector = 4;
  151.             } else if (formation[val][i] > 35) {
  152.                 people[i].sector = 3;
  153.             } else if (formation[val][i] > 14) {
  154.                 people[i].sector = 2;
  155.             } else {
  156.                 people[i].sector = 1;
  157.             }
  158.             var pitchHTML = '<div class="shirt" onclick="showPlayer(' + i + ')">' + (11 - count).toString() + '</div>';
  159.             document.getElementById("pitch" + formations[val][count]).innerHTML = pitchHTML;
  160.             count++;
  161.         }
  162.     }
  163. }
  164.  
  165. function Team(name, id) {
  166.     this.name = name;
  167.     this.id = id;
  168.     this.won = 0;
  169.     this.drawn = 0;
  170.     this.lost = 0;
  171.     this.gs = 0;
  172.     this.ga = 0;
  173.     this.gd = 0;
  174.     this.points = 0;
  175. }
  176.  
  177. function CreatePlayers() {
  178.     var FirstNames = ["Andrew", "Ben", "Callum", "David", "Edward", "Fred", "Gary", "Harry", "Ian", "John", "Karl", "Leonard", "Michael", "Neil", "Oliver", "Peter", "Quinton", "Ross", "Tom", "Uwe", "Victor", "Wayne", "Xavier", "Yosef", "Zach"];
  179.     var Surnames = ["Andrews", "Brown", "Clegg", "Dixon", "Edwards", "Foster", "Garland", "Henderson", "Irvine", "Johnson", "Knight", "Lewis", "Martin", "Nicholson", "Owen", "Phillips", "Quinn", "Roberts", "Smith", "Turner", "Upton", "Vickers", "Williams", "Xanders", "Young", "Zaoui"];
  180.     for (var i = 0; i < 66; i++) {
  181.         if (i < 11) {
  182.             if (i % 11 === 0) {
  183.                 people.push(new Player(FirstNames[Math.floor(Math.random() * FirstNames.length)] + " " + Surnames[Math.floor(Math.random() * Surnames.length)], 0, 4, 1, 1, 1, 1, 1, true));
  184.             } else {
  185.                 people.push(new Player(FirstNames[Math.floor(Math.random() * FirstNames.length)] + " " + Surnames[Math.floor(Math.random() * Surnames.length)], 0, 1, 1, 1, 1, 1, 1, false));
  186.             }
  187.         } else {
  188.             if (i % 11 === 0) {
  189.                 people.push(new Player(FirstNames[Math.floor(Math.random() * FirstNames.length)] + " " + Surnames[Math.floor(Math.random() * Surnames.length)],
  190.                     Math.floor(i / 11), 4,
  191.                     Math.round(Math.pow(Math.random() * Math.floor(i / 11) * Math.pow(10, Math.floor(i / 11)), 0.5), 0), Math.round(Math.pow(Math.random() * Math.floor(i / 11) * Math.pow(10, Math.floor(i / 11)), 0.5), 0), Math.round(Math.pow(Math.random() * Math.floor(i / 11) * Math.pow(10, Math.floor(i / 11)), 0.5), 0),
  192.                     Math.round(Math.pow(Math.random() * Math.floor(i / 11) * Math.pow(10, Math.floor(i / 11)), 0.5), 0),
  193.                     Math.round(Math.pow(Math.random() * Math.floor(i / 11) * Math.pow(10, Math.floor(i / 11)), 0.5), 0),
  194.                     true));
  195.             } else {
  196.                 people.push(new Player(FirstNames[Math.floor(Math.random() * FirstNames.length)] + " " + Surnames[Math.floor(Math.random() * Surnames.length)], Math.floor(i / 11), 1, Math.round(Math.pow(Math.random() * Math.floor(i / 11) * Math.pow(10, Math.floor(i / 11)), 0.5), 0), Math.round(Math.pow(Math.random() * Math.floor(i / 11) * Math.pow(10, Math.floor(i / 11)), 0.5), 0), Math.round(Math.pow(Math.random() * Math.floor(i / 11) * Math.pow(10, Math.floor(i / 11)), 0.5), 0), Math.round(Math.pow(Math.random() * Math.floor(i / 11) * Math.pow(10, Math.floor(i / 11)), 0.5), 0), Math.round(Math.pow(Math.random() * Math.floor(i / 11) * Math.pow(10, Math.floor(i / 11)), 0.5), 0), false));
  197.             }
  198.         }
  199.     }
  200.     for (var j = 0; j < 6; j++) {
  201.         changeFormation(j, 0);
  202.     }
  203.     var teamNames = ["CC United", "London Lions", "Collage City", "Branston Brawns", "Atlantic Atlas", "Philador's Philosophers"];
  204.     for (var team_id = 0; team_id < 6; team_id++) {
  205.         teams.push(new Team(teamNames[team_id], team_id));
  206.     }
  207.     League();
  208. }
  209.  
  210. function changeTab(div) {
  211.     var show = document.getElementsByClassName("show");
  212.     show[0].className = "hide";
  213.     var tab = document.getElementById(div);
  214.     tab.className = "show";
  215. }
  216.  
  217. function SimMatch(t1, t2) {
  218.     var pos1 = 0;
  219.     var pos2 = 0;
  220.     var ter1 = 50;
  221.     var ter2 = 50;
  222.     var s1 = 0;
  223.     var s2 = 0;
  224.     for (var time=0; time<900; time++)
  225.     {
  226.         var change = Math.random() * 4 - 1.75 - possessionMultiplier(t1.id, t2.id, ter1) / 4;
  227.         ter1 += change;
  228.         ter2 -= change;
  229.         if (time == 450) {
  230.             ter1 = 50;
  231.             ter2 = 50;
  232.         }
  233.         if (ter1 >= 100) {
  234.             s1++;
  235.             ter1 = 50;
  236.             ter2 = 50;
  237.         } else if (ter2 >= 100) {
  238.             s2++;
  239.             ter1 = 50;
  240.             ter2 = 50;
  241.         }
  242.         if (change > 0) {
  243.             pos1++;
  244.         } else {
  245.             pos2++;
  246.         }
  247.     }
  248.     if (s1 > s2) {
  249.         t1.won++;
  250.         t2.lost++;
  251.         t1.points += 3;
  252.     } else if (s2 > s1) {
  253.         t2.won++;
  254.         t1.lost++;
  255.         t2.points += 3;
  256.     } else {
  257.         t1.drawn++;
  258.         t2.drawn++;
  259.         t1.points++;
  260.         t2.points++;
  261.     }
  262.     t1.gs += s1;
  263.     t1.ga += s2;
  264.     t1.gd += s1 - s2;
  265.     t2.gs += s2;
  266.     t2.ga += s1;
  267.     t2.gd += s2 - s1;
  268.     CalculateStandings();
  269. }
  270.  
  271. function Train(player_id, type) {
  272.     if (type == 1) {
  273.         if (cash >= 100 * people[player_id].attacking) {
  274.             cash -= 100 * people[player_id].attacking;
  275.             people[player_id].attacking++;
  276.         }
  277.     } else if (type == 2) {
  278.         if (cash >= 100 * people[player_id].midfield) {
  279.             cash -= 100 * people[player_id].midfield;
  280.             people[player_id].midfield++;
  281.         }
  282.     } else if (type == 3) {
  283.         if (cash >= 100 * people[player_id].defense) {
  284.             cash -= 100 * people[player_id].defense;
  285.             people[player_id].defense++;
  286.         }
  287.     } else if (type == 4) {
  288.         if (cash >= 100 * people[player_id].goalkeeping) {
  289.             cash -= 100 * people[player_id].goalkeeping;
  290.             people[player_id].goalkeeping++;
  291.         }
  292.     }
  293.     document.getElementById("cashamount").innerHTML = cash;
  294.     tempplayer = player_id;
  295.     showPlayer(tempplayer);
  296. }
  297.  
  298. function Match(t1, t2) {
  299.     matchInProgress = true;
  300.     document.getElementById("team1").innerHTML = t1.name; // sets team names on score display
  301.     document.getElementById("team2").innerHTML = t2.name;
  302.     var t1temp = t1;
  303.     var t2temp = t2;
  304.     if (t1 == teams[0]) // if we are the home team
  305.     {
  306.         MatchRevenue(t1temp, t2temp);
  307.     }
  308.     var pos1 = 0;
  309.     var pos2 = 0;
  310.     var ter1 = 50;
  311.     var ter2 = 50;
  312.     var s1 = 0; // home score
  313.     var s2 = 0; // away score
  314.     var score1 = document.getElementById("score1"); // score display
  315.     var score2 = document.getElementById("score2");
  316.     var possession1 = document.getElementById("possession1"); // possession display
  317.     var possession2 = document.getElementById("possession2");
  318.     var territory1 = document.getElementById("territory1"); // territory display
  319.     var territory2 = document.getElementById("territory2");
  320.     var timer1 = document.getElementById("time1"); // minutes display
  321.     var timer2 = document.getElementById("time2"); // seconds display
  322.     var time = 0;
  323.     var timer=setInterval(function(){
  324.         time++;
  325.         // determine change of territory based on RNG+stats
  326.         var change = Math.random() * 4 - 1.75 - possessionMultiplier(t1.id, t2.id, ter1) / 4;
  327.         ter1 += change;
  328.         ter2 -= change;
  329.         if (time == 450) {
  330.             ter1 = 50;
  331.             ter2 = 50;
  332.         }
  333.         if (ter1 >= 100) // home team has scored
  334.         {
  335.             s1++;
  336.             ter1 = 50;
  337.             ter2 = 50;
  338.         } else if (ter2 >= 100) // away team has scored
  339.         {
  340.             s2++;
  341.             ter1 = 50;
  342.             ter2 = 50;
  343.         }
  344.         if (change > 0) {
  345.             pos1++;
  346.         } else {
  347.             pos2++;
  348.         }
  349.         territory1.style.width = (ter1 * 5).toString() + "px"; // changes territory display
  350.         territory2.style.width = (ter2 * 5).toString() + "px";
  351.         possession1.style.width = Math.ceil((500 * pos1 / (pos1 + pos2)).toString()) + "px"; // changes possession display
  352.         possession2.style.width = Math.floor((500 * pos2 / (pos1 + pos2)).toString()) + "px";
  353.         score1.innerHTML = s1.toString();
  354.         score2.innerHTML = s2.toString();
  355.         timer1.innerHTML = Math.floor(time / 10).toString();
  356.         if ((time % 10) < 2) {
  357.             timer2.innerHTML = "0".toString() + (6 * (time % 10)).toString();
  358.         } else {
  359.             timer2.innerHTML = (6 * (time % 10)).toString();
  360.         }
  361.         if (time==900)
  362.         {
  363.             clearInterval(timer);
  364.             if (s1 > s2) {
  365.                 t1.won++;
  366.                 t2.lost++;
  367.                 t1.points += 3;
  368.             } else if (s2 > s1) {
  369.                 t2.won++;
  370.                 t1.lost++;
  371.                 t2.points += 3;
  372.             } else {
  373.                 t1.drawn++;
  374.                 t2.drawn++;
  375.                 t1.points++;
  376.                 t2.points++;
  377.             }
  378.             t1.gs += s1;
  379.             t1.ga += s2;
  380.             t1.gd += s1 - s2;
  381.             t2.gs += s2;
  382.             t2.ga += s1;
  383.             t2.gd += s2 - s1;
  384.             CalculateStandings(); // update league table display
  385.             matchInProgress = false;
  386.         }
  387.     }, 100);
  388. }
  389.  
  390. function showPlayer(player_id) {
  391.     var html;
  392.     if (player_id % 11 !== 0) {
  393.         html = '<div class="info" id="player_cash_info">You currently have &pound;' + cash + ' on hand </div><div class="player_name">' + people[player_id].name + '</div><div class="player_attack"><span class="stat">Attack:</span> ' + people[player_id].attacking + '<input type="button" value="Add +1 for &pound;' + (people[player_id].attacking) * 100 + '" onclick="Train(' + player_id + ',1)" /></div><div class="player_midfield"><span class="stat">Midfield:</span>' + people[player_id].midfield + '<input type="button" value="Add +1 for &pound;' + (people[player_id].midfield) * 100 + '" onclick="Train(' + player_id + ',2)" /></div><div class="player_defense"><span class="stat">Defense:</span>' + people[player_id].defense + '<input type="button" value="Add +1 for &pound;' + people[player_id].defense * 100 + '" onclick="Train(' + player_id + ',3)" /></div>';
  394.     } else {
  395.         html = '<div class="info" id="player_cash_info">You currently have &pound;' + cash + ' on hand </div><div class="player_name">' + people[player_id].name + '</div><div class="player_defense"><span class="stat">Defense:</span>' + people[player_id].defense + '<input type="button" value="Add +1 for &pound;' + (people[player_id].defense) * 100 + '" onclick="Train(' + player_id + ',3)" /></div><div class="player_goalkeeping"><span class="stat">Goalkeeping:</span>' + people[player_id].goalkeeping + '<input type="button" value="Add +1 for &pound;' + (people[player_id].goalkeeping) * 100 + '" onclick="Train(' + player_id + ',4)" /></div>';
  396.     }
  397.     document.getElementById("player_info").innerHTML = html;
  398. }
  399.  
  400. function League() {
  401.     var init = Date.now();
  402.     var step = 0;
  403.     // fixture set
  404.     var fixtures = [
  405.         [
  406.             [0, 1],
  407.             [2, 3],
  408.             [4, 5]
  409.         ],
  410.         [
  411.             [1, 2],
  412.             [3, 4],
  413.             [5, 0]
  414.         ],
  415.         [
  416.             [0, 3],
  417.             [1, 5],
  418.             [2, 4]
  419.         ],
  420.         [
  421.             [4, 0],
  422.             [5, 2],
  423.             [3, 1]
  424.         ],
  425.         [
  426.             [0, 2],
  427.             [1, 4],
  428.             [3, 5]
  429.         ]
  430.     ];
  431.     var standings = [teams[0], teams[1], teams[2], teams[3], teams[4], teams[5]];
  432.     var TimeNext = Date.now();
  433.     console.log("test");
  434.     var leagueTimer= setInterval(function(){
  435.         console.log("test");
  436.         if (!matchInProgress) {
  437.             document.getElementById("notice").innerHTML = "Next match in " + Math.floor((TimeNext - Date.now()) / 1000) + " seconds.";
  438.         } else {
  439.             document.getElementById("notice").innerHTML = "";
  440.         }
  441.         if (!matchInProgress) {
  442.             //save();
  443.  
  444.             TimeNext = init + 100000 * played;
  445.             for (var fix = 0; fix < 3; fix++) {
  446.                 if (played < 5) {
  447.                     if (fixtures[played][fix].indexOf(0) != -1) {
  448.                         Match(teams[fixtures[played][fix][0]], teams[fixtures[played][fix][1]]);
  449.                     } else {
  450.                         SimMatch(teams[fixtures[played][fix][0]], teams[fixtures[played][fix][1]]);
  451.                     }
  452.                 } else {
  453.                     if (fixtures[played % 5][fix].indexOf(0) != -1) {
  454.                         Match(teams[fixtures[played % 5][fix][1]], teams[fixtures[played % 5][fix][0]]);
  455.                     } else {
  456.                         SimMatch(teams[fixtures[played % 5][fix][1]], teams[fixtures[played % 5][fix][0]]);
  457.                     }
  458.                 }
  459.             }
  460.             played++;
  461.             standings = CalculateStandings();
  462.         }
  463.         if (played==10)
  464.         {
  465.             clearInterval(leagueTimer);
  466.             setTimeout(function() {
  467.                 played = 0;
  468.                 ResetLeague(); // takes the league back to the beginning
  469.                 League();
  470.             }, 15000);
  471.         }
  472.     }, 100000);
  473. }
  474.  
  475. function StadiumUpgrade() {
  476.     if (cash >= prices[stadiumlevel]) {
  477.         cash -= prices[stadiumlevel];
  478.         stadiumlevel++;
  479.         document.getElementById("cashamount").innerHTML = cash;
  480.         if (document.getElementById("player_cash_info")) {
  481.             document.getElementById("player_cash_info").innerHTML = "You currently have &pound;" + cash + " on hand.";
  482.         }
  483.         if (stadiumlevel != prices.length) {
  484.             document.getElementById("stadium").outerHTML = '<input type="button" id="stadium" value="Upgrade the stadium by another ' + (stadium[stadiumlevel + 1] - stadium[stadiumlevel]) + ' seats for &pound;' + prices[stadiumlevel] + '" onclick="StadiumUpgrade()" />';
  485.         } else {
  486.             document.getElementById("stadium").outerHTML = '<input type="button" id="stadium" value="Maximum stadium level reached" />';
  487.         }
  488.         document.getElementById("stadium_seats").innerHTML = stadium[stadiumlevel];
  489.     }
  490. }
  491.  
  492. function CalculateStandings() {
  493.     var i = 0;
  494.     var j = 0;
  495.     var standings = new Array();
  496.     for (i = 0; i < 6; i++) {
  497.         for (j = 0; j < i; j++) {
  498.             if (teams[i].points > standings[j].points || (teams[i].points == standings[j].points && teams[i].gd > standings[j].gd) || (teams[i].points == standings[j].points && teams[i].gd == standings[j].gd && teams[i].gs > standings[j].gs)) {
  499.                 for (var k = 4; k >= j; k--) {
  500.                     standings[k + 1] = standings[k];
  501.                 }
  502.                 break;
  503.             }
  504.         }
  505.         standings[j] = teams[i];
  506.     }
  507.     var html = '<div class="standings"><div class="pos">Pos</div><div class="team_name">Name</div><div class="won">Won</div><div class="drawn">Drawn</div><div class="lost">Lost</div><div class="gs">GS</div><div class="ga">GA</div><div class="gd">GD</div><div class="gd">Points</div>';
  508.     for (var t = 0; t < 6; t++) {
  509.         if (standings[t] != teams[0]) {
  510.             html += '<div class="standings"><div class="pos">' + (t + 1).toString() + '</div><div class="team_name">' + standings[t].name + '</div><div class="won">' + standings[t].won + '</div><div class="drawn">' + standings[t].drawn + '</div><div class="lost">' + standings[t].lost + '</div><div class="gs">' + standings[t].gs + '</div><div class="ga">' + standings[t].ga + '</div><div class="gd">' + standings[t].gd + '</div><div class="points">' + standings[t].points + '</div>';
  511.         } else {
  512.             html += '<div class="standings selected"><div class="pos">' + (t + 1).toString() + '</div><div class="team_name">' + standings[t].name + '</div><div class="won">' + standings[t].won + '</div><div class="drawn">' + standings[t].drawn + '</div><div class="lost">' + standings[t].lost + '</div><div class="gs">' + standings[t].gs + '</div><div class="ga">' + standings[t].ga + '</div><div class="gd">' + standings[t].gd + '</div><div class="points">' + standings[t].points + '</div>';
  513.         }
  514.     }
  515.     document.getElementById("standings").innerHTML = html;
  516.     return standings;
  517. }
  518.  
  519. function ResetLeague() {
  520.     for (var i = 0; i < 6; i++) {
  521.         teams[i].won = 0;
  522.         teams[i].drawn = 0;
  523.         teams[i].lost = 0;
  524.         teams[i].gs = 0;
  525.         teams[i].ga = 0;
  526.         teams[i].gd = 0;
  527.         teams[i].points = 0;
  528.     }
  529.     CalculateStandings();
  530. }
  531.  
  532. function sellStock(id) {
  533.     cash += MercPrices[id];
  534.     sellcash += MercPrices[id];
  535.     document.getElementById("cashamount").innerHTML = cash;
  536.     if (document.getElementById("player_cash_info")) {
  537.         document.getElementById("player_cash_info").innerHTML = "You currently have &pound;" + cash + " on hand.";
  538.     }
  539.     if (id < 6 && sellcash >= cutoffs[id]) {
  540.         document.getElementById("stock").outerHTML = '<input type="button" id="stock" value="Click here to sell a ' + stock[id + 1] + ' for &pound;' + MercPrices[id + 1] + '" onclick="sellStock(' + (id + 1) + ')" />';
  541.     }
  542. }
  543.  
  544. function MatchRevenue(t1, t2) {
  545.     // home team gets 75% of the influence, away team 25%
  546.     var att1 = 0;
  547.     var att2 = 0;
  548.     if (t1.points === 0 && t1.lost === 0) // faster than checking for wins and draws separately
  549.     {
  550.         att1 = Math.round(stadium[stadiumlevel] * 0.75);
  551.     } else {
  552.         att1 = Math.round(stadium[stadiumlevel] * (0.5 + 0.25 * t1.points / ((t1.won + t1.drawn + t1.lost) * 3)));
  553.     }
  554.     if (t2.points === 0 && t2.lost === 0) // faster than checking for wins and draws separately
  555.     {
  556.         att2 = Math.round(stadium[stadiumlevel] * 0.25);
  557.     } else {
  558.         att2 = Math.round(stadium[stadiumlevel] * (0.1 + 0.15 * t2.points / ((t2.won + t2.drawn + t2.lost) * 3)));
  559.     }
  560.     cash += (att1 + att2) * 10;
  561.     document.getElementById("cashamount").innerHTML = cash;
  562.     if (document.getElementById("player_cash_info")) {
  563.         document.getElementById("player_cash_info").innerHTML = "You currently have &pound;" + cash + " on hand.";
  564.     }
  565. }
  566.  
  567. var warning = true;
  568.  
  569. function save() {
  570.     if (window.localStorage !== undefined) {
  571.         window.localStorage.setItem("cash", cash);
  572.         window.localStorage.setItem("sellcash", sellcash);
  573.         window.localStorage.setItem("stadiumlevel", stadiumlevel);
  574.         window.localStorage.setItem("played", played);
  575.         window.localStorage.setItem("teams", JSON.stringify(teams));
  576.         window.localStorage.setItem("players", JSON.stringify(people));
  577.     } else if (warning) {
  578.         alert("This browser does not support localStorage. This means you will be unable to save your progress.");
  579.         warning = false;
  580.     }
  581. }
  582.  
  583. function getMercLevel(cashSpent) {
  584.     for (var i = cutoffs.length - 1; i >= 0; i++) {
  585.         if (cashSpent > cutoffs[i]) {
  586.             return i + 1;
  587.         }
  588.     }
  589.     return 0;
  590. }
  591.  
  592. function load() {
  593.     if (window.localStorage !== undefined && window.localStorage.length > 0) {
  594.         cash = parseInt(window.localStorage.getItem("cash"), 10);
  595.         sellcash = parseInt(window.localStorage.getItem("sellcash"), 10);
  596.         var id = getMercLevel(sellcash);
  597.         document.getElementById("stock").outerHTML = '<input type="button" id="stock" value="Click here to sell a ' + stock[id + 1] + ' for &pound;' + prices[id + 1] + '" onclick="sellStock(' + (id + 1) + ')" />';
  598.         stadiumlevel = parseInt(window.localStorage.getItem("stadiumlevel"), 10);
  599.         if (stadiumLevel == stadium.length) {
  600.             document.getElementById("stadium").outerHTML = '<input type="button" id="stadium" value="Maximum stadium level reached" />';
  601.         } else {
  602.             document.getElementById("stadium").outerHTML = '<input type="button" id="stadium" value="Upgrade the stadium by another ' + (stadium[stadiumlevel + 1] - stadium[stadiumlevel]) + ' seats for &pound;' + prices[stadiumlevel] + '" onclick="StadiumUpgrade()" />';
  603.         }
  604.         teams = JSON.parse(window.localstorage.getItem("teams"));
  605.         people = JSON.parse(window.localstorage.getItem("players"));
  606.         //CalculateStandings();
  607.         League();
  608.     } else {
  609.         CreatePlayers();
  610.     }
  611. }
Advertisement
Add Comment
Please, Sign In to add comment