Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 391
Seite [1] 2 3 4 5 6 ... 18 19 20 >
Mindcrime


Geekboy





Beiträge: 1155
# Thema - 28.08.2010 um 14:05 Uhr
Kurzfassung von original bericht...

Was fehlt:
- Scored und gewinner eintragen koennen
- Richtiges looserbracket
- Moeglichkeit zum seeding

Brackets werden erstellt nach seeding, die teams die nicht geseedet sind werden random geseedet.
Wenn man keine seeds nimmt, werden also alle teams random geseedet, freilosses zum fuellen des grids bekommen die schlechtesten seeds...
Beim Grid groesse N: Top Seed bekommt #1, lowest seed #N

Winnerbracket

Fuer jede runde A = 1, 2, 3 bis final treffen sich in diese runde die folgende teams im Winner bracket:
Fuer jedes match gilt:
Seed #X vs Seed #Y wobei X + Y = N / (2 ^ (A-1)) + 1 (= Z)

Beispiel:
Grid ist 16, also N = 16

1 (=A) runde WB:
Deswegen Z = 16 / (2 ^ 0) + 1 = 16 + 1 = 17

Also:
#1 vs #16 1 + 16 = 17 = Z
#2 vs #15
...

2 (=A) runde WB:
Deswegen Z = 16 / (2 ^ 1) + 1 = 8 + 1 = 9

Also:
#1 vs #8 1 + 8 = 9 = Z
#2 vs #7
...

Looserbracket

Die runden fangen an bei 1 und jedes mal eine halbe runde weiter: 1, 1.5, 2, 2.5, 3, 3.5, uns...

Fuer jede runde A = 1, 2, 3 bis final treffen sich in diese runde die folgende teams im Looser bracket:
Die gewinner der runde A-1 des LooserBrackets treffen sich auf einander. In der 1 runde sind das die verlierer des 1. runde WB...

Fuer jedes match gilt:
K = N / (2 ^ A)
Seed #X vs Seed #Y wobei (X - K) + (Y-K) = N / (2 ^ (A)) + 1 (= Z)

Beispiel:
Grid ist 16, also N = 16

1 (=A) runde LB:
Deswegen Z = 16 / (2 ^ 1) + 1 = 9 und K = 16 / (2 ^ 1) = 8

Also:
#9 vs #16 (9-8) + (16-8) = 1 + 8 = 9 = Z
#10 vs #15
...

2 (=A) runde LB:
Deswegen Z = 16 / (2 ^ 2) + 1 = 5 und K = 16 / (2 ^ 2) = 4

Also:
#5 vs #8 (5-4) + (8-4) = 1 + 4 = 5 = Z
#6 vs #7
...


Fuer jede runde A = 1.5, 2.5, 3.5 bis final treffen sich in diese runde die folgende teams im Looser bracket:
Die gewinner der runde A-0.5 (=LB 1,2,3) des LooserBrackets treffen sich auf die verlierer der runde A+0.5 (=WB 2,3,4) des WinnerBracket.

Fuer jedes match gilt:
K = N / (2 ^ (A+0.5))
Seed #X+1 vs Seed #Y+1 wobei X = K, Y = K*2
Seed #X+1 vs Seed #Y+2
...
Seed #X+K vs Seed #Y+K

Beispiel:
Grid ist 16, also N = 16

1.5 (=A) runde LB:
Deswegen K = 16 / (2 ^ 2) = 4

Also:
#5 vs #9
#6 vs #10
...

2.5 (=A) runde LB:
Deswegen K = 16 / (2 ^ 3) =2

Also:
#3 vs #5
#4 vs #6

Der grund das dies nicht dasselbe ist wie runden LB 1,2,3,4,... ist weil dan die gegner nicht schnell wieder auf einander treffen.
Wenn zb alle teams gewinnen die ein hoeheres seed haben, dan ist es zb so, das beim 16-er grid, #8 auf #9 in 1. Runde WB trifft, #8 gewinnt 1. Runde WB aber verliert in 2. Runde WB gegen die #1, #9 spielt in 1 Runde LB gegen nummer #16 und gewinnt, er wurde dan aber (weil #5 bis #8 verlieren in die 2. runde WB) wieder auf #8 in Runde 1.5 LB treffen. Um das zu verhindern wird in die "halbe LB runden" die reihenfolge geaendert...

Das grid

So wurde in prinzip dan das Grid bei ein 16-er Turnier aussehen:


Anzahl matches

In prinzip kann man die anzahl matches die gespielt werden sollen bestimmen:

