Yahoo Answers is shutting down on May 4th, 2021 (Eastern Time) and beginning April 20th, 2021 (Eastern Time) the Yahoo Answers website will be in read-only mode. There will be no changes to other Yahoo properties or services, or your Yahoo account. You can find more information about the Yahoo Answers shutdown and how to download your data on this help page.

Lv 31,128 points

Jessica

Favorite Answers10%
Answers247
  • What do i need to change to stack my cards on top of each other regardless of their stack position?

    "use strict";

    var piles=[];

    var dragging;

    var draggingoffset=[];

    var cvs;

    var ctx;

    function main()

    {

    cvs = document.getElementById("cvs");

    ctx = cvs.getContext("2d");

    cvs.addEventListener("mousedown",mousedown);

    cvs.addEventListener("mouseup",mouseup);

    cvs.addEventListener("mousemove",mousemove);

    var deck=[];

    for(var r=1;r<=13;++r){

    for(var s=0;s<4;++s){

    deck.push(new Card(r,s));

    }

    }

    for(var i=0;i<deck.length;++i){

    var j = i+Math.floor(Math.random()*(deck.length-i));

    if( j == deck.length )

    j--;

    var tmp = deck[i];

    deck[i]=deck[j];

    deck[j]=tmp;

    }

    for(var i=0;i<7;++i){

    piles.push([]);

    for(var j=0;j<=i;++j){

    var c = deck.pop();

    c.setPosition( i*(Card.w+5), Card.h+20*j );

    if( j === i )

    c.visible=true;

    piles[i].push(c);

    }

    }

    draw();

    }

    function draw(){

    ctx.fillStyle="rgb(128,55,64)";

    ctx.fillRect(0,0,cvs.width,cvs.height);

    piles.every( function(q){

    q.every( function(c){

    c.draw(ctx);

    return true;

    });

    return true;

    });

    }

    function mousedown(e){

    var x = e.clientX-cvs.offsetLeft+window.pageXOffset;

    var y = e.clientY-cvs.offsetTop+window.pageYOffset;

    piles.every( function(q){

    return q.every(function(c){

    if( c.isInside(x,y) ){

    dragging = c;

    draggingoffset = [ dragging.x - x, dragging.y - y ];

    }

    return true;

    });

    });

    }

    function mouseup(e){

    dragging=undefined;

    }

    function mousemove(e){

    if(!dragging)

    return;

    var x = e.clientX-cvs.offsetLeft+window.pageXOffset;

    var y = e.clientY-cvs.offsetTop+window.pageYOffset;

    dragging.setPosition(x+draggingoffset[0],y+draggingoffset[1]);

    draw();

    }