public static function play($game, $arrNextStep) { // DAG UPDATE $dag = $game->dag; $id = $game->id; $dag += 1; GameDAO::updatedate($id, $dag); // VERWIJDER OPGEGETEN foreach ($_SESSION['verwijderd'] as $verwijder) { organismeservice::deleteOrganisme($verwijder); } $arrDBorganismen = organismeservice::getAllOrganismen($game->id); $totaal = $game->grootte * $game->grootte; $teller = 0; foreach ($arrNextStep as $organisme) { if ($teller < $totaal) { foreach ($arrDBorganismen as $dborganisme) { if ($organisme->id == $dborganisme->id) { OrganismeDAO::updateOrganisme($organisme); } } if ($organisme->id == 0) { organismeservice::createOrganisme($organisme->soort, $organisme->kracht, $organisme->kolom, $organisme->rij, $organisme->gameid); } } $teller = $teller + 1; } }
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, intitial-scale=1.0"> <?php $autoplay = "nextstep=true&autoplay=refresh"; $autoplaybutton = "refresh"; $game = GameDAO::getGameFromId($_GET["game"]); $grootte = $game->grootte; $dag = $game->dag; $arrPrev = $arrGameOrganismen; $teller = count($arrPrev); $vol = $grootte * $grootte; $nextday = true; if ($teller == $vol) { $nextday = false; } if (isset($_GET['autoplay']) && isset($_GET['game'])) { if ($_GET['autoplay'] == "refresh") { $autoplay = "autoplay=stop"; $autoplaybutton = "stop"; if ($nextday) { print "<meta http-equiv='refresh' content='1'>"; } } } ?> <title>Scrum project in Bootstrap</title> <link rel="stylesheet" type="text/css" href="css/matrix.css" />
/** * * @param <GameProgress> $gameProgress * @return <GameResponse> */ public function grantShareProgress($gameProgress) { $gameResponse = new GameProgressResponse(); settype($gameProgress, "object"); settype($gameProgress, "object"); settype($gameProgress->friend, "object"); settype($gameProgress->csp, "object"); settype($gameProgress->csp->user, "object"); settype($gameProgress->csp->artifact, "object"); settype($gameProgress->progressType, "object"); settype($gameProgress->friend->user, "object"); $currentUserGameProfile = $_SESSION['game_profile']; $gameResponse->currentSearchParty = $gameProgress->csp; $artifactUtil = new ArtifactUtil(); $artifact = $gameProgress->csp->artifact; if ($artifactUtil->isArtifactActive($artifact) == 0) { //artifact is in active $gameResponse->isSomebodyGetArtifact = true; return $gameResponse; } $gameUtil = new GameUtil(); //checking weather the person have sufficient money to buy or not if (!$gameUtil->validShare($currentUserGameProfile, $gameProgress)) { return null; } $gameDao = new GameDAO(); $progress = $gameDao->getShareProgress($currentUserGameProfile, $gameProgress); $progress = (int) $progress; $gameProgress->csp->progress += $progress; if ($progress == 0) { //dont update } else { //update and it will always happen as progress will b greater than zero $currentSearchPartyUtil = new CurrentSearchPartyUtil(); $updatedSearchParty = $currentSearchPartyUtil->updateCurrentSearchPartyProgress($gameProgress->csp); if ($updatedSearchParty == null) { //some body already get the artifact $gameResponse->isSomebodyGetArtifact = true; return $gameResponse; } else { $gameResponse->isSomebodyGetArtifact = false; } } $gameResponse->percentObjtained = $progress; if ($gameProgress->csp->progress >= 100) { $gameUtil = new GameUtil(); $gameUtilRes = $gameUtil->obtainArtifact($gameProgress->csp, $currentUserGameProfile); $updatedGameProfile = $gameUtilRes[1]; $gameResponse->updatedGameProfile = $updatedGameProfile; $gameResponse->artifact = $gameUtilRes[0]; $gameResponse->isActifactObtained = true; } return $gameResponse; }
/** * * @param <User> $user * @return <GameProfile> */ public function getGameProfile(User $user) { $gameDAO = new GameDAO(); return $gameDAO->getGameProfile($user); }
public static function nextStep($arrPrevStep) { // GEGEVENS OPHALEN VAN DE GAME $game = GameDAO::getGameFromId($arrPrevStep[0]->gameid); $grootte = $game->grootte; $arrNextStep = array(); $arrVerwijderd = array(); $arrNewBorn = array(); $arrPrevStep = gameService::sortArray($arrPrevStep); // IEDERE ORGANISME UIT DE ARRAY OVERLOPEN foreach ($arrPrevStep as $prevOrganisme) { if (!in_array($prevOrganisme, $arrVerwijderd)) { $prevOrganismeRechts = organismeservice::checkPositionInArray($prevOrganisme->kolom + 1, $prevOrganisme->rij, $arrPrevStep); /* * *********** ALS ER RECHTS NIETS STAAT ********** */ if ($prevOrganismeRechts == false && $prevOrganisme->soort > 1) { // ALS HET ORGANISME TEGEN DE RAND STAAT if ($prevOrganisme->kolom == $grootte) { $nextOrganisme = new Organisme($prevOrganisme->id, $prevOrganisme->soort, $prevOrganisme->kracht, $prevOrganisme->kolom, $prevOrganisme->rij, $prevOrganisme->gameid); } // ALS HET ORGANISME NIET TEGEN DE RAND STAAT if ($prevOrganisme->kolom < $grootte) { // BEWEEG NAAR EEN ANDERE POSITIE $movedOrganisme = gameService::moveRandom($prevOrganisme, $arrPrevStep, $arrNextStep, $grootte); $nextOrganisme = new Organisme($prevOrganisme->id, $prevOrganisme->soort, $prevOrganisme->kracht, $movedOrganisme->kolom, $movedOrganisme->rij, $prevOrganisme->gameid); } } /* * *********** ALS ER RECHTS WEL IETS STAAT ********** */ if ($prevOrganismeRechts != false && $prevOrganisme->soort > 1) { // ALS HET ORGANISME 1 LVL STERKER IS DAN RECHTS if ($prevOrganisme->soort == $prevOrganismeRechts->soort + 1) { // OPETEN array_push($arrVerwijderd, $prevOrganismeRechts); $nextOrganisme = new Organisme($prevOrganisme->id, $prevOrganisme->soort, $prevOrganisme->kracht + 1, $prevOrganisme->kolom + 1, $prevOrganisme->rij, $prevOrganisme->gameid); } // ALS HET ORGANISME DEZELFDE STERKTE HEEFT ALS RECHTS if ($prevOrganisme->soort == $prevOrganismeRechts->soort) { // IS SOORT = 2 if ($prevOrganisme->soort == 2) { // KIND MAKEN array_push($arrNewBorn, new Organisme(0, 2, 1, 0, 0, $prevOrganisme->gameid)); $nextOrganisme = new Organisme($prevOrganisme->id, $prevOrganisme->soort, $prevOrganisme->kracht, $prevOrganisme->kolom, $prevOrganisme->rij, $prevOrganisme->gameid); } // IS SOORT = 3 if ($prevOrganisme->soort == 3) { // VECHTEN if ($prevOrganisme->kracht > $prevOrganismeRechts->kracht) { // OPETEN array_push($arrVerwijderd, $prevOrganismeRechts); $nextOrganisme = new Organisme($prevOrganisme->id, $prevOrganisme->soort, $prevOrganisme->kracht + 1, $prevOrganisme->kolom + 1, $prevOrganisme->rij, $prevOrganisme->gameid); } if ($prevOrganisme->kracht = $prevOrganismeRechts->kracht) { // BLIJVEN STAAN $nextOrganisme = new Organisme($prevOrganisme->id, $prevOrganisme->soort, $prevOrganisme->kracht, $prevOrganisme->kolom, $prevOrganisme->rij, $prevOrganisme->gameid); } } } // ALS HET ORGANISME ZWAKKER IS DAN RECHTS OF MEER DAN 1 LVL STERKER IS DAN RECHTS if ($prevOrganisme->soort < $prevOrganismeRechts->soort || $prevOrganisme->soort > $prevOrganismeRechts->soort + 1) { // blijven staan $nextOrganisme = new Organisme($prevOrganisme->id, $prevOrganisme->soort, $prevOrganisme->kracht, $prevOrganisme->kolom, $prevOrganisme->rij, $prevOrganisme->gameid); } } /* * *********** ALS HET ORGANISME EEN PLANT IS *********** */ if ($prevOrganisme->soort == 1) { $nextOrganisme = new Organisme($prevOrganisme->id, $prevOrganisme->soort, $prevOrganisme->kracht, $prevOrganisme->kolom, $prevOrganisme->rij, $prevOrganisme->gameid); } if (count($arrNextStep) < $grootte * $grootte) { array_push($arrNextStep, $nextOrganisme); } } } // ALLE NIEUWE ORGANISMEN TOEVOEGEN AAN ARRAY foreach ($arrNewBorn as $new) { if (count($arrNextStep) < $grootte * $grootte) { $arrNextStep = gameService::addToArray($new->soort, $arrNextStep, 1, $grootte, $new->gameid); } } // NIEUWE PLANTEN TOEVOEGEN AAN ARRAY if (count($arrNextStep) < $grootte * $grootte) { $arrNextStep = gameService::addToArray(1, $arrNextStep, rand(2, 3), $grootte, $game->id); } $_SESSION['verwijderd'] = $arrVerwijderd; return $arrNextStep; }
// CHECK FOR POST if (isset($_POST["grootte"])) { gameService::initNewGame($_POST["grootte"]); header('Location:index.php'); die; } // MAAK GAMELIJST AAN $gamelijst = gameService::getAllGames(); if (!isset($_GET['page']) && !isset($_GET['game'])) { include 'presentation/homepage.php'; } if (isset($_GET['nextstep']) && isset($_GET['game'])) { if (isset($_SESSION['nextStep'])) { $game = GameDAO::getGameFromId($_GET['game']); playservice::play($game, $_SESSION['nextStep']); } } if (isset($_GET['game'])) { $game = GameDAO::getGameFromId($_GET['game']); if (isset($game)) { $arrGameOrganismen = organismeservice::getAllOrganismen($_GET['game']); include 'presentation/game.php'; } if (!isset($game)) { $error = "<h3>Game " . $_GET['game'] . " bestaat niet meer.</h3>Selecteer een andere of start een nieuwe game."; include 'presentation/homepage.php'; } } if (isset($_GET['page'])) { include 'presentation/' . $_GET['page'] . '.php'; }