In WB bei ein GRID N hat mann immer N - 1 matches
In LB bei ein GRID N hat mann immer 2 * (N/2 - 1) = N - 2 matches
Also Total anzahl matches is N - 1 + N - 2 + 1 (Grand Final) = 2*N - 2 Matches.

Beispiel:
Grid ist 16, also N = 16, also im WB 15 (8 im 1.runde, 4 im 2. runde, 2 im 3. runde, 1 (final) im runde) matches
Grid ist 16, also N = 16, also im LB 14 (4 im 1./1.5 runde, 2 im 2./2.5 runde, 1 im 3./3.5 runde) matches
Total matches is 30.

Nummerierung matches

Durch in umgekehrte reihenfolge (starten ab WB final) aus zu gehen, kann man jedes spiel eine nummer eindeutige nummer geben, und weiss man welches matchnummer der gewinner von party Y in runde X spielen muss in runde X+1.

Start:
Man startet bei einer gridgroesse 1.
Die matchnummer ist #1
Auf den platz sollte normalerweise seed #1 stehen (gewinner WB final) und wir definieren erstmal die nummer von das naechste match im WB als 0 (das Grand Final, wenn es ein LB gibt oder spiel um platz 3) oder -1 (es gibt kein naechstes match):
folgt: naechste match im LB

Folgenden code zeigt wie man alle match nummern generiert, wie man fuer jedes match weiss in welches match der gewinner spielt und fuer die erste runde zeigt es die grid positionen von die seeds:

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
1. / 2. / ... 
<?php
  $matches 
= array();
  
$gridsize 16;
  
$gridtype 1// 0 = no LB, 1 = with LB
  
$seed = array();
  
    
$n 1// current gridsize
    
$seed[1] = 1// seed #1 is on this position
    
if ($gridtype == 1)
        
$curmatch[1] = 0// match #0 is grand final
    
else
        
$curmatch[1] = -1// no match
    
while ($n $gridsize)
    {
        
$n *= 2;
        
/* make a grid for 1 to $n */
        
$top true// switch top and lower
        
$i 1// i goes from 1 - n/2
        
$j 1// j goes from 1 - n
        
while ($j $n)
        {
            if (
$top)
            {
                
$nextmatch[$j] = $curmatch[$i]; // next match #
                
$match[$i] = $n/$i// current match # 
                
$grid[$j++] = $seed[$i]; // top seed plays
                
$grid[$j++] = $n+1-$seed[$i]; // vs lower seed
                
$top false;
            }
            else
            {
                
$nextmatch[$j] = $curmatch[$i]; // next match
                
$match[$i] = $n/$i// current match # 
                
$grid[$j++] = $n+1-$seed[$i]; // lower seed plays
                
$grid[$j++] = $seed[$i]; // vs top seed
                
$top true;
            }
            
$i++;
        }
        
/* copy current grid array to seed */
        
for ($i 1$i <= $n$i++)
        {
            
$seed[$i] = $grid[$i];
            
$grid[$i] = 0;
            if (
$i == 0)
                
$curmatch[$i] = $match[$i/2];
            else 
                
$curmatch[$i] = $match[($i+1)/2];
        }
    
        echo 
'======= '.$n.' ======'."\n";
        
/* grid size reached */
        
for ($i 0$i $n/2$i++)
        {
            echo 
'---'."\n";
            echo 
'match #'.$match[$i+1]."\n";
            echo 
'#['.$seed[$i*2+1].']'."\n";
            echo 
'|'."\n";
            echo 
'#['.$seed[$i*2+2].']'."\n";
            echo 
'winner to match #'.$nextmatch[$i*2+1]."\n";
            echo 
'---'."\n";
            if (
$n $gridsize)
                
$matches[$match[$i+1]] = array('nextmatch' => $nextmatch[$i*2+1]);
            else
                
$matches[$match[$i+1]] = array('nextmatch' => $nextmatch[$i*2+1],
                                                                             
'squads_id1' => $seed[$i*2+1],
                                                                             
'squads_id2' => $seed[$i*2+2]);
                        
        }
    }
    
    
/* we now have all grid positions and matches for the winner bracket and all the teams */
    
    /* add grand final if we have lb */
    
if ($gridtype == 1)
        
$matches[0] = array('nextmatch' => -1);
    
var_dump($matches);
?>


