So basically I am making a round robin function, for someone, basically a round robin, matches every player with every player, im having alot of trouble with this, its quite difficult
heres an example of the site i’ve been copying off (his matches are preset though)
http://www.devenezia.com/downloads/round-robin/rounds.php
My current code generates about 10 “undefineds” each launch I do
My code gets the input entered (which is the amount of players)
It generates how many players based on that input
my graph I have
is 10 columns long, and 19 rows down
I need to match player
1, vs 2 - 20,
2 vs 3 - 20,
3 vs 4 - 20,
4 vs 5 - 20
5 vs 6 - 20,
6 vs 7 - 20,
7 vs 8 - 20,
8 vs 9 - 20
9 vs 10 - 20,
etc… and repeat until player 19 players player 20, that way all players have played each other
However, I need it to appear randomly across the board, so 1 vs 3, 7 vs 9, 2 vs 20, etc… but in the end all players play all players
I need help badly with this
my code is below:
Please help, and thank you advance, i’ve spent alot of time trying to figure this out:(
(RED TEXT CAN BE IGNORED, AND IS JUST A PART OF THE FUNCTION)
function fncShuffle()
{
return Math.floor(Math.random()*3)-1;
}
function func_round_robin_set_how_many_players()
{
loop = 0;
round_robin_players = round_robin_hmp_input.text;
rrg_XBase = 0;
rrg_YBase = 0;
if (round_robin_players % 2 == 0)
{
if (player_amount > round_robin_players-1)
{
if (round_robin_players < 21)
{
if (round_robin_hmp_input.text.length > 0 && round_robin_players != 0)
{
for (var i:Number = 0; i<190; i++)
{
rr.text_field_mc* = null;
rr.text_field_mc* = createEmptyMovieClip("rr_mc"+i, i);
var new_txt_field:TextField = rr.text_field_mc*.createTextField("rr_tf", i, 0, 0, 50, 17);
rr.text_field_mc*._x = 160+(75*(rrg_XBase+1));
rr.text_field_mc*.rr_tf.text = (rrg_XBase+1+n)+" vs "+(rrg_XBase+2+n);
rr.text_field_mc*._y = 3+(25*(rrg_YBase+1));
rr.text_field_mc*.rr_tf.type = "dynamic";
rr.text_field_mc*.rr_tf.selectable = false;
rr.text_field_mc*._visible = false;
rr.text_field_mc*.onRelease = func_rr_open_profile;
if (rrg_XBase>8)
{
rrg_YBase++;
rrg_XBase = -1;
}
rrg_XBase++;
if (n>rrg_XBase-1)
{
n = -1;
}
n++;
}
// Number of times to shuffle array.
var qtyShuffle:Number = (round_robin_players-1);
// Range array -- starting number and ending number (inclusive).
var rraRange:Array = new Array(1, round_robin_players);
// Calculate delta.
var nbrLen:Number = ((rraRange[1]-rraRange[0])+1);
//trace("nbrLen: "+nbrLen);
// Initialize array to store numbers.
var rraValues:Array = new Array();
// Generate original numerically sorted array.
for (var nbrI:Number = 0; nbrI<nbrLen; nbrI++)
{
rraValues[nbrI] = nbrI+rraRange[0];
}
//trace("rraValues unshuffled: "+rraValues+"
----------------------------------");
// Loop to generate specified quantity of shuffles of array.
rrg_XBase = 0;
rrg_YBase = 0;
var temp_base:Number = new Number(0);
var min:Number = 2;
for (nbrS=0; nbrS<qtyShuffle; nbrS++)
{
rraValues.sort(fncShuffle);
rrg_XBase = 0;
rrg_YBase = 0;
for (var i:Number = 0; i<190; i++)
{
temp_base++;
if (temp_base > (player_amount-1))
{
temp_base = min;
min++;
}
rr.text_field_mc*.rr_tf.text = rraValues[rrg_XBase]+" vs "+rraValues[temp_base];
rr.text_field_int_1* = (rraValues[rrg_XBase])-1;
rr.text_field_int_2* = (rraValues[rrg_XBase+1])-1;
trace(rr.text_field_int_1*);
//trace(rraValues[rrg_XBase] + ", rrg_XBase< rrg_YBase> "+rraValues[rrg_YBase]);
if (rrg_XBase>(nbrLen-1))
{
if (rrg_YBase > (round_robin_players-2))
{
rrg_YBase = -1;
}
rrg_XBase = -1;
rrg_YBase++;
}
rrg_XBase++;
}
//trace("rraValues shuffle "+nbrS+": "+rraValues);
}
[COLOR=Red] for (var i:Number = 0; i<rr.text_field_mc.length; i++)
{
}
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
rr.text_field_mc*._visible = true;
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 2)
{
rr.text_field_mc[i+10]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 2)
{
rr.text_field_mc[i+20]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 5)
{
rr.text_field_mc[i+30]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 5)
{
rr.text_field_mc[i+40]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 7)
{
rr.text_field_mc[i+50]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 7)
{
rr.text_field_mc[i+60]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 9)
{
rr.text_field_mc[i+70]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 9)
{
rr.text_field_mc[i+80]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 11)
{
rr.text_field_mc[i+90]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 11)
{
rr.text_field_mc[i+100]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 13)
{
rr.text_field_mc[i+110]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 13)
{
rr.text_field_mc[i+120]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 15)
{
rr.text_field_mc[i+130]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 15)
{
rr.text_field_mc[i+140]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 17)
{
rr.text_field_mc[i+150]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 17)
{
rr.text_field_mc[i+160]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 19)
{
rr.text_field_mc[i+170]._visible = true;
}
loop++;
}
loop = 0;
for (var i:Number = 0; i<((round_robin_players-1)-loop); i++)
{
if (round_robin_players > 19)
{
rr.text_field_mc[i+180]._visible = true;
}
loop++;
}
mla = 0;
rla = 0;
errorbox.text = "";
sch_text._visible = true;
for (var i:Number = 0; i<round_robin_players/2; i++)
{
round_robin_match_text*._visible = true;
}
for (var i:Number = 0; i<round_robin_players-1; i++)
{
round_robin_round_text*._visible = true;
}
for (var i:Number = 0; i<round_robin_list.length; i++)
{
round_robin_list*._visible = false;
}
for (var i:Number = 0; i<round_robin_players/2; i++)
{
match_lines*._visible = true;
mla++;
}
for (var i:Number = 0; i<round_robin_players-1; i++)
{
round_lines*._visible = true;
rla++;
round_lines*._width = 140 * (round_robin_players/2) - ((mla-1) * 64.7);
}
for (var i:Number = 0; i<round_robin_players/2; i++)
{
match_lines*._height = 26.5 * (round_robin_players-1) - ((rla-1) * 1.7);
}
}
else
{
errorbox.text = "Please enter a value greater than 0";
}
}
else
{
errorbox.text = "Enter a value no greater than 20";
}
}
else
{
errorbox.text = "You must have atleast "+round_robin_players+" profiles to setup match play for "+round_robin_players+" players";
}
}
else
{
errorbox.text = "Please enter an even number";
}[/COLOR]
}