New text-based cricket simulation software help & advice.

RUDI

Administrator
Admin
SRH...
PlanetCricket Award Winner
Champions League Winner
Joined
Apr 7, 2014
Anyone interested in creating a Tournament fixtures program? Any language...output to notepad. I'm sure most league managers will be able to use it :yes The code can also be used (with the creators permission & credit given) in one a new or existing text based cricket simulators.
 

SixerBoy11

Chairman of Selectors
PAK...
Joined
Aug 9, 2014
Location
Pakistan
Profile Flag
Pakistan
Online Cricket Games Owned
  1. Don Bradman Cricket 14 - Steam PC
Anyone interested in creating a Tournament fixtures program? Any language...output to notepad. I'm sure most league managers will be able to use it :yes The code can also be used (with the creators permission & credit given) in one a new or existing text based cricket simulators.
Why not :)
 

Yash.

Staff Member
Moderator
India
Ireland
ENG....
SRH...
QG
PlanetCricket Award Winner
Melbourne Stars
X Rebels
Joined
Aug 24, 2015
Location
Bareilly
Profile Flag
India
Anyone interested in creating a Tournament fixtures program? Any language...output to notepad. I'm sure most league managers will be able to use it :yes The code can also be used (with the creators permission & credit given) in one a new or existing text based cricket simulators.
What exactly do you need in a tournament fixtures program?
 

RUDI

Administrator
Admin
SRH...
PlanetCricket Award Winner
Champions League Winner
Joined
Apr 7, 2014
What exactly do you need in a tournament fixtures program?

Something similar. But specifically for cricket.

Tournament Scheduler - Easily create a round robin tournament schedule
Free Round Robin Tournament Schedule Generator
Cricket Schedule Maker - Free cricket Scheduler



A group tournament, league, division or conference involves all competitors playing a number of fixtures (again, a fixture is one name for a tournament-match that determines who, out of two or three or more, will advance; a fixture may consist of one or more game-matches between competitors).
 

Yash.

Staff Member
Moderator
India
Ireland
ENG....
SRH...
QG
PlanetCricket Award Winner
Melbourne Stars
X Rebels
Joined
Aug 24, 2015
Location
Bareilly
Profile Flag
India
Something similar. But specifically for cricket.

Tournament Scheduler - Easily create a round robin tournament schedule
Free Round Robin Tournament Schedule Generator
Cricket Schedule Maker - Free cricket Scheduler



A group tournament, league, division or conference involves all competitors playing a number of fixtures (again, a fixture is one name for a tournament-match that determines who, out of two or three or more, will advance; a fixture may consist of one or more game-matches between competitors).
I can create that in about 30 mins... Too bad I cant access my PC at the moment
 

Targaryen

You-Know-Who
India
RCB...
Joined
Apr 1, 2014
Profile Flag
India
Online Cricket Games Owned
  1. Don Bradman Cricket 14 - Steam PC
Even I can try it. 15 mins and there you go with the fixtures generator...
 

RUDI

Administrator
Admin
SRH...
PlanetCricket Award Winner
Champions League Winner
Joined
Apr 7, 2014
Source code?
None available. Will have to design from scratch.

Source code?
See if you can use attached.

Code:
<?php
/*
 * This code owes an enormous debt to
 * http://www.barrychessclub.org.uk/berger2001.htm
 */

function main() {
    ?>
    <style>
    input, textarea { display: block; margin-bottom: 1em; }
    label { font-weight: bold; display: block; }
    </style>
    <h1>Fixtures Generator</h1>
    <p>This page is part of <a
    href="http://bluebones.net/2005/05/league-fixtures-generator/">bluebones.net</a>.</p>
    <?php
    // Find out how many teams we want fixtures for.
    if (! isset($_GET['teams']) && ! isset($_GET['names'])) {
        print get_form();
    } else {
        # XXX check for int
        print show_fixtures(isset($_GET['teams']) ?  nums(intval($_GET['teams'])) : explode("\n", trim($_GET['names'])));
    }
}

function nums($n) {
    $ns = array();
    for ($i = 1; $i <= $n; $i++) {
        $ns[] = $i;
    }
    return $ns;
}

