Hey guys,
Below I’ve posted my code for the top trumps game I created.
The code below mixes all cards, splits 30 random cards between player and AI, and then each card hand shows a random card from any of the 30 the player and AI have.
I want the code to behave more like the actual game top trumps. What I mean by this is to number the 30 chosen cards so that the cards are played in order. Also when a hand is won by either the player or AI the card won should go to the back of the winners pack.
Any ideas?
var ChosenCards:Array = [ALL CARS HERE];
var b:Array = ChosenCards.sort(CardShuffle); //Setting up an array to shuffle cards
function CardShuffle(ChosenCards,b):Number
{
var num : Number = Math.round(Math.random()*2)-1; //Mixes the choosen cards up.
return num; //Returns mixed up cards.
}
var PlayerCards:Array = []; //Sets up an array to hold the players cards.
var AICards:Array = []; //Same as above but for the ai's cards
for (var p:int = 0; p <30; p++)
{ //Select 30 of the cards available.
var TargetHand:Array; //An array containing all cards.
if (p % 2 == 0){ //Gives half of the cards to the player.
TargetHand = PlayerCards; //This is a way of halving the array.
}else{ //Give the other half to the ai.
TargetHand = AICards;
}
TargetHand.push(ChosenCards[p]);
}
ContinueButton.visible = false;
NextHandButton.visible = false;
//trace("Players 15 random cards
"); //Title to split up traces.
for(var s:int = 0; s < PlayerCards.length; s++) //Returns all randomly choosen cards.
{
//trace((s + 1) + ". " + PlayerCards[s].name) //Displays cards to make it easier to read.
}
//trace("
AI 15 random cards
");
for(var t:int = 0; t < AICards.length; t++)
{
//trace((t + 1) + ". " + AICards[t].name)
}
function PickRandomCard(max:int):Number
{
var Pick:Number = new Number(Math.round(Math.random() * max)); //Randomly picks a number.
return Pick; //Returns picked number.
trace ("Pick");
}
var PickedPlayerCard:String = new String();
var PickedAICard:String = new String();
function StartGame(event:MouseEvent):void
{
PlayerHand.visible = true;
PlayerDeck.visible = true;
AIHand.visible = true;
AIDeck.visible = true;
PickedPlayerCard = PlayerCards[PickRandomCard(15)].name; //Sets the randomly picked PlayerCards to PickedPlayerCard.
PickedAICard = AICards[PickRandomCard(15)].name;
//trace("
Player First Card: " + PickedPlayerCard);
//trace("AI First Card: " + PickedAICard);
this[PickedPlayerCard].visible = true; //Making chosen card visible.
this[PickedPlayerCard].x = 75; //Positioning chosen card.
this[PickedAICard].visible = true;
this[PickedAICard].x = 430;
StartButton.visible = false;
InGameCardBack.visible = true;
InGameCardBack.x = 430;
SpeedButton.visible = true;
ZerotoSixtyButton.visible = true;
PowerButton.visible = true;
WeightButton.visible = true;
CostButton.visible = true;
SpeedButton.x = 99;
ZerotoSixtyButton.x = 99;
PowerButton.x = 99;
WeightButton.x = 99;
CostButton.x = 99;
Click.play();
}
function ContinueGame(event:MouseEvent):void
{
this[PickedPlayerCard].visible = false;
this[PickedPlayerCard].x = 75;
this[PickedAICard].visible = false;
this[PickedAICard].x = 430;
PlayerWinner.visible = false;
PlayerLoser.visible = false;
PlayerDraw.visible = false;
AIWinner.visible = false;
AILoser.visible = false;
AIDraw.visible = false;
ContinueButton.visible = false;
SpeedButton.visible = false;
ZerotoSixtyButton.visible = false;
PowerButton.visible = false;
WeightButton.visible = false;
CostButton.visible = false;
NextHandButton.visible = true;
SpeedButton.alpha = 0; //Setting all buttons to a invisible alpha value.
ZerotoSixtyButton.alpha = 0;
PowerButton.alpha = 0;
WeightButton.alpha = 0;
CostButton.alpha = 0;
Click.play();
if (PlayerScore == 30 ) //Checks to see if score is equal to 30.
{
BackToMenuButton.buttonMode = true;
BackToMenuButton.visible = true;
WellDone.visible = true;
NextHandButton.visible = false;
}
if (AIScore == 30 )
{
BackToMenuButton.buttonMode = true;
BackToMenuButton.visible = true;
OhWell.visible = true;
NextHandButton.visible = false;
}
}
function NextHand(event:MouseEvent):void
{
PickedPlayerCard = PlayerCards[PickRandomCard(15)].name;
PickedAICard = AICards[PickRandomCard(15)].name;
//trace("
Player First Card: " + PickedPlayerCard);
//trace("AI First Card: " + PickedAICard);
this[PickedPlayerCard].visible = true;
this[PickedPlayerCard].x = 75;
this[PickedAICard].visible = true;
this[PickedAICard].x = 430;
NextHandButton.visible = false;
SpeedButton.visible = true;
ZerotoSixtyButton.visible = true;
PowerButton.visible = true;
WeightButton.visible = true;
CostButton.visible = true;
NextHandButton.visible = false;
SpeedButton.buttonMode = true;
ZerotoSixtyButton.buttonMode = true;
PowerButton.buttonMode = true;
WeightButton.buttonMode = true;
CostButton.buttonMode = true;
InGameCardBack.visible = true;
SpeedButton.x = 99; //Moves value buttons into correct position.
ZerotoSixtyButton.x = 99;
PowerButton.x = 99;
WeightButton.x = 99;
CostButton.x = 99;
Click.play();
}