
-----------------------------------
l0tt0
Thu Dec 04, 2003 10:56 pm

Tournament Help
-----------------------------------
Hey Everyone, I made this tournament code for my site to find out who's where in the tournament. I haven't learned how to do tony's proc to check to make sure two numbers are the same so i just used the big exit when line. What i want to know is if there's anyway to amke it run faster besides a better system of making sure no matches are the same?

Thanks.



 var l: array 1..8 of int       % First Set Of Numbers
 var r: array 1..8 of int       % Second Set Of Numbers
 var n: array 1..16 of string   % Name Of People Competing In Tournament

 
for x: 1..16                    % Getting The Names of People In The Tournament
    put "Please enter a name in the tournament(",x,")"
    get n(x)
end for 
 
  
loop    
    cls
    for z: 1..8
        l(z):=Rand.Int(1,8)    % First Set Of Random Numbers
        r(z):=Rand.Int(1,8)    % Second Set Of Random Numbers
    end for
    
exit when l(1) not=l(2) and l(1) not=l(3) and l(1) not=l(4) and l(1) not=l(5) and l(1) not=l(6) and l(1) not=l(7) and l(1) not=l(8)
     and  l(2) not=l(3) and l(2) not=l(4) and l(2) not=l(5) and l(2) not=l(6) and l(2) not=l(7) and l(2) not=l(8)
     and  l(3) not=l(4) and l(3) not=l(5) and l(3) not=l(6) and l(3) not=l(7) and l(3) not=l(8)
     and  l(4) not=l(5) and l(4) not=l(6) and l(4) not=l(7) and l(4) not=l(8)
     and  l(5) not=l(6) and l(5) not=l(7) and l(5) not=l(8)
     and  l(6) not=l(7) and l(6) not=l(8)
     and  l(7) not=l(8)     
     and  r(1) not=r(2) and r(1) not=r(3) and r(1) not=r(4) and r(1) not=r(5) and r(1) not=r(6) and r(1) not=r(7) and r(1) not=r(8)
     and  r(2) not=r(3) and r(2) not=r(4) and r(2) not=r(5) and r(2) not=r(6) and r(2) not=r(7) and r(2) not=r(8)
     and  r(3) not=r(4) and r(3) not=r(5) and r(3) not=r(6) and r(3) not=r(7) and r(3) not=r(8)
     and  r(4) not=r(5) and r(4) not=r(6) and r(4) not=r(7) and r(4) not=r(8)
     and  r(5) not=r(6) and r(5) not=r(7) and r(5) not=r(8)
     and  r(6) not=r(7) and r(6) not=r(8)
     and  r(7) not=r(8)     
end loop

for a: 1..8
    put n(a),"-",l(a)         % Displays First 1-8 Names With Number
end for

for b: 1..8
    put n(b+8),"-",r(b)       % Displays Second Set of Names With Number
end for



-----------------------------------
Tony
Thu Dec 04, 2003 11:53 pm


-----------------------------------
:shock:

wow man... could you do yourself a favor and take Data Managment in grade 12?

When generating 8 random numbers (from 1 to 8), what are the chances of them to generate an unique list?

well chances of first to not repeat are 1/1
second - 7/8
third - 6/8
...
eighth - 1/8...

multiply all those numbers together... you get 0.0025

they translate into 1:400 odds of you generating a unique list :roll:

-----------------------------------
l0tt0
Sun Dec 07, 2003 11:59 pm


-----------------------------------
huh?

im only in grade 10...but i think i understand what u said...almost

taht there's practically no chance of gettin those numbers...?

-----------------------------------
DanShadow
Mon Dec 08, 2003 12:06 am

..
-----------------------------------
ok....is this code s upposed to go through long random pointless (algorithyms) to find 1 person from each list to go against each other in a tournament? If so, its so much easier that that.

var tournlist_1,tournlist_2:array 1..20 of int 
var tourn_num1,tourn_num2:int:=1
randint(tourn_num1,1,20)
randint(tourn_num2,1,20)
put tournlist_1(tourn_num1)
put "faces off against"
put tournlist_2(tourn_num2)

Just ask for the names of the tournament people under the variables.
Hopefully I understood what your program was doing. (Maybe make a couple comments?)

-----------------------------------
AsianSensation
Mon Dec 08, 2003 12:09 am


-----------------------------------
but with your code, a person could go against him or herself.

Also, in a tournament, I think you only play each person once. Or something like that, so a bit of math is involved. just use the stuff you learned in data management.

-----------------------------------
Tony
Mon Dec 08, 2003 10:09 am


-----------------------------------
the guy is not in data managment, he's in grade 10 :roll:

anyways, [url=http://www.compsci.ca/v2/viewtopic.php?t=2184]here's the link to the source code for that random list generator. Try to understand how it works.

-----------------------------------
DanShadow
Mon Dec 08, 2003 12:05 pm

..
-----------------------------------
Ok, just make a new array...like for people who already played. Like.....

var tournie_used_people:array 1..40 of int
%Do the script that makes a random name, and check if its not fighting itself...
%Then check this array to see if names have been picked, if they have, redo randint

