Card Game Output Error Message


hi, everyone,

 

i'm making card game 2 shuffling decks. cards both decks supposed flip , drag. first deck working fine, in second deck, card won't flip. every time try flip card in second deck, output message:

 

typeerror: error #1009: cannot access property or method of null object reference.
@ wicky/clickcard()

 

i don't compiler errors @ moment, message every time click on deck two. card drag, won't flip, , error message pops up. have idea of mistake might be?

 

i have 2 files, wicky.as , wicky.fla. below code wicky.as. in advance help!

 

 

wicky.as

 


package {
import flash.display.*;
import flash.events.*;

public class wicky extends movieclip {
  // game constants
  private static const boardwidth:uint = 7;
  private static const boardheight:uint = 7;
 
  private static const boardoffsetx:number = 120;
  private static const boardoffsety:number = 45;

  private var firstcard:card;
  private var secondcard:card;
  private var thirdcard:card2;
  private var fourthcard:card2;
 
  public function wicky():void {
   // make list of card numbers
   var cardlist:array = new array();
   for(var i:uint=0;i<boardwidth*boardheight;i++) {
    cardlist.push(i);
   
   }
   
   var cardlist1:array = new array();
   for(var j:uint=0;i<boardwidth*boardheight;j++) {
    cardlist.push(j);
   
   
   }
  
   // create cards, position them, , assign randomcard face each
   for(var x:uint=0;x<boardwidth;x++) { // horizontal
    for(var y:uint=0;y<boardheight;y++) { // vertical
     var c:card = new card(); // copy movie clip
     c.stop(); // stop on first frame
    
     var r:uint = math.floor(math.random()*cardlist.length); // random face
     c.cardface = cardlist[r]; // assign face card
     cardlist.splice(r,1); // remove face list
     c.addeventlistener(mouseevent.click,clickcard); // have listen clicks
     addchild(c); // show card
    
    
     // create cards, position them, , assign randomcard face each
  
     var b:card2 = new card2(); // copy movie clip
     b.stop(); // stop on first frame
    
     var s:uint = math.floor(math.random()*cardlist1.length); // random face
     b.cardface = cardlist1[s]; // assign face card
     cardlist1.splice(s,1); // remove face list
     b.addeventlistener(mouseevent.click,clickcard); // have listen clicks
     b.x = 200
     b.y = 200
     addchild(b); // show card
    
    
   // function called when mouse button pressed.
   function startdragging(event:mouseevent):void
   {
        event.currenttarget.startdrag();
   }

    // function called when mouse button released.
    function stopdragging(event:mouseevent):void
   {
       event.currenttarget.stopdrag();
   }

   c.addeventlistener(mouseevent.mouse_down, startdragging);
   c.addeventlistener(mouseevent.mouse_up, stopdragging);
   b.addeventlistener(mouseevent.mouse_down, startdragging);
   b.addeventlistener(mouseevent.mouse_up, stopdragging);
    
    }
   }
  }
 
  // player clicked on card
  public function clickcard(event:mouseevent) {
   var thiscard:card = (event.target card); // card?
    firstcard = thiscard; // note i
    firstcard.gotoandstop(thiscard.cardface+2); // turn over
  
   }
  
   public function clickcard1(event:mouseevent) {
   var thatcard:card2 = (event.target card2); // card?
    thirdcard = thatcard; // note i
    thirdcard.gotoandstop(thatcard.cardface+2); // turn over
  
   }
  }
}

sorry, if code single class - mess. use nested functions unpredictable least. also, beneficial (and respectful) if formatted code , used syntax highlight available here.



More discussions in ActionScript 3


adobe

Comments

Popular posts from this blog

How to decompile jsxbin to jsx

Gavik Photoslide GK2: Not able to upload photos - Joomla! Forum - community, help and support

Phoca Guestbook logger registret bruger af - Joomla! Forum - community, help and support