Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $servername = "localhost";
- $username = "root";
- $password = "root";
- $dbname = "testing";
- $conn = new mysqli($servername, $username, $password, $dbname);
- //builtteam object
- $infoArray = new stdClass();
- $infoArray->defs = [98, 34, 101, 97, 138];
- $infoArray->fwds = [212, 25, 92];
- $infoArray->gk = [260, 74];
- $infoArray->mid = [16, 228, 409, 454, 453];
- $totalMoney = 100;
- //pickteam object
- $maininfoArray = new stdClass();
- $maininfoArray->defs = [98, 34, 101, 97];
- $maininfoArray->fwds = [212, 92];
- $maininfoArray->gk = [74];
- $maininfoArray->mid = [16, 409, 454, 453];
- $captain_id = 74;
- $vice_captain_id = 453;
- $totalMoney = 100;
- function getAllSubstitutesIds ($buildTeam, $pickedTeam) {
- $allSubIds = array();
- if($buildTeam && $pickedTeam) {
- $subDef = array_diff($buildTeam->defs, $pickedTeam->defs);
- $subFwds = array_diff($buildTeam->fwds, $pickedTeam->fwds);
- $subMid = array_diff($buildTeam->mid, $pickedTeam->mid);
- $subGk = array_diff($buildTeam->gk, $pickedTeam->gk);
- $allSubIds = array_merge($subDef,$subFwds, $subMid, $subGk);
- }
- return $allSubIds;
- }
- function getAllSubstitutesIdsExceptGoalkeeper ($buildTeam, $pickedTeam) {
- $allSubIds = array();
- if($buildTeam && $pickedTeam) {
- $subDef = array_diff($buildTeam->defs, $pickedTeam->defs);
- $subFwds = array_diff($buildTeam->fwds, $pickedTeam->fwds);
- $subMid = array_diff($buildTeam->mid, $pickedTeam->mid);
- $allSubIds = array_merge($subDef,$subFwds, $subMid);
- }
- return $allSubIds;
- }
- function getSubGoalkeeper ($buildTeam, $pickedTeam) {
- $subGk = array();
- if($buildTeam && $pickedTeam) {
- $subGk = array_diff($buildTeam->gk, $pickedTeam->gk);
- }
- return $subGk;
- }
- function checkPlayerHasPlayed($playtime) {
- $playerHasPlayed = false;
- if($playtime > 0) {
- $playerHasPlayed = true;
- }
- return $playerHasPlayed;
- }
- function isCaptain($playerId, $captain_id) {
- if($playerId == $captain_id)
- return true;
- else
- return false;
- }
- function isViceCaptain($playerId, $vice_captain_id) {
- if($playerId == $vice_captain_id)
- return true;
- else
- return false;
- }
- function getPointFromSubstitutePlayer($buildTeam, $pickedTeam, $allData, $count ) {
- $pointsArray = array();
- if($count > 0) {
- $subPlayers = getAllSubstitutesIds($buildTeam, $pickedTeam);
- $subPlayersWithInfo = array();
- foreach ($subPlayers as $key => $id) {
- $key = array_search($id, array_column($allData, 'player_id'));
- if($allData[$key]) {
- $subPlayersWithInfo = $allData[$key];
- if(checkPlayerHasPlayed($subPlayersWithInfo['playing_time'])) {
- array_push($pointsArray, $subPlayersWithInfo['player_point']);
- if(count($pointsArray) > $count) {
- break;
- }
- }
- }
- }
- }
- return $pointsArray;
- }
- // $availabLeBalance = calculateInitialAvailableBalance($infoArray, $conn, $totalMoney) {;
- function genratePointsInfoArray($allData, $buildTeamArry,$pickedTeamArray, $gameWeekArray , $captain_id, $vice_captain_id) {
- $pointFinalArrayStructure = array();
- $totalPointArray = array();
- $subsPointCount = 0;
- $pointArray = array();
- $metadata = array(
- 'pickedTeam' =>array (
- 'defs' =>array(),
- 'mid' =>array(),
- 'fwds' =>array(),
- 'gk' =>array()
- ),
- 'subs' => array(),
- 'subGk' => array()
- );
- $availableBalance = 0;
- $subIds = getAllSubstitutesIdsExceptGoalkeeper($buildTeamArry, $pickedTeamArray);
- $gkId = getSubGoalkeeper($buildTeamArry, $pickedTeamArray);
- foreach($gameWeekArray as $key => $gameweek){
- foreach ($allData as $key => $row) {
- $playtime = $row['playing_time'];
- $playerId = $row['player_id'];
- $playerPoint = $row['player_point'];
- foreach($buildTeamArry as $key => $value) {
- if(in_array($playerId, $value)){
- $player['id'] = $playerId;
- $player['points'] = (float) $playerPoint;
- if(isCaptain($playerId, $captain_id)) {
- $player['is_captain'] = true;
- $player['points'] = $player['points'] * 2;
- }
- else {
- $player['captain'] = false;
- }
- if(isViceCaptain($playerId, $vice_captain_id)){
- $player['is_vice_captain'] = true;
- $player['points'] = $player['points'] * 1.5;
- }
- else {
- $player['is_vice_captain'] = false;
- }
- $substitute = false;
- if(in_array($playerId, $subIds)) {
- array_push($metadata['subs'], $player);
- $substitute = true;
- }
- elseif(in_array($playerId, $gkId)) {
- array_push($metadata['subGk'], $player);
- $substitute = true;
- }
- else
- array_push($metadata['pickedTeam'][$key], $player);
- $playerHasPlayed = checkPlayerHasPlayed($playtime);
- if($playerHasPlayed && !$substitute) {
- array_push($pointArray, $player['points']);
- }
- else if(!$playerHasPlayed && !$substitute) {
- $subsPointCount++ ;
- }
- }
- }
- }
- $subPointArr = getPointFromSubstitutePlayer($buildTeamArry, $pickedTeamArray, $allData ,$subsPointCount);
- $gameWeekPointArr =array_merge($pointArray, $subPointArr);
- $metadata['point'] = array_sum($gameWeekPointArr);
- array_push($totalPointArray, $metadata['point']);
- $metadata['game_week'] = $gameweek;
- array_push($pointFinalArrayStructure, $metadata);
- }
- $pointFinalArrayStructure['totalPoints'] = array_sum($totalPointArray);
- $pointFinalArrayStructure['teamName'] = 'Royal Challengers Banglore';
- echo json_encode($pointFinalArrayStructure);
- }
- function calculateInitialAvailableBalance($allData, $buildTeamArry, $totalMoney) {
- $totalPlayerCost = 0;
- $availableBalance = 0;
- foreach ($allData as $key => $row) {
- $playerCost = $row["player_cost"];
- $playerId = $row['player_id'];
- foreach($buildTeamArry as $key => $value) {
- if(in_array($playerId, $value)){
- $totalPlayerCost += (float) $playerCost;
- }
- }
- }
- $availableBalance = $totalMoney - $totalPlayerCost;
- return $availableBalance;
- }
- $sqlSel = "select * from players where game_week = 1";
- $results = $conn->query($sqlSel);
- $allData = mysqli_fetch_all ($results, MYSQLI_ASSOC);
- genratePointsInfoArray($allData, $infoArray, $maininfoArray, $gameWeek = array(1), $captain_id, $vice_captain_id);
- calculateInitialAvailableBalance($allData, $infoArray, 100)
- ?>
- <?php
- $servername = "localhost";
- $username = "root";
- $password = "root";
- $dbname = "testing";
- $conn = new mysqli($servername, $username, $password, $dbname);
- //builtteam object
- $infoArray = new stdClass();
- $infoArray->defs = [98, 34, 101, 97, 138];
- $infoArray->fwds = [212, 25, 92];
- $infoArray->gk = [260, 74];
- $infoArray->mid = [16, 228, 409, 454, 453];
- $totalMoney = 100;
- //pickteam object
- $maininfoArray = new stdClass();
- $maininfoArray->defs = [98, 34, 101, 97];
- $maininfoArray->fwds = [212, 92];
- $maininfoArray->gk = [74];
- $maininfoArray->mid = [16, 409, 454, 453];
- $captain_id = 74;
- $vice_captain_id = 453;
- $totalMoney = 100;
- function getAllSubstitutesIds ($buildTeam, $pickedTeam) {
- $allSubIds = array();
- if($buildTeam && $pickedTeam) {
- $subDef = array_diff($buildTeam->defs, $pickedTeam->defs);
- $subFwds = array_diff($buildTeam->fwds, $pickedTeam->fwds);
- $subMid = array_diff($buildTeam->mid, $pickedTeam->mid);
- $subGk = array_diff($buildTeam->gk, $pickedTeam->gk);
- $allSubIds = array_merge($subDef,$subFwds, $subMid, $subGk);
- }
- return $allSubIds;
- }
- function getAllSubstitutesIdsExceptGoalkeeper ($buildTeam, $pickedTeam) {
- $allSubIds = array();
- if($buildTeam && $pickedTeam) {
- $subDef = array_diff($buildTeam->defs, $pickedTeam->defs);
- $subFwds = array_diff($buildTeam->fwds, $pickedTeam->fwds);
- $subMid = array_diff($buildTeam->mid, $pickedTeam->mid);
- $allSubIds = array_merge($subDef,$subFwds, $subMid);
- }
- return $allSubIds;
- }
- function getSubGoalkeeper ($buildTeam, $pickedTeam) {
- $subGk = array();
- if($buildTeam && $pickedTeam) {
- $subGk = array_diff($buildTeam->gk, $pickedTeam->gk);
- }
- return $subGk;
- }
- function checkPlayerHasPlayed($playtime) {
- $playerHasPlayed = false;
- if($playtime > 0) {
- $playerHasPlayed = true;
- }
- return $playerHasPlayed;
- }
- function isCaptain($playerId, $captain_id) {
- if($playerId == $captain_id)
- return true;
- else
- return false;
- }
- function isViceCaptain($playerId, $vice_captain_id) {
- if($playerId == $vice_captain_id)
- return true;
- else
- return false;
- }
- function getPointFromSubstitutePlayer($buildTeam, $pickedTeam, $allData, $count ) {
- $pointsArray = array();
- if($count > 0) {
- $subPlayers = getAllSubstitutesIds($buildTeam, $pickedTeam);
- $subPlayersWithInfo = array();
- foreach ($subPlayers as $key => $id) {
- $key = array_search($id, array_column($allData, 'player_id'));
- if($allData[$key]) {
- $subPlayersWithInfo = $allData[$key];
- if(checkPlayerHasPlayed($subPlayersWithInfo['playing_time'])) {
- array_push($pointsArray, $subPlayersWithInfo['player_point']);
- if(count($pointsArray) > $count) {
- break;
- }
- }
- }
- }
- }
- return $pointsArray;
- }
- // $availabLeBalance = calculateInitialAvailableBalance($infoArray, $conn, $totalMoney) {;
- function genratePointsInfoArray($allData, $buildTeamArry,$pickedTeamArray, $gameWeekArray , $captain_id, $vice_captain_id) {
- $pointFinalArrayStructure = array();
- $totalPointArray = array();
- $subsPointCount = 0;
- $pointArray = array();
- $metadata = array(
- 'pickedTeam' =>array (
- 'defs' =>array(),
- 'mid' =>array(),
- 'fwds' =>array(),
- 'gk' =>array()
- ),
- 'subs' => array(),
- 'subGk' => array()
- );
- $availableBalance = 0;
- $subIds = getAllSubstitutesIdsExceptGoalkeeper($buildTeamArry, $pickedTeamArray);
- $gkId = getSubGoalkeeper($buildTeamArry, $pickedTeamArray);
- foreach($gameWeekArray as $key => $gameweek){
- foreach ($allData as $key => $row) {
- $playtime = $row['playing_time'];
- $playerId = $row['player_id'];
- $playerPoint = $row['player_point'];
- foreach($buildTeamArry as $key => $value) {
- if(in_array($playerId, $value)){
- $player['id'] = $playerId;
- $player['points'] = (float) $playerPoint;
- if(isCaptain($playerId, $captain_id)) {
- $player['is_captain'] = true;
- $player['points'] = $player['points'] * 2;
- }
- else {
- $player['captain'] = false;
- }
- if(isViceCaptain($playerId, $vice_captain_id)){
- $player['is_vice_captain'] = true;
- $player['points'] = $player['points'] * 1.5;
- }
- else {
- $player['is_vice_captain'] = false;
- }
- $substitute = false;
- if(in_array($playerId, $subIds)) {
- array_push($metadata['subs'], $player);
- $substitute = true;
- }
- elseif(in_array($playerId, $gkId)) {
- array_push($metadata['subGk'], $player);
- $substitute = true;
- }
- else
- array_push($metadata['pickedTeam'][$key], $player);
- $playerHasPlayed = checkPlayerHasPlayed($playtime);
- if($playerHasPlayed && !$substitute) {
- array_push($pointArray, $player['points']);
- }
- else if(!$playerHasPlayed && !$substitute) {
- $subsPointCount++ ;
- }
- }
- }
- }
- $subPointArr = getPointFromSubstitutePlayer($buildTeamArry, $pickedTeamArray, $allData ,$subsPointCount);
- $gameWeekPointArr =array_merge($pointArray, $subPointArr);
- $metadata['point'] = array_sum($gameWeekPointArr);
- array_push($totalPointArray, $metadata['point']);
- $metadata['game_week'] = $gameweek;
- array_push($pointFinalArrayStructure, $metadata);
- }
- $pointFinalArrayStructure['totalPoints'] = array_sum($totalPointArray);
- $pointFinalArrayStructure['teamName'] = 'Royal Challengers Banglore';
- return $pointFinalArrayStructure;
- }
- function calculateInitialAvailableBalance($allData, $buildTeamArry, $totalMoney) {
- $totalPlayerCost = 0;
- $availableBalance = 0;
- foreach ($allData as $key => $row) {
- $playerCost = $row["player_cost"];
- $playerId = $row['player_id'];
- foreach($buildTeamArry as $key => $value) {
- if(in_array($playerId, $value)){
- $totalPlayerCost += (float) $playerCost;
- }
- }
- }
- $availableBalance = $totalMoney - $totalPlayerCost;
- return $availableBalance;
- }
- $sqlSel = "select * from players where game_week = 1";
- $results = $conn->query($sqlSel);
- $allData = mysqli_fetch_all ($results, MYSQLI_ASSOC);
- genratePointsInfoArray($allData, $infoArray, $maininfoArray, $gameWeek = array(1), $captain_id, $vice_captain_id);
- calculateInitialAvailableBalance($allData, $infoArray, 100)
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement