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';
|
import cardDB from './cards.js';
|
||||||
|
import CardPile from './cardpile.js';
|
||||||
// TODO reset state button
|
|
||||||
|
|
||||||
class Tarot {
|
class Tarot {
|
||||||
constructor() {
|
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;
|
export default Tarot;
|
||||||
|
|
Loading…
Reference in New Issue