Last active
April 27, 2018 16:38
-
-
Save JimRottinger/021a9389d47f330096d92b7a3fa02f2c to your computer and use it in GitHub Desktop.
Random HS Game Data Generation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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