57 lines
1.3 KiB
JavaScript
57 lines
1.3 KiB
JavaScript
|
var cardColors = [
|
||
|
'red',
|
||
|
'blue',
|
||
|
'yellow',
|
||
|
'black',
|
||
|
'white',
|
||
|
];
|
||
|
var cardShapes = [
|
||
|
'triangle',
|
||
|
'square',
|
||
|
'pentagon',
|
||
|
]
|
||
|
|
||
|
var maxValue = 10;
|
||
|
|
||
|
function createCard(id, rareChance) {
|
||
|
id = typeof id !== 'undefined' ? id : generateId();
|
||
|
rarechance = typeof rareChance !== 'undefined' ? rareChance : 0.25;
|
||
|
var color = cardColors[Math.floor(Math.random() * (cardColors.length - (Math.random() < rareChance ? 0 : 2)))];
|
||
|
var shape = cardShapes[Math.floor(Math.random() * (cardShapes.length - (Math.random() < rareChance ? 0 : 1)))];
|
||
|
var value1 = Math.floor(Math.random() * maxValue) + 1;
|
||
|
var value2 = Math.floor(Math.random() * maxValue) + 1;
|
||
|
|
||
|
return {
|
||
|
id: id,
|
||
|
color: color,
|
||
|
shape: shape,
|
||
|
value1: value1,
|
||
|
value2: value2,
|
||
|
};
|
||
|
}
|
||
|
|
||
|
function generateId() {
|
||
|
var id = '';
|
||
|
for (var i = 0; i < 5; i++) {
|
||
|
id += Math.floor(Math.random() * 10).toString();
|
||
|
}
|
||
|
return parseInt(id);
|
||
|
}
|
||
|
|
||
|
function createPack() {
|
||
|
var cards = [];
|
||
|
for (var i = 0; i < 5; i++) {
|
||
|
cards.push(createCard(undefined, i > 2 ? 0.5 : undefined));
|
||
|
}
|
||
|
return cards;
|
||
|
}
|
||
|
|
||
|
function generateDatabase() {
|
||
|
var db = [];
|
||
|
for (var i = 0; i < 99999; i++) {
|
||
|
db.push(createCard(i + 1, 0.5));
|
||
|
}
|
||
|
console.log(db);
|
||
|
var uriContent = "data:application/octet-stream," + encodeURIComponent(JSON.stringify(db));
|
||
|
var newWindow = window.open(uriContent, 'cardDb.json');
|
||
|
}
|