Brackets, Byes, Seeds

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
User avatar
xisle
Forum Contributor
Posts: 249
Joined: Wed Jun 25, 2003 1:53 pm

Brackets, Byes, Seeds

Post by xisle »

this took a while to get straight so I am posting it to possibly save you time if the need should come up.

We are working with a standard set of matchups based on 8 preliminary games and 16 seeds (one side of a 32 team bracket, if you follow), and editing based on byes and preliminary round..

P arrays are preliminary games, G1 - G4 are quarterfinals, G5 and G6 are semifinals, # sign indicates seed. $Bye array simply traps byes for later use.

The code requires input of total preliminary matchups ($prelims)
and if zero prelims with less than 8 teams playing pass ($teamcount)

Yes it could be tighter, but under a deadline this is the best I could come up with -- have at it and make it better!



Code: Select all

// possible prelim matches
					$P1 = array("#9", "#8");
					$P2 = array("#10", "#7");
					$P3 = array("#11", "#6");
					$P4 = array("#12", "#5");
					$P5 = array("#13", "#4");
					$P6 = array("#14", "#3");
					$P7 = array("#15", "#2");
					$P8 = array("#16", "#1");
					
					// standard remaining games, changes as prelim count changes
					$G1 = array("P1 winner", "P8 winner");
					$G2 = array("P4 winner", "P5 winner");
					$G3 = array("P3 winner", "P6 winner");
					$G4 = array("P2 winner", "P7 winner");
					$G5 = array("G2 winner", "G1 winner");
					$G6 = array("G3 winner", "G4 winner");
					$G7 = array("G5 winner", "G6 winner");			 
								
					// drop prelims as necessary, edit matchups with byes
					switch ($prelims){
					
					   case 7:
						  unset($P8);
						  $G1[1] = "#1"; // seed#1 bye
						  $bye[] = "#1";
						  break;
	 
					   case 6:
						  unset($P8);
						  unset($P7);
						  $G1[1] = "#1"; // seed#1 bye
						  $bye[] = "#1";
						  $G4[1] = "#2"; // seed#2 bye
						  $bye[] = "#2";
						  break;
	 
					   case 5:
						  unset($P8);
						  unset($P7);
						  unset($P6);
						  $G1[1] = "#1"; // seed#1 bye
						  $bye[] = "#1";
						  $G4[1] = "#2"; // seed#2 bye
						  $bye[] = "#2";
						  $G3[1] = "#3"; // seed#3 bye
						  $bye[] = "#3";
						  break;						   				 
	 
					   case 4:
						  unset($P8);
						  unset($P7);
						  unset($P6);
						  unset($P5);
						  $G1[1] = "#1"; // seed#1 bye
						  $bye[] = "#1";
						  $G4[1] = "#2"; // seed#2 bye
						  $bye[] = "#2";
						  $G3[1] = "#3"; // seed#3 bye
						  $bye[] = "#3";						  
						  $G2[1] = "#4"; // seed#4 bye
						  $bye[] = "#4";
						  break;	
						  
					   case 3:
						  unset($P8);
						  unset($P7);
						  unset($P6);
						  unset($P5);
						  unset($P4);
						  $G1[1] = "#1"; // seed#1 bye
						  $bye[] = "#1";
						  $G4[1] = "#2"; // seed#2 bye
						  $bye[] = "#2";
						  $G3[1] = "#3"; // seed#3 bye
						  $bye[] = "#3";						  
						  $G2[1] = "#4"; // seed#4 bye
						  $bye[] = "#4";						  
						  $G2[0] = "#5"; // seed#5 bye
						  $bye[] = "#5";
						  break;							   
						  
					   case 2:
						  unset($P8);
						  unset($P7);
						  unset($P6);
						  unset($P5);
						  unset($P4);
						  unset($P3);
						  $G1[1] = "#1"; // seed#1 bye
						  $bye[] = "#1";
						  $G4[1] = "#2"; // seed#2 bye
						  $bye[] = "#2";
						  $G3[1] = "#3"; // seed#3 bye
						  $bye[] = "#3";						  
						  $G2[1] = "#4"; // seed#4 bye
						  $bye[] = "#4";						  
						  $G2[0] = "#5"; // seed#5 bye
						  $bye[] = "#5";
						  $G3[0] = "#6"; // seed#6 bye
						  $bye[] = "#6";
					 
						  break;
						  
					   case 1:
						  unset($P8);
						  unset($P7);
						  unset($P6);
						  unset($P5);
						  unset($P4);
						  unset($P3);
						  unset($P2);
						  $G1[1] = "#1"; // seed#1 bye
						  $bye[] = "#1";
						  $G4[1] = "#2"; // seed#2 bye
						  $bye[] = "#2";
						  $G3[1] = "#3"; // seed#3 bye
						  $bye[] = "#3";						  
						  $G2[1] = "#4"; // seed#4 bye
						  $bye[] = "#4";						  
						  $G2[0] = "#5"; // seed#5 bye
						  $bye[] = "#5";
						  $G3[0] = "#6"; // seed#6 bye
						  $bye[] = "#6";
						  $G4[0] = "#7"; // seed#7 bye
						  $bye[] = "#7";
						 
						  break;							   
	 
					   case 0:
						  unset($P8);
						  unset($P7);
						  unset($P6);
						  unset($P5);
						  unset($P4);
						  unset($P3);
						  unset($P2);
						  unset($P1);
						  
						  // these are the exceptions when less than 8 play
						  if($teamcount == "8"){
							 $G1[1] = "#1"; // seed#1 bye
							 $bye[] = "#1";
							 $G4[1] = "#2"; // seed#2 bye
							 $bye[] = "#2";
							 $G3[1] = "#3"; // seed#3 bye
							 $bye[] = "#3";						  
							 $G2[1] = "#4"; // seed#4 bye
							 $bye[] = "#4";						  
							 $G2[0] = "#5"; // seed#5 bye
							 $bye[] = "#5";
							 $G3[0] = "#6"; // seed#6 bye
							 $bye[] = "#6";
							 $G4[0] = "#7"; // seed#7 bye
							 $bye[] = "#7";						  
							 $G1[0] = "#8"; // seed#8 bye
							 $bye[] = "#8";
						  }
						  elseif($teamcount == "7"){
							 $G4 = array("G1 winner", "#1"); // seed#1 bye
							 $bye[] = "#1";
							 $G3[1] = "#2"; // seed#2 bye
							 $bye[] = "#2";
							 $G2[1] = "#3"; // seed#3 bye
							 $bye[] = "#3";						  
							 $G1[1] = "#4"; // seed#4 bye
							 $bye[] = "#4";						  
							 $G1[0] = "#5"; // seed#5 bye
							 $bye[] = "#5";
							 $G2[0] = "#6"; // seed#6 bye
							 $bye[] = "#6";
							 $G3[0] = "#7"; // seed#7 bye
							 $bye[] = "#7";
							 $G5 = array("G2 winner", "G3 winner");
							 $G6 = array("G4 winner", "G5 winner");						  
							 unset($G7);
						  }					  
						  elseif($teamcount == "6"){
							 $G3 = array("G1 winner", "#1"); // seed#1 bye
							 $bye[] = "#1";
							 $G4 = array("G2 winner", "#2"); // seed#2 bye
							 $bye[] = "#2";
							 $G2[1] = "#3"; // seed#3 bye
							 $bye[] = "#3";						  
							 $G1[1] = "#4"; // seed#4 bye
							 $bye[] = "#4";						  
							 $G1[0] = "#5"; // seed#5 bye
							 $bye[] = "#5";
							 $G2[0] = "#6"; // seed#6 bye
							 $bye[] = "#6";
							 $G5 = array("G3 winner", "G4 winner");
							 unset($G6);
							 unset($G7);
						  }						  
						  elseif($teamcount == "5"){
							 $G2 = array("G1 winner", "#1"); // seed#1 bye
							 $bye[] = "#1";
							 $G3[1] = "#2"; // seed#2 bye
							 $bye[] = "#2";
							 $G3[0] = "#3"; // seed#3 bye
							 $bye[] = "#3";						  
							 $G1[1] = "#4"; // seed#4 bye
							 $bye[] = "#4";						  
							 $G1[0] = "#5"; // seed#5 bye
							 $bye[] = "#5";
							 $G4 = array("G2 winner", "G3 winner");
							 unset($G5);
							 unset($G6);
							 unset($G7);

						  }	
						  						  
						  break;
}
[/size]
Post Reply