I have this game of War and it works great, but the cards that have been payed repeat themselves. Each card should only display once per game. How do I get my used cards to display only once?
Here is my code:
$(document).ready(function () {
var used_cards = new Array();
var player_cards = new Array();
var slick_cards = new Array();
var playerName="";
var count = 0;
document.getElementById("play").disabled = true;
var P_hand = {
cards: new Array()
}
var S_hand = {
cards: new Array()
}
var Hand = {
cards: new Array()
}
Deck of card variables:
var deck = [
new card('Ace', 'Hearts', 11, 142),
new card('Two', 'Hearts', 2, 22),
new card('Three', 'Hearts', 3, 32),
new card('Four', 'Hearts', 4, 42),
new card('Five', 'Hearts', 5, 52),
new card('Six', 'Hearts', 6, 62),
new card('Seven', 'Hearts', 7, 72),
new card('Eight', 'Hearts', 8, 82),
new card('Nine', 'Hearts', 9, 92),
new card('Ten', 'Hearts', 10, 102),
new card('Jack', 'Hearts', 10, 112),
new card('Queen', 'Hearts', 10, 122),
new card('King', 'Hearts', 10, 132),
new card('Ace', 'Diamonds', 11, 141),
new card('Two', 'Diamonds', 2, 21),
new card('Three', 'Diamonds', 3, 31),
new card('Four', 'Diamonds', 4, 41),
new card('Five', 'Diamonds', 5, 51),
new card('Six', 'Diamonds', 6, 61),
new card('Seven', 'Diamonds', 7, 71),
new card('Eight', 'Diamonds', 8, 81),
new card('Nine', 'Diamonds', 9, 91),
new card('Ten', 'Diamonds', 10, 101),
new card('Jack', 'Diamonds', 10, 111),
new card('Queen', 'Diamonds', 10, 121),
new card('King', 'Diamonds', 10, 131),
new card('Ace', 'Clubs', 11, 143),
new card('Two', 'Clubs', 2, 23),
new card('Three', 'Clubs', 3, 33),
new card('Four', 'Clubs', 4, 43),
new card('Five', 'Clubs', 5, 53),
new card('Six', 'Clubs', 6, 63),
new card('Seven', 'Clubs', 7, 73),
new card('Eight', 'Clubs', 8, 83),
new card('Nine', 'Clubs', 9, 93),
new card('Ten', 'Clubs', 10, 103),
new card('Jack', 'Clubs', 10, 113),
new card('Queen', 'Clubs', 10, 123),
new card('King', 'Clubs', 10, 133),
new card('Ace', 'Spades', 11, 144),
new card('Two', 'Spades', 2, 24),
new card('Three', 'Spades', 3, 34),
new card('Four', 'Spades', 4, 44),
new card('Five', 'Spades', 5, 54),
new card('Six', 'Spades', 6, 64),
new card('Seven', 'Spades', 7, 74),
new card('Eight', 'Spades', 8, 84),
new card('Nine', 'Spades', 9, 94),
new card('Ten', 'Spades', 10, 104),
new card('Jack', 'Spades', 10, 114),
new card('Queen', 'Spades', 10, 124),
new card('King', 'Spades', 10, 134)
];
Functions:
function card(name, suit, value, trump) {
this.name = name;
this.suit = suit;
this.value = value;
this.trump = trump;
}
$("#newPlayer").click(function(){
var newPlayer = prompt("Please enter your name.","");
playerName = newPlayer;
if(newPlayer != null){
document.getElementsByClassName("pName")[0].innerHTML = newPlayer;
document.getElementsByClassName("pName")[1].innerHTML = newPlayer+":";
}
});
$("#deal").click(function(){
if(playerName == ""){
var newPlayer = prompt("Please enter your name.","");
playerName = newPlayer;
if(newPlayer != null){
document.getElementsByClassName("pName")[0].innerHTML = newPlayer;
document.getElementsByClassName("pName")[1].innerHTML = newPlayer+":";
}
}
document.getElementById("pHandImg").src = "";
document.getElementById("cHandImg").src = "";
document.getElementById("play").disabled = false;
document.getElementById("cardCount").innerHTML = 26;
document.getElementById("cScore").innerHTML = "";
document.getElementById("pScore").innerHTML = "";
document.getElementById("win").innerHTML = "";
});
$("#play").click(function(){
debugger;
var cardcount = parseInt(document.getElementById("cardCount").textContent);
if(cardcount == 1){
document.getElementById("cardCount").innerHTML = cardcount-1;
var pScore = parseInt(document.getElementById("pScore").textContent);
var cScore = parseInt(document.getElementById("cScore").textContent);
if(pScore > cScore){
document.getElementById("pHandImg").src = "./images/other/check.png";
document.getElementById("win").innerHTML = "Congrats "+playerName + " Won Game";
}
if(pScore < cScore){
document.getElementById("pHandImg").src = "./images/other/x.png";
}
if(pScore < cScore){
document.getElementById("cHandImg").src = "./images/other/check.png";
document.getElementById("win").innerHTML = "Congrats slick Won Game";
}
if(pScore > cScore){
document.getElementById("cHandImg").src = "./images/other/x.png";
}
document.getElementById("play").disabled = true;
}else{
if(count > 0){
document.getElementById("cardCount").innerHTML = cardcount-1;
}
pItem = deck[Math.floor(Math.random() * deck.length)];
sItem = deck[Math.floor(Math.random() * deck.length)];
player_cards.push(pItem);
slick_cards.push(sItem);
used_cards.push(sItem,sItem);
pSrc = "./images/"+pItem.suit+"/"+pItem.name+".jpg";
sSrc = "./images/"+sItem.suit+"/"+sItem.name+".jpg";
document.getElementById("pHandImg").src = pSrc;
document.getElementById("cHandImg").src = sSrc;
pValue = pItem.value;
sValue = sItem.value;
val = pValue + sValue;
var pScore = parseInt(document.getElementById("pScore").textContent);
if(!pScore){
pScore = 0;
}
var cScore = parseInt(document.getElementById("cScore").textContent);
if(!cScore){
cScore = 0;
}
if(pValue > sValue){
document.getElementById("pScore").innerHTML = pScore + val;
}
if(pValue < sValue){
document.getElementById("cScore").innerHTML = cScore + val;
}
}
count++;
});
});