Skip to content
Snippets Groups Projects
script.js 41.4 KiB
Newer Older
TonyFord's avatar
TonyFord committed
---
---
TonyFord's avatar
TonyFord committed
const DAY=24*3600*1000;

var Grps=[];

Tony Ford's avatar
Tony Ford committed
var _e = (el) => ( document.createElement(el) );

var TTTT = [];
TonyFord's avatar
TonyFord committed
function calculatePartien(saison,date){

  $('#partien').append('<h2 class="saison s_'+saison+'">Saison '+saison+'</h2>');

Tony Ford's avatar
Tony Ford committed
  // #######################################################################
  // Erstelle Partien der Runde 1 ( Hauptrunde ) / Spiel Jeder gegen Jeden
  var runde=1;
TonyFord's avatar
TonyFord committed

  date=new Date(date).getTime();
TonyFord's avatar
TonyFord committed
  var steps=0;
Tony Ford's avatar
Tony Ford committed
  var done=[];

  // stelle Gruppen zusammen
  STARTLISTE.forEach(
    function(g){
      var G=[];
      g.forEach(
        function(v){
Tony Ford's avatar
Tony Ford committed
            //G.push( TEAMS.filter( (a) => (a.nt == v) )[0] );
            G.push( TEAMS.filter( (a) => (a.nt == v) ).map((a) => ( [ Object.fromEntries( Object.entries(a).filter( (b) => ( ! ( b[0] < 1000 ) )) ), a[saison] ] ))[0] ); 
TonyFord's avatar
TonyFord committed
        }
      );
Tony Ford's avatar
Tony Ford committed
      Grps.push(G);
TonyFord's avatar
TonyFord committed
    }
Tony Ford's avatar
Tony Ford committed
  );
TonyFord's avatar
TonyFord committed

Tony Ford's avatar
Tony Ford committed
  var h3= _e('h3');
  h3.classList = 'runde s_'+saison+' r_'+runde;
  h3.innerHTML = 'Runde '+runde+ ' (Hauptrunde)';
  $('#partien').append(h3);
  
  // erzeuge die Partien und prüfe, ob diese bereits gespielt wurden
  STARTLISTE_PARTIEN.forEach(
    function(v,i){
      done.push( grpPartien(date,steps,saison,runde,i+1,v.slice(1)) ); steps+=v[0];
    }
  );
TonyFord's avatar
TonyFord committed

Tony Ford's avatar
Tony Ford committed
  var AFdone = false;
TonyFord's avatar
TonyFord committed

Tony Ford's avatar
Tony Ford committed
  // ##################################################################################
  // Erstelle Viertelfinale ( Finalrunde ) / KO-Spiele
  if( FINALTEAMS == 8 ){
    if( done.reduce( (a,b) => a && b ) == true ){
      var Tabelle = calculatePunktestand( saison, runde, false );
    } else {
      var Tabelle = [];
      STARTLISTE.forEach(
        function(w,g){
          for( var i = 0; i < FINALTEAMS / STARTLISTE.length; i++ ){
Tony Ford's avatar
Tony Ford committed
            Tabelle.push( [
Tony Ford's avatar
Tony Ford committed
              {
                'kontinent' : 'dummy',
                'nt': 'xx',
                'name': '<i>Gruppe ' + (g+1) + '.'+ (i+1) + '</i>',
                'link': '',
                'manager': 'dummy',
                'start': 27
              }
Tony Ford's avatar
Tony Ford committed
            , undefined ]);
Tony Ford's avatar
Tony Ford committed
          }
TonyFord's avatar
TonyFord committed
        }
      );
Tony Ford's avatar
Tony Ford committed
    }
  } else if ( FINALTEAMS > 8 ){
    if( AFdone ){
TonyFord's avatar
TonyFord committed
    } else {
Tony Ford's avatar
Tony Ford committed
      var Tabelle = [];
      [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16].forEach(
        function(i){
Tony Ford's avatar
Tony Ford committed
          Tabelle.push( [
Tony Ford's avatar
Tony Ford committed
            {
              'kontinent' : 'dummy',
              'nt': 'xx',
              'name': '<i>AF ' + (i) + '</i>',
              'link': '',
              'manager': 'dummy',
              'start': 27
            }
Tony Ford's avatar
Tony Ford committed
          , undefined ] );
Tony Ford's avatar
Tony Ford committed
        }
      );
TonyFord's avatar
TonyFord committed
    }
  }
TonyFord's avatar
TonyFord committed

Tony Ford's avatar
Tony Ford committed
  if( FINALTEAMS >= 8 ){
    Grps = [];
    Grps.push( [ Tabelle.shift(), Tabelle.shift(), Tabelle.shift(), Tabelle.shift(), Tabelle.shift() , Tabelle.shift() , Tabelle.shift() , Tabelle.shift() ] );
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
    runde='VF';
Tony Ford's avatar
Tony Ford committed
    var h3 = _e('h3');
    h3.classList = 'runde s_'+saison+' r_'+runde;
    h3.innerText = 'Viertelfinale';
    $('#partien').append(h3);
TonyFord's avatar
TonyFord committed
    steps+=FINALS_STEP;
Tony Ford's avatar
Tony Ford committed
    var done = [];
TonyFord's avatar
TonyFord committed
    done.push( grpPartien( date,steps,saison,runde, 1, [ 8,1, 7,2, 6,3, 5,4 ] ) );
Tony Ford's avatar
Tony Ford committed
    if( done[0].filter((a) => (a == false )).length == 0 ){
      var VFdone = true;
      var Tabelle = done[0];
    } 
  }
TonyFord's avatar
TonyFord committed

Tony Ford's avatar
Tony Ford committed
  // ##################################################################################
  // Erstelle Halbfinale ( Finalrunde ) / KO-Spiele
  if( FINALTEAMS == 4 ){
TonyFord's avatar
TonyFord committed
    if( done.reduce( (a,b) => a && b ) == true ){
Tony Ford's avatar
Tony Ford committed
      var Tabelle = calculatePunktestand( saison, runde, false );
TonyFord's avatar
TonyFord committed
    } else {
Tony Ford's avatar
Tony Ford committed
      var Tabelle = [];
      STARTLISTE.forEach(
        function(w,g){
          for( var i = 0; i < FINALTEAMS / STARTLISTE.length; i++ ){
Tony Ford's avatar
Tony Ford committed
            Tabelle.push( [
Tony Ford's avatar
Tony Ford committed
              {
                'kontinent' : 'dummy',
                'nt': 'xx',
                'name': '<i>Gruppe ' + (g+1) + '.'+ (i+1) + '</i>',
                'link': '',
                'manager': 'dummy',
                'start': 27
              }
Tony Ford's avatar
Tony Ford committed
            ,undefined ]);
Tony Ford's avatar
Tony Ford committed
          }
TonyFord's avatar
TonyFord committed
        }
Tony Ford's avatar
Tony Ford committed
      );
    }
  } else if ( FINALTEAMS > 4 ){
Tony Ford's avatar
Tony Ford committed
    
Tony Ford's avatar
Tony Ford committed
    if( VFdone ){
    } else {
      var Tabelle = [];
      [1,2,3,4,5,6,7,8].forEach(
        function(i){
Tony Ford's avatar
Tony Ford committed
          Tabelle.push([
Tony Ford's avatar
Tony Ford committed
            {
              'kontinent' : 'dummy',
              'nt': 'xx',
              'name': '<i>VF ' + (i) + '</i>',
              'link': '',
              'manager': 'dummy',
              'start': 27
            }
Tony Ford's avatar
Tony Ford committed
          ,undefined ] );
Tony Ford's avatar
Tony Ford committed
        }
      );
TonyFord's avatar
TonyFord committed
    }
  }

Tony Ford's avatar
Tony Ford committed
  if( FINALTEAMS >= 4 ){
    Grps = [];
    Grps.push( [ Tabelle.shift(), Tabelle.shift(), Tabelle.shift(), Tabelle.shift() ] );
TonyFord's avatar
TonyFord committed

Tony Ford's avatar
Tony Ford committed
    runde='HF';
    var h3 = _e('h3');
    h3.classList = 'runde s_'+saison+' r_'+runde;
    h3.innerText = 'Halbfinale';
    $('#partien').append(h3);
TonyFord's avatar
TonyFord committed
    steps+=FINALS_STEP;
Tony Ford's avatar
Tony Ford committed
    var done = [];
TonyFord's avatar
TonyFord committed
    done.push( grpPartien( date,steps,saison,runde, 1, [ 1,4, 2,3 ] ) );
Tony Ford's avatar
Tony Ford committed
    if( done[0].filter((a) => (a == false )).length == 0 ){
      var HFdone = true;
      var Tabelle = done[0];
    } 
TonyFord's avatar
TonyFord committed
  }
TonyFord's avatar
TonyFord committed

Tony Ford's avatar
Tony Ford committed
  // ##################################################################################
  // Erstelle Finale ( Finalrunde ) / KO-Spiele
  if( FINALTEAMS == 2 ){
    if( done.reduce( (a,b) => a && b ) == true ){
      var Tabelle = calculatePunktestand( saison, runde, false );
    } else {
      var Tabelle = [];
      STARTLISTE.forEach(
        function(w,g){
          for( var i = 0; i < FINALTEAMS / STARTLISTE.length; i++ ){
Tony Ford's avatar
Tony Ford committed
            Tabelle.push([
Tony Ford's avatar
Tony Ford committed
              {
                'kontinent' : 'dummy',
                'nt': 'xx',
                'name': '<i>Gruppe ' + (g+1) + '.'+ (i+1) + '</i>',
                'link': '',
                'manager': 'dummy',
                'start': 27
              }
Tony Ford's avatar
Tony Ford committed
            ,undefined ]);
Loading
Loading full blame...