Skip to content
This repository has been archived by the owner on Jul 31, 2018. It is now read-only.

Commit

Permalink
some bugs in result generator has been fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
mreza-kiani committed Nov 16, 2017
1 parent a1dd2a0 commit d773575
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 17 deletions.
12 changes: 6 additions & 6 deletions excact_output
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
Round 1
1:
Arsenal 3 - 3 Barcelona
Barcelona 3 - 2 Arsenal
Barcelona 4 - 2 Arsenal
=> winner: Barcelona
2:
Liverpool 2 - 3 Real Madrid
Real Madrid 4 - 1 Liverpool
=> winner: Real Madrid
Round 2
1:
Barcelona 2 - 3 Real Madrid
Barcelona 2 - 2 Real Madrid
Real Madrid 3 - 2 Barcelona
=> winner: Real Madrid
Round 1
1:
Arsenal 3 - 3 Barcelona
Barcelona 3 - 2 Arsenal
Barcelona 4 - 2 Arsenal
=> winner: Barcelona
2:
Liverpool 2 - 3 Real Madrid
Expand All @@ -24,10 +24,10 @@ Round 1
Round 1
1:
Arsenal 3 - 3 Barcelona
Barcelona 3 - 2 Arsenal
Barcelona 4 - 2 Arsenal
=> winner: Barcelona
Round 2
1:
Barcelona 2 - 3 Real Madrid
Barcelona 2 - 2 Real Madrid
Real Madrid 3 - 2 Barcelona
=> winner: Real Madrid
=> winner: Real Madrid
30 changes: 21 additions & 9 deletions simulate.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,19 @@ def simulate(self):
team_1_defend, team_1_midfield, team_1_attack = self.team_1.count_team_power()
team_2_defend, team_2_midfield, team_2_attack = self.team_2.count_team_power()

fans_team_1 = self.team_1.fans_in_stadium[self.team_1.stadium_name]
fans_team_2 = self.team_2.fans_in_stadium[self.team_1.stadium_name]
if self.team_1.stadium_capacity-self.team_1.fans_in_stadium[self.team_1.stadium_name] < fans_team_2:
fans_team_2 = self.team_1.stadium_capacity-self.team_1.fans_in_stadium[self.team_1.stadium_name]
stadium_capacity = self.team_1.stadium_capacity
# print "fans-1: {}, fans-2: {}, whole: {}".format(fans_team_1, fans_team_2, stadium_capacity)

if (stadium_capacity - fans_team_1) < fans_team_2:
fans_team_2 = stadium_capacity - fans_team_1

stadium_impact_1 = math.floor(self.team_1.stadium_impact * (self.team_1.fans_in_stadium[self.team_1.stadium_name] / float(self.team_1.stadium_capacity)))
stadium_impact_2 = math.floor(self.team_1.stadium_impact * (fans_team_2 / float(self.team_1.stadium_capacity)))

# print "impact-1: {}, impact-2: {}".format(stadium_impact_1, stadium_impact_2)

team_1_defend += stadium_impact_1
team_1_midfield += stadium_impact_1
team_1_attack += stadium_impact_1
Expand All @@ -78,8 +84,11 @@ def simulate(self):
team_2_midfield += stadium_impact_2
team_2_attack += stadium_impact_2

self.goal_team_1 = math.floor((((team_1_attack*team_1_midfield)/float((team_2_defend*team_2_midfield)))**(1.5))*(3))
self.goal_team_2 = math.floor((((team_2_attack*team_2_midfield)/float((team_1_defend*team_1_midfield)))**(1.5))*(3))
# print "{}: {}-{}-{}".format(self.team_1.name, team_1_defend, team_1_midfield, team_1_attack)
# print "{}: {}-{}-{}".format(self.team_2.name, team_2_defend, team_2_midfield, team_2_attack)