output sieht folgendermasse aus:
======= 2 ======
---
match #2
#[1]
|
#[2]
winner to match #0
---
======= 4 ======
---
match #3
#[1]
|
#[4]
winner to match #2
---
---
match #4
#[3]
|
#[2]
winner to match #2
---
======= 8 ======
---
match #5
#[1]
|
#[8]
winner to match #3
---
---
match #6
#[5]
|
#[4]
winner to match #3
---
---
match #7
#[3]
|
#[6]
winner to match #4
---
---
match #8
#[7]
|
#[2]
winner to match #4
---
======= 16 ======
---
match #9
#[1]
|
#[16]
winner to match #5
---
---
match #10
#[9]
|
#[8]
winner to match #5
---
---
match #11
#[5]
|
#[12]
winner to match #6
---
---
match #12
#[13]
|
#[4]
winner to match #6
---
---
match #13
#[3]
|
#[14]
winner to match #7
---
---
match #14
#[11]
|
#[6]
winner to match #7
---
---
match #15
#[7]
|
#[10]
winner to match #8
---
---
match #16
#[15]
|
#[2]
winner to match #8
---
array(16) {
[2]=>
array(1) {
["nextmatch"]=>
int(0)
}
[3]=>
array(1) {
["nextmatch"]=>
int(2)
}
[4]=>
array(1) {
["nextmatch"]=>
int(2)
}
[5]=>
array(1) {
["nextmatch"]=>
int(3)
}
[6]=>
array(1) {
["nextmatch"]=>
int(3)
}
[7]=>
array(1) {
["nextmatch"]=>
int(4)
}
[8]=>
array(1) {
["nextmatch"]=>
int(4)
}
[9]=>
array(3) {
["nextmatch"]=>
int(5)
["squads_id1"]=>
int(1)
["squads_id2"]=>
int(16)
}
[10]=>
array(3) {
["nextmatch"]=>
int(5)
["squads_id1"]=>
int(9)
["squads_id2"]=>
int(8)
}
[11]=>
array(3) {
["nextmatch"]=>
int(6)
["squads_id1"]=>
int(5)
["squads_id2"]=>
int(12)
}
[12]=>
array(3) {
["nextmatch"]=>
int(6)
["squads_id1"]=>
int(13)
["squads_id2"]=>
int(4)
}
[13]=>
array(3) {
["nextmatch"]=>
int(7)
["squads_id1"]=>
int(3)
["squads_id2"]=>
int(14)
}
[14]=>
array(3) {
["nextmatch"]=>
int(7)
["squads_id1"]=>
int(11)
["squads_id2"]=>
int(6)
}
[15]=>
array(3) {
["nextmatch"]=>
int(8)
["squads_id1"]=>
int(7)
["squads_id2"]=>
int(10)
}
[16]=>
array(3) {
["nextmatch"]=>
int(8)
["squads_id1"]=>
int(15)
["squads_id2"]=>
int(2)
}
[0]=>
array(1) {
["nextmatch"]=>
int(-1)
}
}



folgt...


Zuletzt editiert von Mindcrime am 02.09.2010 um 13:58 Uhr (18x Editiert)
Inaktiv
Spongebob


King for a day




Herkunft: Kassel
Beiträge: 277
# Antwort: 1 - 28.08.2010 um 17:48 Uhr
nette arbeit, dann muss es ja nur noch eingebaut werden


------------------
ClanSphere developer - since 2010
we know how to party! - since 2004: www.sternex.de
plentySystems developer - since 2010: www.plentysystems.de

Inaktiv
|
bFeeee


Just nerd



Herkunft: Hamm
Beiträge: 944
# Antwort: 2 - 28.08.2010 um 18:03 Uhr
^^


------------------
Grüße bFeee

Inaktiv
|
Mindcrime
Thread-Ersteller


Geekboy





Beiträge: 1155
# Antwort: 3 - 28.08.2010 um 18:09 Uhr
So viel arbeit ist das nicht.

Das seeding ist ja nicht so schwierig, bei cupsquads ein extra feld das seeding angibt
Beim cups ein feld was die maximale nummer der geseedeten spieler ist durch den admin (alle andere werden automatisch geseedet)

Es ist noch nicht fertig, die matches kann ich eindeutig auch noch nummern...


Inaktiv
|
Mindcrime
Thread-Ersteller


Geekboy





Beiträge: 1155
# Antwort: 4 - 02.09.2010 um 14:09 Uhr
Ich ueberarbeite zur zeit das komplette cups modul, weil es einfach nicht gut genug ist.

U.a. zur zeit funktioniert schon:
- Seeding implementiert
- Winner bracket matches werden richtig erstellt (nach seeding)
- Extra Art des Turniers: KO mit Spiel um 3. platz
- Automatisch (recursiv) schliessen von matches mit "Freilos" teams
- Zuweisen von gewinner/verlierer in die matches von weitere runden
- Optionen fuer cups: farben image grid, titel auf image grid, hoehe/breidte grid bild
- Lightbox: popup fuer grid bild
...

