<?php

function header_code() {
	session_start();
	echo "<!DOCTYPE=html>";
	echo "<html>";
	echo "<head>";
	echo "<title>Super 16</title>";
	echo "<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css\" integrity=\"sha384-y3tfxAZXuh4HwSYylfB+J125MxIs6mR5FOHamPBG064zB+AFeWH94NdvaCBm8qnd\" crossorigin=\"anonymous\">";
	echo "<body>";
	
	}
	
function footer() {
	echo "</div>";
	echo "<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js\"></script>";
    echo "<script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js\" integrity=\"sha384-vZ2WRJMwsjRMW/8U7i6PWi6AlO1L79snBrmgiDpgIWJ82z8eA5lenwvxbMV1PAh7\" crossorigin=\"anonymous\"></script>";
	echo "</body>";
	echo "</html>";
		}




function initialise() {
	echo "<h2>Welcome to Super 16</h2>";
	
	$_SESSION["lives"]=5;
	$_SESSION["locations"] = array("Beer","Beer","5 pounds", "5 pounds", "20 pounds","20 pounds", "bubbly","bubbly","vodka","vodka", "quiz mug", "quiz mug", "chocolates","chocolates", "lucky dip","lucky dip");
	shuffle($_SESSION["locations"]);
	$_SESSION["status"] = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
	$_SESSION["pick"]=1;
  }

function display_cell($id) {
	echo "<div class=\"col-sm-2\">";
	if ($id==0) {
		echo ""; }
	else {	
		$status = $_SESSION["status"][$id-1];
		$prize=$_SESSION["locations"][$id-1];
		if (($status==0) and ($_SESSION["lives"]>0)) {	
			echo "<form method=\"post\">";
			echo "<input type=\"hidden\" name=\"id\" value=$id>";
			echo "<input type=\"submit\" class=\"btn btn-primary\" name=\"select\" value=$id></form>";
			}
		else {
			if ($status==2) {
				$button_class = "btn-success";}
			if ($status==1) {
				$button_class = "btn-secondary";}
			if ($status==0) {
				$button_class = "btn-danger";}
			echo "<input type=\"hidden\" name=\"id\" value=$id>";
			echo "<input type=\"submit\" class=\"btn ".$button_class."\" name=\"select\" value=$id><BR>";
			
			echo $prize; }
 	}
   echo "</div>";
 }




function display_grid() {  	
	echo "<div class=\"row\">";
	display_cell(1); 
	display_cell(2);
	display_cell(3);
	display_cell(4);
 	echo "</div>";
	echo "<div class=\"row\">";
	display_cell(0); 
	display_cell(5);
	display_cell(6);
	display_cell(7);
 	echo "</div>";
	echo "<div class=\"row\">";
	display_cell(0); 
	display_cell(8);
	display_cell(9);
	display_cell(10);
 	echo "</div>";
	echo "<div class=\"row\">";
	display_cell(0); 
	display_cell(11);
	display_cell(12);
	display_cell(13);
 	echo "</div>"; 
 	echo "<div class=\"row\">";
	display_cell(0); 
	display_cell(14);
	display_cell(15);
	display_cell(16);
 	echo "</div>";
 	
}


function restart_button() {
	echo "<P><form method=\"post\">";
	echo "<input type=\"submit\" class=\"btn btn-primary\" name=\"option\" value=\"reset\"></form></P>"; }	


function clear_previous_selections() {
		for($x = 0; $x < 16; $x++) {
			if ($_SESSION["status"][$x]==1) {
				$_SESSION["status"][$x]=0; }
		}
		}

function get_previous_selection() {
	for($x = 1; $x <= 16; $x++) {
			if ($_SESSION["status"][$x-1]==1) {
				return $x; }
		}
	return 0;
		}

function process_choice() {
	$selection = $_POST["select"];
	//echo "<BR>Selection: ".$selection;
	$item = $_SESSION["locations"][$selection-1];

	if ($_SESSION["pick"]==1) {
		clear_previous_selections();}
		
	
	if ($item == "lucky dip") {
		$_SESSION["lives"] = $_SESSION["lives"]-1;
		$_SESSION["status"][$selection-1] = 2;
		$_SESSION["pick"] = 1;}
	else {
		
		if ($_SESSION["pick"]==1) {
			$_SESSION["status"][$selection-1]=1;
			$_SESSION["pick"]=2; }
		else {
			$previous_selection = get_previous_selection();
			$previous_prize = $_SESSION["locations"][$previous_selection-1];
			//echo $previous_selection.$previous_prize.$selection.$item;
			if ($previous_prize==$item) {
				$_SESSION["status"][$previous_selection-1]=2;
				$_SESSION["status"][$selection-1]=2; }
			else {
				$_SESSION["status"][$selection-1]=1;
				$_SESSION["lives"]= $_SESSION["lives"]-1; }
			$_SESSION["pick"]=1; }
		}
		}
			
		
		
function output_status() {
	echo "pick: ".$_SESSION["pick"];
	echo " lives: ".$_SESSION["lives"];
	echo " status: ";
	print_r($_SESSION["status"]);
	echo "<BR>";
	}		
  	
header_code();  



if (empty($_SESSION)) {
	initialise(); }
elseif ($_POST["option"]=="reset") {
	initialise();
	}
else {
	//output_status();
	process_choice();	
	}

//output_status();

//print_r($_SESSION["locations"]);



$lives = $_SESSION["lives"];
if ($lives==0) {
	echo "<P>Game Over!</P>";
	restart_button();
	display_grid(); }
else {
	echo "<P>You have $lives lives remaining.</P>";
	display_grid();
	if ($_SESSION["pick"]==1) {
		echo "<P>Make your first pick?</P>";
		}
	elseif ($_SESSION["pick"]==2) {
		echo "<P>Make your second pick?</P>";
		}
	}

restart_button();
footer_code();	

?>
