Completed
Push — master ( a5c576...7c819e )
by Vincenzo
02:22
created
Lib/DsManager/Models/Match.php 1 patch
Indentation   +144 added lines, -144 removed lines patch added patch discarded remove patch
@@ -10,149 +10,149 @@
 block discarded – undo
10 10
  */
11 11
 class Match
12 12
 {
13
-    /**
14
-     * @var Team
15
-     */
16
-    private $homeTeam;
17
-    /**
18
-     * @var Team
19
-     */
20
-    private $awayTeam;
21
-
22
-    /**
23
-     * Match constructor.
24
-     * @param Team $home
25
-     * @param Team $away
26
-     */
27
-    public function __construct(Team $home, Team $away)
28
-    {
29
-        $this->homeTeam = $home;
30
-        $this->awayTeam = $away;
31
-    }
32
-
33
-    /**
34
-     * @return MatchResult
35
-     */
36
-    public function simulate()
37
-    {
38
-        $homePoints = $this->homeTeam->getAvgSkill();
39
-        $awayPoints = $this->awayTeam->getAvgSkill();
40
-
41
-        $homePoints += $this->malusModule(
42
-            $this->homeTeam->coach->favouriteModule,
43
-            $this->homeTeam->playersPerRoleArray()
44
-        );
45
-        $awayPoints += $this->malusModule(
46
-            $this->awayTeam->coach->favouriteModule,
47
-            $this->awayTeam->playersPerRoleArray()
48
-        );
49
-
50
-        $goalHome = 0;
51
-        $goalAway = 0;
52
-
53
-        if (Randomizer::boolOnPercentage(80)) {
54
-
55
-            if (($homePoints - $awayPoints) < 0) {
56
-                $goalAway = ($awayPoints - $homePoints) % 6;
57
-                $goalHome += $this->chance();
58
-                $goalAway += $this->chance();
59
-                $goalHome += $this->bonusHome();
60
-            } else {
61
-                $goalHome = ($homePoints - $awayPoints) % 6;
62
-                $goalAway += $this->chance();
63
-                $goalHome += $this->bonusHome();
64
-            }
65
-
66
-        } else {
67
-            $goalHome += $this->chance();
68
-            $goalAway += $this->chance();
69
-            $goalHome += $this->bonusHome();
70
-        }
71
-
72
-        $goalHome += $this->bonusAge($this->homeTeam);
73
-        $goalAway += $this->bonusAge($this->awayTeam);
74
-
75
-
76
-        //Bonus on Good GoalKeeper
77
-        $goalies = $this->homeTeam->getBestPlayerForRole("GK");
78
-        $goalAway -= $this->bonusGoalkeeper($goalies);
79
-        $goalies = $this->awayTeam->getBestPlayerForRole("GK");
80
-        $goalHome -= $this->bonusGoalkeeper($goalies);
81
-        //
82
-
83
-        $homeModule = new Module($this->homeTeam->coach->favouriteModule);
84
-        $awayModule = new Module($this->awayTeam->coach->favouriteModule);
85
-
86
-        if ($homeModule->isOffensive()) {
87
-            $goalHome += Randomizer::boolOnPercentage(50) ? rand(1, 2) : 0;
88
-            $goalAway += Randomizer::boolOnPercentage(20) ? 1 : 0;
89
-        }
90
-        if ($awayModule->isOffensive()) {
91
-            $goalAway += Randomizer::boolOnPercentage(50) ? rand(1, 2) : 0;
92
-            $goalHome += Randomizer::boolOnPercentage(20) ? 1 : 0;
93
-        }
94
-
95
-        if ($awayModule->isDefensive()) {
96
-            $goalHome -= Randomizer::boolOnPercentage(50) ? 1 : 0;
97
-        }
98
-        if ($homeModule->isDefensive()) {
99
-            $goalAway -= Randomizer::boolOnPercentage(50) ? 1 : 0;
100
-        }
101
-
102
-        $goalHome = $goalHome < 0 ? 0 : $goalHome;
103
-        $goalAway = $goalAway < 0 ? 0 : $goalAway;
104
-        return new MatchResult($goalHome, $goalAway, $this->homeTeam, $this->awayTeam);
105
-    }
106
-
107
-    private function bonusAge(Team $team)
108
-    {
109
-        if ($team->getAvgAge() > 29 || $team->getAvgAge() < 24) {
110
-            return $this->chance();
111
-        }
112
-        return 0;
113
-    }
114
-
115
-    /**
116
-     * @param $goalkeeper
117
-     * @return int
118
-     */
119
-    private function bonusGoalKeeper($goalkeeper)
120
-    {
121
-
122
-        $skillGoalkeeper = empty($goalkeeper) ? 1 : $goalkeeper->skillAvg;
123
-        return (Randomizer::boolOnPercentage($skillGoalkeeper) ? 1 : 0);
124
-
125
-    }
126
-
127
-    /**
128
-     * @return int
129
-     */
130
-    private function chance()
131
-    {
132
-        return rand(0, 3);
133
-    }
134
-
135
-    /**
136
-     * @return int
137
-     */
138
-    private function bonusHome()
139
-    {
140
-        return Randomizer::boolOnPercentage(66) ? 1 : 0;
141
-    }
142
-
143
-    /**
144
-     * @param $moduleString
145
-     * @param $playersRoleArray
146
-     * @return int
147
-     */
148
-    private function malusModule($moduleString, $playersRoleArray)
149
-    {
150
-        $module = new Module($moduleString);
151
-        if ($module->isApplicableToArray($playersRoleArray)) {
152
-            return rand(1, 10);
153
-        } else {
154
-            return (-1) * rand(1, 10);
155
-        }
156
-    }
13
+	/**
14
+	 * @var Team
15
+	 */
16
+	private $homeTeam;
17
+	/**
18
+	 * @var Team
19
+	 */
20
+	private $awayTeam;
21
+
22
+	/**
23
+	 * Match constructor.
24
+	 * @param Team $home
25
+	 * @param Team $away
26
+	 */
27
+	public function __construct(Team $home, Team $away)
28
+	{
29
+		$this->homeTeam = $home;
30
+		$this->awayTeam = $away;
31
+	}
32
+
33
+	/**
34
+	 * @return MatchResult
35
+	 */
36
+	public function simulate()
37
+	{
38
+		$homePoints = $this->homeTeam->getAvgSkill();
39
+		$awayPoints = $this->awayTeam->getAvgSkill();
40
+
41
+		$homePoints += $this->malusModule(
42
+			$this->homeTeam->coach->favouriteModule,
43
+			$this->homeTeam->playersPerRoleArray()
44
+		);
45
+		$awayPoints += $this->malusModule(
46
+			$this->awayTeam->coach->favouriteModule,
47
+			$this->awayTeam->playersPerRoleArray()
48
+		);
49
+
50
+		$goalHome = 0;
51
+		$goalAway = 0;
52
+
53
+		if (Randomizer::boolOnPercentage(80)) {
54
+
55
+			if (($homePoints - $awayPoints) < 0) {
56
+				$goalAway = ($awayPoints - $homePoints) % 6;
57
+				$goalHome += $this->chance();
58
+				$goalAway += $this->chance();
59
+				$goalHome += $this->bonusHome();
60
+			} else {
61
+				$goalHome = ($homePoints - $awayPoints) % 6;
62
+				$goalAway += $this->chance();
63
+				$goalHome += $this->bonusHome();
64
+			}
65
+
66
+		} else {
67
+			$goalHome += $this->chance();
68
+			$goalAway += $this->chance();
69
+			$goalHome += $this->bonusHome();
70
+		}
71
+
72
+		$goalHome += $this->bonusAge($this->homeTeam);
73
+		$goalAway += $this->bonusAge($this->awayTeam);
74
+
75
+
76
+		//Bonus on Good GoalKeeper
77
+		$goalies = $this->homeTeam->getBestPlayerForRole("GK");
78
+		$goalAway -= $this->bonusGoalkeeper($goalies);
79
+		$goalies = $this->awayTeam->getBestPlayerForRole("GK");
80
+		$goalHome -= $this->bonusGoalkeeper($goalies);
81
+		//
82
+
83
+		$homeModule = new Module($this->homeTeam->coach->favouriteModule);
84
+		$awayModule = new Module($this->awayTeam->coach->favouriteModule);
85
+
86
+		if ($homeModule->isOffensive()) {
87
+			$goalHome += Randomizer::boolOnPercentage(50) ? rand(1, 2) : 0;
88
+			$goalAway += Randomizer::boolOnPercentage(20) ? 1 : 0;
89
+		}
90
+		if ($awayModule->isOffensive()) {
91
+			$goalAway += Randomizer::boolOnPercentage(50) ? rand(1, 2) : 0;
92
+			$goalHome += Randomizer::boolOnPercentage(20) ? 1 : 0;
93
+		}
94
+
95
+		if ($awayModule->isDefensive()) {
96
+			$goalHome -= Randomizer::boolOnPercentage(50) ? 1 : 0;
97
+		}
98
+		if ($homeModule->isDefensive()) {
99
+			$goalAway -= Randomizer::boolOnPercentage(50) ? 1 : 0;
100
+		}
101
+
102
+		$goalHome = $goalHome < 0 ? 0 : $goalHome;
103
+		$goalAway = $goalAway < 0 ? 0 : $goalAway;
104
+		return new MatchResult($goalHome, $goalAway, $this->homeTeam, $this->awayTeam);
105
+	}
106
+
107
+	private function bonusAge(Team $team)
108
+	{
109
+		if ($team->getAvgAge() > 29 || $team->getAvgAge() < 24) {
110
+			return $this->chance();
111
+		}
112
+		return 0;
113
+	}
114
+
115
+	/**
116
+	 * @param $goalkeeper
117
+	 * @return int
118
+	 */
119
+	private function bonusGoalKeeper($goalkeeper)
120
+	{
121
+
122
+		$skillGoalkeeper = empty($goalkeeper) ? 1 : $goalkeeper->skillAvg;
123
+		return (Randomizer::boolOnPercentage($skillGoalkeeper) ? 1 : 0);
124
+
125
+	}
126
+
127
+	/**
128
+	 * @return int
129
+	 */
130
+	private function chance()
131
+	{
132
+		return rand(0, 3);
133
+	}
134
+
135
+	/**
136
+	 * @return int
137
+	 */
138
+	private function bonusHome()
139
+	{
140
+		return Randomizer::boolOnPercentage(66) ? 1 : 0;
141
+	}
142
+
143
+	/**
144
+	 * @param $moduleString
145
+	 * @param $playersRoleArray
146
+	 * @return int
147
+	 */
148
+	private function malusModule($moduleString, $playersRoleArray)
149
+	{
150
+		$module = new Module($moduleString);
151
+		if ($module->isApplicableToArray($playersRoleArray)) {
152
+			return rand(1, 10);
153
+		} else {
154
+			return (-1) * rand(1, 10);
155
+		}
156
+	}
157 157
 
158 158
 }
159 159
\ No newline at end of file
Please login to merge, or discard this patch.