*edit: using as3
Hey, new to actionscript and trying to make a card game. I’m having trouble drawing a top card after shuffling my card array and wondering if anyone can show me where I went wrong:
package{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import fl.motion.MotionEvent;
import flash.display.BitmapData;
import flash.events.KeyboardEvent;
public class Game extends MovieClip{
var table:MovieClip;
var playAgain:MovieClip;
var playGame:MovieClip;
var blue:MovieClip;
var bCBmc:MovieClip;
var rCBmc:MovieClip;
var aceH:MovieClip;
var aceD:MovieClip;
var aceC:MovieClip;
var aceS:MovieClip;
function Game()
{
blue = new Blue();
bCBmc = new BCBmc();
rCBmc = new RCBmc();
table = new Table();
playGame = new PlayGame();
aceC = new AceC();
aceD = new AceD();
aceS = new AceS();
aceH = new AceH();
addChild(table);
addChild(playGame)
playGame.x = 175
playGame.y = 300
playGame.addEventListener (MouseEvent.MOUSE_OVER, I_Over_Trace);
playGame.addEventListener (MouseEvent.CLICK,Deck);
function I_Over_Trace (evt:MouseEvent)
{
trace ("I");
}
function Deck (evt:MouseEvent)
{
trace ("Love");
removeChild(playGame);
playGame.removeEventListener (MouseEvent.MOUSE_OVER, I_Over_Trace);
playGame.removeEventListener (MouseEvent.CLICK,Deck);
addChild(bCBmc);
bCBmc.x = 235.5
bCBmc.y = 500
addChild(rCBmc);
rCBmc.x = 235.5
rCBmc.y = 100
var a:Array = [aceD,aceH,aceS,aceC];
function shuffle():void{
var b:Array = [];
var i:int = a.length;
var j:int;
while(i){
i--;
j = (Math.random() * a.length);
b.push(a.splice(j, 1));
}
a = b.concat();
}
trace(a)
shuffle();
trace(a)
addChild(a[0]);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
function keyDownHandler(event:KeyboardEvent):void
{
if(event.keyCode == 32)
{
trace("axes");
}
}
}
}
}
}
On an unrelated note I don’t know why I have to click the stage for my keyboard event listener to work, so if you see why, please let me know.
Thanks!