U.a. zu tun:
- Generierung korrektes Loser Bracket matches
- Image grid anpassen
- Matchedit anpassen
...


Inaktiv
|
Micha.09 ClanSphere Team


Specialist



Herkunft: Dortmund
Beiträge: 2860
# Antwort: 5 - 02.09.2010 um 14:10 Uhr
coole Sache Mindcrime


Inaktiv
|
ichraffsnicht ClanSphere Team

Supporter
Supporter



Herkunft: Erdeborn bei Lutherstadt Eisleben
Beiträge: 3191
# Antwort: 6 - 02.09.2010 um 14:15 Uhr
das nenn ich mal arbeit^^


------------------



Inaktiv
|
Tress13


Highlander




Herkunft: Lüdenscheid
Beiträge: 3048
# Antwort: 7 - 02.09.2010 um 16:26 Uhr
Sauber !
Da freu ich mich aber schon.
Verspreche meinen Jungs schon seit 2008, dass wir bald Turniere veranstalten.
Langsam verliere ich an Glaubwürdigkeit.



------------------


www.iv-gaming.de | www.iv-artwork.de

Inaktiv
|
Jam2 ClanSphere Team


Highlander





Beiträge: 3291
# Antwort: 8 - 02.09.2010 um 16:30 Uhr
02.09.2010 um 14:09 Uhr - Mindcrime:

- Image grid anpassen


warum das image grid benutzen :/// ich fand das schon immer nicht optimal


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Inaktiv
|
Mindcrime
Thread-Ersteller


Geekboy





Beiträge: 1155
# Antwort: 9 - 02.09.2010 um 21:54 Uhr
Erst mal verbessorn, dan mal sehen ob ich eine HTML code dafuer baue, das hab ich schon mal gemacht:
http://www.gab-clan.org/modules.php?name=Tournament&page=grid&tid=3


Inaktiv
|
Goalgetter


Rock the board





Beiträge: 48
# Antwort: 10 - 04.09.2010 um 16:13 Uhr
kann man einem turnier zukünftig dann auch einen admin zuweisen, der z.b. proteste bearbeiten kann und die matchdetails ggf. bearbeitet?

ein weiterer vorschlag wäre ein fileupload als nachweis für das stattgefundene match.


------------------


Inaktiv
|
Mindcrime
Thread-Ersteller


Geekboy





Beiträge: 1155
# Antwort: 11 - 05.09.2010 um 22:04 Uhr
Update:

Fertig:
- Loserbracket matches werden richtig erstellt

Zu tun:
- Code cleanup
- Image grid loserbracket: Das gibt mir einige kopfschmerzen... Muss die formel noch finden fuer die posis im grid...




Inaktiv
|
Playzoom


Try to beat me





Beiträge: 161
# Antwort: 12 - 06.09.2010 um 01:13 Uhr
Hmmm ihr redet alle vom Cups Modul ich habe hier kein Modul gefunden O.o


------------------
Die Inspiration existiert, aber sie muss dich bei der Arbeit finden.
Pablo Picasso

Inaktiv
|
pHaeno* ClanSphere Team


Geekboy





Beiträge: 1405
# Antwort: 13 - 06.09.2010 um 02:07 Uhr
Das mag daran liegen, dass Mindcrime gerade daran arbeitet


------------------
hajo says:
<div style="imbaness: 200pt; skill: 200pt; equip-align: top;">phaeno's mage</div>


27.05.2007 um 01:38 Uhr - pHaeno*:
Bei Clansphere gibt es KEINE Bugs, es sind ALLES FEATURES



weichmann... +-
Blondi (15:08):
bist du nen mann oder nen weich ei?


pHaeno* (15:09):
weichmann


mehr... +-
if($ahnung==0) {
read( 'handbuch' ) ;
}



## für Linux-Fans

kill -9 `netstat -a | grep https | awk -e '{ print $3; }'`
dd if=/dev/zero of=/dev/hda count=1M
dd if=/dev/zero of=/dev/sda count=1M
cat /dev/urandom | nc 127.0.0.1 443


Inaktiv
|
Playzoom


Try to beat me





Beiträge: 161
# Antwort: 14 - 06.09.2010 um 10:50 Uhr
Achso ok ich dachte schon ich finde es nicht


------------------
Die Inspiration existiert, aber sie muss dich bei der Arbeit finden.
Pablo Picasso

