move card pile to own file
parent
d4145a9797
commit
5e990df0d6
|
@ -0,0 +1,39 @@
|
|||
class CardPile {
|
||||
constructor() {
|
||||
this.cards = new Set();
|
||||
}
|
||||
|
||||
add(cardName) {
|
||||
this.cards.add(cardName);
|
||||
}
|
||||
|
||||
has(cardName) {
|
||||
return this.cards.has(cardName);
|
||||
}
|
||||
|
||||
get size() {
|
||||
return this.cards.size;
|
||||
}
|
||||
|
||||
drawRandom() {
|
||||
const size = this.cards.size
|
||||
if (size === 0) {
|
||||
return null;
|
||||
}
|
||||
const index = Math.floor(Math.random() * Math.floor(size));
|
||||
let i = 0;
|
||||
let cardName = "";
|
||||
for (let card of this.cards) {
|
||||
if (i === index) {
|
||||
cardName = card;
|
||||
break
|
||||
}
|
||||
i++;
|
||||
}
|
||||
this.cards.delete(cardName);
|
||||
|
||||
return cardName;
|
||||
}
|
||||
}
|
||||
|
||||
export default CardPile;
|
40
tarot.js
40
tarot.js
|
@ -1,6 +1,5 @@
|
|||
import cardDB from './cards.js';
|
||||
|
||||
// TODO reset state button
|
||||
import CardPile from './cardpile.js';
|
||||
|
||||
class Tarot {
|
||||
constructor() {
|
||||
|
@ -130,42 +129,5 @@ class Renderer {
|
|||
}
|
||||
}
|
||||
|
||||
class CardPile {
|
||||
constructor() {
|
||||
this.cards = new Set();
|
||||
}
|
||||
|
||||
add(cardName) {
|
||||
this.cards.add(cardName);
|
||||
}
|
||||
|
||||
has(cardName) {
|
||||
return this.cards.has(cardName);
|
||||
}
|
||||
|
||||
get size() {
|
||||
return this.cards.size;
|
||||
}
|
||||
|
||||
drawRandom() {
|
||||
const size = this.cards.size
|
||||
if (size === 0) {
|
||||
return null;
|
||||
}
|
||||
const index = Math.floor(Math.random() * Math.floor(size));
|
||||
let i = 0;
|
||||
let cardName = "";
|
||||
for (let card of this.cards) {
|
||||
if (i === index) {
|
||||
cardName = card;
|
||||
break
|
||||
}
|
||||
i++;
|
||||
}
|
||||
this.cards.delete(cardName);
|
||||
|
||||
return cardName;
|
||||
}
|
||||
}
|
||||
|
||||
export default Tarot;
|
||||
|
|
Loading…
Reference in New Issue