self.goal_team_1 = math.floor((((team_1_attack*team_1_midfield)/float((team_2_defend*team_2_midfield)))**(1.5))*(3.0))
self.goal_team_2 = math.floor((((team_2_attack*team_2_midfield)/float((team_1_defend*team_1_midfield)))**(1.5))*(3.0))
return self.goal_team_1, self.goal_team_2

fans_in_stadium = {}
Expand All @@ -89,7 +98,7 @@ def simulate(self):
fans_in_stadium["Santiago Bernabeu"] = 2000;
fans_in_stadium["Emirates Stadium"] = 54000;
fans_in_stadium["Anfield"] = 10000;
arsenal = Team("Arsenal", "Emirates Stadium", 60000, 3, fans_in_stadium);
arsenal = Team("Arsenal", "Emirates Stadium", 60000, 3, fans_in_stadium.copy());
arsenal.add_player("Ospina", 79, GOALKEEPER);
arsenal.add_player("Mertesacker", 81, DEFENDER);
arsenal.add_player("Koscielny", 84, DEFENDER);
Expand All @@ -102,8 +111,11 @@ def simulate(self):
arsenal.add_player("Giroud", 82, STRIKER);
arsenal.add_player("Sanchez", 89, STRIKER);

fans_in_stadium = {"Camp Nou": 90000, "Santiago Bernabeu": 10000, "Emirates Stadium": 4000, "Anfield": 5000}
barcelona = Team("Barcelona", "Camp Nou", 100000, 5, fans_in_stadium);
fans_in_stadium["Camp Nou"] = 90000;
fans_in_stadium["Santiago Bernabeu"] = 10000;
fans_in_stadium["Emirates Stadium"] = 4000;
fans_in_stadium["Anfield"] = 5000;
barcelona = Team("Barcelona", "Camp Nou", 100000, 5, fans_in_stadium.copy());
barcelona.add_player("Ter Stegen", 85, GOALKEEPER);
barcelona.add_player("Sergi Roberto", 81, DEFENDER);
barcelona.add_player("Pique", 87, DEFENDER);
Expand All @@ -120,7 +132,7 @@ def simulate(self):
fans_in_stadium["Santiago Bernabeu"] = 2000;
fans_in_stadium["Emirates Stadium"] = 10000;
fans_in_stadium["Anfield"] = 48000;
liverpool = Team("Liverpool", "Anfield", 54000, 4, fans_in_stadium);
liverpool = Team("Liverpool", "Anfield", 54000, 4, fans_in_stadium.copy());
liverpool.add_player("Mignolet", 80, GOALKEEPER);
liverpool.add_player("Matip", 83, DEFENDER);
liverpool.add_player("Lovren", 81, DEFENDER);
Expand All @@ -137,7 +149,7 @@ def simulate(self):
fans_in_stadium["Santiago Bernabeu"] = 70000
fans_in_stadium["Emirates Stadium"] = 5000
fans_in_stadium["Anfield"] = 7500
real = Team("Real Madrid", "Santiago Bernabeu", 80000, 5, fans_in_stadium)
real = Team("Real Madrid", "Santiago Bernabeu", 80000, 5, fans_in_stadium.copy())
real.add_player("Navas", 85, GOALKEEPER);
real.add_player("Ramos", 90, DEFENDER);
real.add_player("Varane", 85, DEFENDER);
Expand Down
4 changes: 2 additions & 2 deletions simulation_result
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
Round 1
1:
Arsenal 3 - 3 Barcelona
Barcelona 3 - 2 Arsenal
Barcelona 4 - 2 Arsenal
=> winner: Barcelona
2:
Liverpool 2 - 3 Real Madrid
Real Madrid 4 - 1 Liverpool
=> winner: Real Madrid
Round 2
1:
Barcelona 2 - 3 Real Madrid
Barcelona 2 - 2 Real Madrid
Real Madrid 3 - 2 Barcelona
=> winner: Real Madrid
Binary file modified testcase.zip
Binary file not shown.

0 comments on commit d773575

Please sign in to comment.