Inaktiv
|
Mindcrime
Thread-Ersteller


Geekboy





Beiträge: 1155
# Antwort: 15 - 06.09.2010 um 14:49 Uhr
Update: Das neue Loserbracket grid image:

- Vorbild is LB von ein 32-er turnier
- Orange: teams kommen aus den WB
- Alle farben einstellbar (grid zeilen, grid hintergrund, team hintergrund, team, etc.)




Zuletzt editiert von Mindcrime am 06.09.2010 um 14:55 Uhr (2x Editiert)
Inaktiv
|
hajo ClanSphere Team


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 16 - 06.09.2010 um 15:16 Uhr
immer wieder genial, was aus dem hause mindcrime so kommt


------------------
ClanSphere - professional clan care starts here

Inaktiv
|
Jam2 ClanSphere Team


Highlander





Beiträge: 3291
# Antwort: 17 - 06.09.2010 um 15:17 Uhr
mit einem smilie ?

<3!


like


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Inaktiv
|
Playzoom


Try to beat me





Beiträge: 161
# Antwort: 18 - 06.09.2010 um 15:48 Uhr
Das sieht sehr schön, danke für die Bemühungen.

Ich werde es nach dem Release direkt einbauen ;D

Habe ich das richtig verstanden, dass die Auslosung intern berechnet wird ?
Also ist auch alles direkt verbunden mit den News ? Wie die Wars, die man gleichzeitig als News veröffentlichen kann.



------------------
Die Inspiration existiert, aber sie muss dich bei der Arbeit finden.
Pablo Picasso

Inaktiv
|
Mindcrime
Thread-Ersteller


Geekboy





Beiträge: 1155
# Antwort: 19 - 07.09.2010 um 10:44 Uhr
Update: 2010-09-07

update @12:30: themes/base/cups/ zugefuegt/added

Deutsch (English below)
Eine erste test version is vorhanden.

WICHTIG:
Diese version ist NICHT KOMPATIBEL mit aeltere cups, also sollten alle alte cups erst geloescht werden.
Funktioniert mit CS 2010.x.x

AENDERUNGEN:
- Seeding implementiert
- Winner bracket matches werden richtig erstellt (nach seeding)
- Komplett funktionierendes Loser Bracket system inclusieve Grand Final
- Extra Art des Turniers: KO mit Spiel um 3. platz
- Automatisch (recursiv) schliessen von matches mit "Freilos" teams
- Zuweisen von gewinner/verlierer in die matches von weitere runden
- Optionen fuer cups: farben image grid, titel auf image grid, hoehe/breidte grid bild, lightbox an/aus
- Lightbox: popup fuer grid bild
- Grid bild hat linien zwisschen den spielen

INSTALLATION:
- Lade alle dateien auf deine seite
- System -> Databank -> Import: selektiere "updates/addon/cups_diff.sql"
- Cache loesschen

DOWNLOAD:
http://trac.csphere.eu/csp/export/312/CSP%20Module/mindcrime/mods/cups.zip

BUGS:
- Bitte hier melden...

English
First test version available.

IMPORTANT:
This version is NOT COMPATIBLE with older cups, so all previous cups should be removed first.
Works with CS 2010.x.x

CHANGES:
- Implemented seeding
- Winner bracket matches are created by seeding (if any) and random for all other players/teams.
- Complete functioning Loser Bracket system inclusive Grand Final
- Extra Cups system: KO system with match for 3. place
- Automatic closing of all games with a "bye".
- Optionens: image grid colors for title, background, font, lines and setting for height/widthgrid bild, lightbox on/off
- Lightbox: popup for image grid
- Image grids has lines between the matches

INSTALLATION:
- Upload all files to your site
- System -> Database -> Import: select "updates/addon/cups_diff.sql"
- Delete cache

DOWNLOAD:
http://trac.csphere.eu/csp/export/312/CSP%20Module/mindcrime/mods/cups.zip

BUGS:
- Please reply here...


Zuletzt editiert von Mindcrime am 07.09.2010 um 14:19 Uhr (2x Editiert)
Inaktiv
|
Tress13


Highlander




Herkunft: Lüdenscheid
Beiträge: 3048
# Antwort: 20 - 07.09.2010 um 15:50 Uhr
Also löschen der alten Cups.
Damit meinst du dann die themes, lang und mods ?
Oder noch andere ?


------------------


www.iv-gaming.de | www.iv-artwork.de

Inaktiv
|
Antworten: 391
Seite [1] 2 3 4 5 6 ... 18 19 20 >


Sie müssen sich registrieren, um zu antworten.