function show_fixtures($names) {
    $teams = sizeof($names);

    print "<p>Fixtures for $teams teams.</p>";

    // If odd number of teams add a "ghost".
    $ghost = false;
    if ($teams % 2 == 1) {
        $teams++;
        $ghost = true;
    }
    
    // Generate the fixtures using the cyclic algorithm.
    $totalRounds = $teams - 1;
    $matchesPerRound = $teams / 2;
    $rounds = array();
    for ($i = 0; $i < $totalRounds; $i++) {
        $rounds[$i] = array();
    }
  
    for ($round = 0; $round < $totalRounds; $round++) {
        for ($match = 0; $match < $matchesPerRound; $match++) {
            $home = ($round + $match) % ($teams - 1);
            $away = ($teams - 1 - $match + $round) % ($teams - 1);
            // Last team stays in the same place while the others
            // rotate around it.
            if ($match == 0) {
                $away = $teams - 1;
            }
            $rounds[$round][$match] = team_name($home + 1, $names)
                . " v " . team_name($away + 1, $names);
        }
    }

    // Interleave so that home and away games are fairly evenly dispersed.
    $interleaved = array();
    for ($i = 0; $i < $totalRounds; $i++) {
        $interleaved[$i] = array();
    }
    
    $evn = 0;
    $odd = ($teams / 2);
    for ($i = 0; $i < sizeof($rounds); $i++) {
        if ($i % 2 == 0) {
            $interleaved[$i] = $rounds[$evn++];
        } else {
            $interleaved[$i] = $rounds[$odd++];
        }
    }

    $rounds = $interleaved;

    // Last team can't be away for every game so flip them
    // to home on odd rounds.
    for ($round = 0; $round < sizeof($rounds); $round++) {
        if ($round % 2 == 1) {
            $rounds[$round][0] = flip($rounds[$round][0]);
        }
    }
    
    // Display the fixtures       
    for ($i = 0; $i < sizeof($rounds); $i++) {
        print "<p>Round " . ($i + 1) . "</p>\n";
        foreach ($rounds[$i] as $r) {
            print $r . "<br />";
        }
        print "<br />";
    }
    print "<p>Second half is mirror of first half</p>";
    $round_counter = sizeof($rounds) + 1;
    for ($i = sizeof($rounds) - 1; $i >= 0; $i--) {
        print "<p>Round " . $round_counter . "</p>\n";
        $round_counter += 1;
        foreach ($rounds[$i] as $r) {
            print flip($r) . "<br />";
        }
        print "<br />";
    }
    print "<br />";

    if ($ghost) {
        print "Matches against team " . $teams . " are byes.";
    }
}

function flip($match) {
    $components = split(' v ', $match);
    return $components[1] . " v " . $components[0];
}

function team_name($num, $names) {
    $i = $num - 1;
    if (sizeof($names) > $i && strlen(trim($names[$i])) > 0) {
        return trim($names[$i]);
    } else {
        return $num;
    }
}

function get_form() {
    $s = '';
    $s = '<p>Enter number of teams OR team names</p>' . "\n";
    $s .= '<form action="' . $_SERVER['SCRIPT_NAME'] . '">' . "\n";
    $s .= '<label for="teams">Number of Teams</label><input type="text" name="teams" />' . "\n";
    $s .= '<input type="submit" value="Generate Fixtures" />' . "\n";
    $s .= '</form>' . "\n";

    $s .= '<form action="' . $_SERVER['SCRIPT_NAME'] . '">' . "\n";
    $s .= '<div><strong>OR</strong></div>' . "\n";
    $s .= '<label for="names">Names of Teams (one per line)</label>'
        . '<textarea name="names" rows="8" cols="40"></textarea>' . "\n";
    $s .= '<input type="submit" value="Generate Fixtures" />' . "\n";
    $s .= "</form>\n";
    return $s;
}

main();

?>
 

Attachments

  • League_Fix2007777202006.zip
    8.9 KB · Views: 2
Last edited:

AliB

ICC President
India
AFG...
Mumbai Indians
PlanetCricket Award Winner
Adelaide Strikers
X Rebels
Joined
Oct 7, 2014
Online Cricket Games Owned
  1. Don Bradman Cricket 14 - Steam PC
Will have to get VS otherwise its easy. Will good polishes it won't take more than an hour. But I back out for now.
 

ShamiLoverGlipGlops

The Man With The Glip Glops
India
NZ....
AFG...
KKR
Avengers
Joined
Aug 14, 2008
Online Cricket Games Owned
  1. Don Bradman Cricket 14 - PS3
  2. Don Bradman Cricket 14 - Steam PC
  3. Don Bradman Cricket 14 - Xbox One
I can give a go. I can create a website that can be ported to an app for on the go fly with desktop application. If anyone wants it lets talk about it
 

asprin

Administrator
Admin
India
PlanetCricket Award Winner
Joined
Sep 3, 2012
Online Cricket Games Owned
  1. Don Bradman Cricket 14 - Steam PC
In my first attempt at making the web based simulator, I had run into server limits with the hosting provider blocking my Ajax requests after a certain number of requests. Since I was making one Ajax request for each delivery bowled in a single request, I guess I was hitting the allowed number of requests per second if there were multiple persons accessing the webpage.

Any tips on how to go about simulating a delivery in such a case? My v1 of the simulator was purely client side (i.e. Javascript) but since I needed to implement new features in it, I had to involve service side aspect to it too. However, that meant Ajax coming into picture and I seem to have a hit roadblock now.
 

Users who are viewing this thread

Top