Skip to content

Instantly share code, notes, and snippets.

@JimRottinger
Last active April 27, 2018 16:38
Show Gist options
  • Save JimRottinger/021a9389d47f330096d92b7a3fa02f2c to your computer and use it in GitHub Desktop.
Save JimRottinger/021a9389d47f330096d92b7a3fa02f2c to your computer and use it in GitHub Desktop.
Random HS Game Data Generation
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'redacted',
user : 'redacted',
password : 'redacted',
database : 'redacted'
});
function randomClass() {
var min = 1;
var max = 10;
var id = Math.floor(Math.random() * (max - min)) + min;
switch (id) {
case 1: return 'Warrior';
case 2: return 'Shaman';
case 3: return 'Rogue';
case 4: return 'Paladin';
case 5: return 'Hunter';
case 6: return 'Druid';
case 7: return 'Warlock';
case 8: return 'Mage';
default: return 'Priest';
}
}
function randomGameTimeInSeconds() {
return Math.floor(60 * (Math.random() * (31 - 5)) + 5);
}
function getGameResult() {
var result = Math.round(Math.random() * 100) / 100;
if (result == 0.50) {
return 'tie';
}
return result > 0.50 ? 'win' : 'loss';
}
function generateGame() {
return {
friendly_class: randomClass(),
opponent_class: randomClass(),
friendly_player: 'AI_1',
opponent_player: 'AI_2',
result: getGameResult(),
start_time: Math.floor(Date.now()/1000),
end_time: Math.floor(Date.now()/1000) + randomGameTimeInSeconds()
}
}
var gamesToGenerate = 50000;
connection.connect();
for (var i=0; i < gamesToGenerate; i++) {
connection.query('INSERT INTO game SET ?', generateGame(), function (error, results, fields) {
if (error) throw error;
});
}
connection.end();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment