Now I getting this ridiculous error.  
Look how much work I have done on it- worked a bit in a previous form
VideoVillain or someone else can you help or else I abandon all my work. 
Error #1007: コンストラクター以外にインスタンス化が試行されました。
Constructor error 
In Main.as
package
{
	import flash.display.Bitmap;
	import flash.display.Sprite;
	import flash.events.*;
	import flash.ui.Keyboard;
	import flash.accessibility.AccessibilityImplementation;
	import flash.display.Bitmap;
	import flash.display.MovieClip;
	import flash.text.TextField;
	import flash.text.TextFormat;
	import flash.display.Sprite;
	import flash.utils.ByteArray;
	import flash.events.MouseEvent;
    import flash.text.AntiAliasType;
	import flash.utils.describeType;
	import boxsprite;
	import flash.net.*;
	import flash.display.Stage;
	import board;
	import flash.events.KeyboardEvent;
	import flash.ui.KeyboardType;
	import Set;
public class Main extends Sprite
	{
		[Embed(source="../lib/Board.jpg")]
	    private var boardClass :Class;		
		public function Main():void
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		private var t1:Sprite;
		private var t2:Sprite;
		private var t3:Sprite;
		private var t4:Sprite;
		private var t5:Sprite;
		private var t6:Sprite;
		private var t7:Sprite;
		private var base:Sprite;
		private var boardonScreen:Bitmap;
		private var box1:Sprite;
		private function init():void
		{removeEventListener(Event.ADDED_TO_STAGE, init);
            boardonScreen= new boardClass() as Bitmap;
			 boardonScreen.x = 0;
			 boardonScreen.y = 0;
	         stage.addChild(boardonScreen);
			box1 = new boxsprite();
			box1.x = 480;
			box1.y = 0;
			stage.addChild(box1);
			base = new tile();
		    base.x =672;
			base.y = 448;
			stage.addChild(base);
			t1 = new tile();
			t1.x = 480;
			t1.y = 448;
			stage.addChild(t1);
			t2 = new tile();
			t2.x = 480;
			t2.y = 416;
			stage.addChild(t2);
            t3 = new tile();
			t3.x = 480;
			t3.y = 384;
			stage.addChild(t3);
			t4 = new tile();
			t4.x = 480;
			t4.y = 352;
			stage.addChild(t4);
			t5 = new tile();
			t5.x = 480;
			t5.y = 320;
			stage.addChild(t5);
			t6 = new tile();
			t6.x = 480;
			t6.y = 288;
			stage.addChild(t6);
			t7 = new tile();
			t7.x = 480;
			t7.y = 256;
           stage.addChild(t7);}}}
In tile.as 
package {
	import flash.display.Bitmap;
	import flash.display.Sprite;
	import flash.events.*;
	import flash.events.KeyboardEvent;
	import flash.events.MouseEvent;
	import flash.text.*;
	import flash.text.TextField;
	import flash.ui.Keyboard;
	import flash.utils.*;
	import Math;
	import Set;
	import StatusBox;
	///These import functions are used to ease the button back into place after a drag
	public class tile extends Sprite
	{   private var kana:String;
		private var value:uint;
		//private const backingcolour:uint = 0xe0e0e0;
		private var type:uint;
		private var isSetBox:Boolean;
		private static var valueaggreg:uint; //value of kanjitile
		static private var ret:Boolean; //do you return tiles from board
		static private var yplace:uint = 0;
		     //private var m_nDoubleClickSpeed:Number = 300;
			//private var m_toMouse:Number;
		private var xx:int;
		private var yy:uint;
		private var initialx:uint;
		private var initialy:uint;
		private var finalx:uint;
		private var finaly:uint;
        private var id:uint;
		private var selectghostList:Vector.<String>=new<String>["ま,マ","む,ム","も,モ","か,カ","く,ク","こ,コ","な,ナ","ぬ,ヌ","の,ノ","ば,バ","ぶ,ブ","ぼ,ボ","は,ハ","ふ,フ","ほ,ホ","ぱ,パ","ぷ,プ","ぽ,ポ"];
	    private var selectkanaList:Vector.<String>=new <String>["みゃ,ミャ", "みゅ,ミャ", "みょ,ミョ", "きゃ,キャ", "きゅ,キュ", "きょ,キョ", "にゃ,ニャ", "にゅ,ニュ", "にょ,ニョ", "びゃ,びゃ", "びゅ,ビュ", "びょ,ビョ", "  ひゃ,ヒャ", "ひゅ,ヒュ", "ひょ,ヒョ", "ぴゃ,ピャ", "ぴゅ,ピュ", "ぴょ,ピョ"];
        private var selectghostvalueList:Vector.<uint> = new <uint>[2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2];
	private const multiplier:Array = [["TW","1","1","DL","1","1","1","TW","1","1","1","DL","1","1","TW"],["1","DW","1","1","1","TL","1","1","1","TL","1","1","1","DW","1"],["1","1","DW","1","1","1","DL","1","DL","1","1","1","DW","1","1"],["DL","1","1","DW","1","1","1","DL","1","1","1","DW","1","1","DL"],["1","1","1","1","DW","1","1","1","1","1","DW","1","1","1","1"],["1","TL","1","1","1","TL","1","1","1","TL","1","1","1","TL","1"],["1","1","DL","1","1","1","DL","1","DL","1","1","1","DL","1","1"],["TW","1","1","DL","1","1","1","DL","1","1","1","DL","1","1","TW"],["1","1","DL","1","1","1","DL","1","DL","1","1","1","DL","1","1"],["1","TL","1","1","1","TL","1","1","1","TL","1","1","1","TL","1"],["1","1","1","1","DW","1","1","1","1","1","DW","1","1","1","1"],["DL","1","1","DW","1","1","1","DL","1","1","1","DW","1","1","DL"],["1","1","DW","1","1","1","DL","1","DL","1","1","1","DW","1","1"],["1","DW","1","1","1","TL","1","1","1","TL","1","1","1","DW","1"],["TW","1","1","DL","1","1","1","TW","1","1","1","DL","1","1","TW"]];
	private var vis:Boolean = true; //visibility
private var isSet:Boolean;
	[Embed(source = "C:/Users/Makiko/Desktop/Michael/Games/Test/New Project/lib/Tile.png")]
	private var tileClass:Class
    private var kanaList:Vector.<String> = new <String>["あ,ア", "あ,ア", "え,エ", "え,エ", "い,イ", "い,イ", "お,オ", "お,オ", "う,ウ", "う,ウ", "う,ウ", "う,ウ", "か,カ", "か,カ", "け,ケ", "け,ケ", "き,キ", "き,キ", "く,ク", "く,ク", "こ,コ", "こ,コ", "さ,サ", "さ,サ", " し,シ", " し,シ", "す,ス", "す,ス", "そ,ソ", "そ,ソ", "す,ス", "す,ス", "た,タ", "た,タ", "て,テ", "て,テ", " ち,チ", " ち,チ", "と,ト", "と,ト", "つ,ツ", "つ,ツ", "ら,ラ", "ら,ラ", "れ,レ", "れ,レ", "り,リ", "り,リ", "ろ,ロ", "ろ,ロ", "る,ル", "る,ル", "だ,ダ", "で,デ", "じ,ジ", "ど/ド", "ず,ズ", "ざ,ザ", "ぜ,ゼ", "ぞ/ゾ", "な,ナ", "ね,ネ", "に,二", "の,ノ", "ぬ,ヌ", "じゃ,ジャ", "じゅ,ジュ", "じょ,ジョ", "ん,ン", "しゃ,シャ", "しゅ,シュ", "しょ,ショ", "や,ヤ", "ゆ,ユ", "よ,ヨ", "は,ハ", "ひ,ヒ", "ふ,フ", "へ,ヘ", "ほ,ホ", "ば,バ", "ば,バ", "ぶ,ブ", "ぶ,ブ", "び,ビ", "び,ビ", "ぼ,ボ", "ぼ,ボ", "べ,ベ", "べ,ベ", "ぱ,パ", "ぴ/ピ", "ぷ,プ", "ぺ,ペ", "ぽ,ポ", "ま,マ", "み,ミ", " む,ム", "め,メ", "も,モ", "を/ヲ", "みゃ,ミャ", "みゅ,ミャ", "みょ,ミョ", "きゃ,キャ", "きゅ,キュ", "きょ,キョ", "にゃ,ニャ", "にゅ,ニュ", "にょ,ニョ", "びゃ,びゃ", "びゅ,ビュ", "びょ,ビョ", "ひゃ,ヒャ", "ひゅ,ヒュ", "ひょ,ヒョ", "ぴゃ,ピャ", "ぴゅ,ピュ", "ぴょ,ピョ", "っ,ッ", "っ,ッ"];
    private var valueList:Vector.<uint>= new <uint>[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 10, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 1];
    // Lists of Kana that can be replaced in the replace mode and the substitute Kana and Values
	//Start list of playerHand contents as I don't know if Null is 0
     private var playernumber:uint; //total number of players
	 private var allplayersHand:Array = [[], [], [], [],[], []];
	private var playerRound:uint = 1; //which player
	private var round:uint = 1; //round of the game
	private var aplayersHand:Array; // hand of the current player
	private var mode:uint;
	private var tileImage:Bitmap;
	private static var idvar:uint;
	static private var first:Boolean = true;
	private var special:Boolean = false;
	static private var handstatus:Vector.<String>;
	//handstatus types are idle: free, ret: ready to return to stock, set: set on board, rem: ready to removed, not
	public function tile()
	{ addEventListener(Event.ADDED_TO_STAGE, standarddisplay); }	
				private function standarddisplay(e:Event=void) : void
		   {trace("Project is running fine!");
		    removeEventListener(Event.ADDED_TO_STAGE, standarddisplay);
			tileImage = new tileClass as Bitmap;
			addChild(tileImage);
			//Draws the japanese letter on the tile
			  var kanafield:TextField = new TextField();
			  kanafield.width = 40;
			  kanafield.height = 20;
			  kanafield.x = -2;
			  kanafield.y = -5;
			  kanafield.text == "";
			  trace(kanafield.text);
			  kanafield.wordWrap = true;
			  kanafield.background = true;
			  var kanafieldformat:TextFormat = new TextFormat();
			  kanafieldformat.size = 12;
			  kanafieldformat.font = "Arial";
			  kanafield.setTextFormat(kanafieldformat);
			  this.addChild(kanafield);
		      kanafield.mouseEnabled = false;
             //Draw the number on the tile
			  valuefield= new TextField();
			  valuefield.width = 30;
			  valuefield.height = 10;
			  valuefield.x = 0;
			  var valuefieldformat:TextFormat = new TextFormat;
			  valuefieldformat.size = 7;
			  valuefield.text = "";
			  valuefield.y = 15;
			  valuefield.background = false;
		      valuefield.setTextFormat(valuefieldformat);
			  this.addChild(valuefield);
			  valuefield.mouseEnabled = false;
		    //Add an event listener to the tile on the stage
			checktype(); }
			private function checktype():void
			{if (first != true)
	{   id = idvar;
	    idvar += 1;
		value = playerhandvalue[id];
	stage.addEventListener(KeyboardEvent.KEY_DOWN,keyboardinput);
	this.addEventListener(StatusBox.STATUSBOXCHANGED,moderesponse);
	this.addEventListener(StatusBox.HIDE, SetAlpha);
	isSetBox = false }
	else
	{	special = true;
		first = false;
		this.addEventListener(Set.BOX_SET_CHANGED,btr)
			init();}}
	private function init():void
	{ trace("starting");
	  stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown);
	  stage.addEventListener(MouseEvent.MOUSE_UP, dnp);}
	private function dnp(e:MouseEvent):void
	{   stage.removeEventListener(KeyboardEvent.KEY_DOWN,myKeyDown);
		stage.removeEventListener(MouseEvent.MOUSE_UP, dnp);
		trace(playernumber);
		create();	}
	private function myKeyDown(e2:KeyboardEvent):void
							{ if (e2.keyCode == Keyboard.NUMBER_1)
							{playernumber = 1;
								   trace(playernumber);}
								 else if (e2.keyCode == Keyboard.NUMBER_2)
								  {playernumber = 2;
								  trace(playernumber)}
								  else if (e2.keyCode == Keyboard.NUMBER_3)
								  {playernumber = 3;
								  trace(playernumber);}
								  else if (e2.keyCode == Keyboard.NUMBER_4)
								  {playernumber = 4;
								  trace(playernumber); }
								  else if (e2.keyCode == Keyboard.NUMBER_5)
								  {playernumber = 5;
								  trace(playernumber);}
								  else if (e2.keyCode == Keyboard.NUMBER_6)
								  {playernumber = 6; }
								  else {playernumber = 1;}}
	private function create():void
							 {       var listLength:uint;
									  var row:uint
									  aplayersHand = allplayersHand[playerRound];
									  for (var i:uint = (aplayersHand.length-1); i <= 6; i+=1)
									  {  listLength = kanaList.length;
										  row = int(Math.random() * listLength);			           
									  trace (row);
									  trace(i);
									  aplayersHand[i] = [0, kanaList[row], valueList[row],]
									  trace (aplayersHand);
									  trace (aplayersHand[i]);
									   kanaList.splice(row,1);
									   valueList.splice(row, 1);
									  playerhandkana.push(kanaList[row]);
									 playerhandvalue.push(valueList[row]);}
							         dispatchEvent( new StatusBox(StatusBox.STATUSBOXCHANGED, 1));						 }
                  private function moderesponse(e:StatusBox):void
						{ mode = e.mode;
	    cleanup();
		if (special == false)
		{
		if (mode == 1)
		   { this.visible = true;
		     this.kanafield.visible = true;
			 this.valuefield.visible = true;
			   this.x = 480;
		     this.y = (480 - (id*32));
			   kana = playerhandkana[id];
			   value = playerhandvalue[id];
			   kanafield.text = kana;
			   valuefield.text = String(value);
			   this.addEventListener(MouseEvent.MOUSE_DOWN, draglocation);
			   }
		else if (mode == 4)
		{if (handstatus[id] == "rem")
		    {handstatus[id] = "idle"; }	}	}
		else if (special == true)
		{ if (mode == 

		{stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboardinput);
	    for (var i:uint = 0; (handstatus.length - 1); i += 1)
		{if (handstatus[i] == "ret")
			 {kanaList.push(playerhandkana[i]);
			 valueList.push(playerhandvalue[i]);
			 endgame = true;}		}
		if (endgame == true)
		{		dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 9, false, false));}
		else 		{{var cfh:Boolean = checkforwordtype(horzword);
			var cfv:Boolean = (checkforwordtype(vertword));
			var hl2:uint;
		    if ((handstatus.length > 1 && (cfh == false) && (cfv == false)))
			{dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 10, false, false));}
			if (generalx.length == 0)
		    {for (var j:uint = 0; (handstatus.length - 1); i += 1)
			  {if (handstatus[i] == "set")
			     {hl2 += 1 } }
			  if (hl2 == 1)
			  {dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 10, false, false)); }}
			if ((cfh == true) && (cfv == true))
			 {dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 10, false, false));	}
		    else if (cfh == true)
		    {calctotalscore(valuehor, valuevert);}
			 else if (cfv == true)
			 {calctotalscore(valuevert, valuehor);	}	}	}
		    for (var k:uint = 0; k < (handstatus.length - 1); k += 1)
			{ if(handstatus[i] == "idle" || "rem")
			 {  var o:uint=0
				 allplayersHand[playernumber][o] = [kana, value];
				 o += 1; }}}
		else if (mode == 9)
         {if (ret == true)
		 { ret = false;
		  for (var m:uint = 0; m < (handstatus.length - 1); m += 1)
			{ if(handstatus[i] == "set")
			 {  var p:uint=0
				 allplayersHand[playernumber][p] = [kana, value];
				 p += 1; }}
		 dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 1, false, false));}
		 else { setinplace();
          		dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 1, true, true));
		 }	}
		 else if (mode == 10)
		 {isSet = false;
	isSetBox = false;
	this.visible = false;
	create();}}}
	private function btr(e:Set):void
	    {if (e.valueex > 0)
		{	if (e.kanaex == "kanji")
		 {kanafield.type = TextFieldType.INPUT;
		  value += e.valueex;
		  valuefield.text = String(value);}
		 else if (e.kanaex == "k+" )
		 {value += e.valueex;
		 valuefield.text = String(value);}
		 else if (e.kanaex == "k-")
		 {value-= e.valueex;
		 valuefield.text = String(value);}
		 else if (e.kanaex == "nokanji")
		 {kanafield.type = TextFieldType.DYNAMIC;
		  value = 0;
		  kana = "";
		  valuefield.text = "";}}
		 else
		 {if (kana == "")
		  { if (e.valueex == 0)
	        {kana =selectghostList[selectkanaList.indexOf(e.kanaex, 0)];
			 value = selectghostvalueList[selectkanaList.indexOf(kana, 0)];
			 kanafield.text = kana;
			valuefield.text = String(value);}
		    else
			{kana = "";
			value = 0;
			kanafield.text = "";
			valuefield.text = "";}}}}
	private var error:String;
	private function SetAlpha(e:StatusBox):void
	{ if (isSetBox == true)
		{this.alpha = 0;
		this.mouseEnabled = false;	}	}
		static private var scorelist:Array = [[]];
	private function setinplace():void {
		if (isSet==true)	{
			/*var lob1:Sprite = new lob(kana, value);
				lob1.x = xx;
				lob1.y = yy;
				stage.addChild(lob1);*/
				removeEventListener(StatusBox.SETDOWN, setinplace);
				stage.removeChild(this);}
				else		{stage.removeChild(this);}	}
    static private var turnscore:uint;
	static private function calctotalscore(main:Vector.<uint>,side:Vector.<uint>):uint
	{  var 	tws:uint;
	   var twm:uint;
	   var amws:uint;
	   var asws:uint;
		for (var i:uint = 0; (handstatus.length - 1); i += 1)
			  {if (handstatus[i] == "set")
			     { if (side[i] > 0)
				     {asws += (side[i] + (exclusionvalue[i] * LM[i])) * WM[i]; }
					amws += main[i] + (exclusionvalue[i] * LM[i])
					twm += WM[i]
					generalx.push(exclusionx[i]);
					generaly.push(exclusiony[i]);
				 generalkana.push(exclusionkana[i]);
					generalvalue.push(exclusionvalue[i]);}}
			  exclusionx = new  Vector.<uint>
			  exclusiony = new Vector.<uint>
			  exclusionkana = new Vector.<String>
			  exclusionvalue= new Vector.<uint>
			  tws = (asws + amws) * twm;
			 return tws;}
	private function checkforwordtype(wordcheck:Vector.<Boolean>):Boolean
	{	for (var i:uint = 0; handstatus.length - 1; i += 1)
	{  var check:Boolean = false;
		if (handstatus[i] == "set")
	    {if (wordcheck[i] == true)
		{check = true;}}}
		return check;}
	private var endgame:Boolean;
	private var playerhandkana:Vector.<String> = new Vector.<String>(7);
	private var playerhandvalue:Vector.<uint> = new Vector.<uint>(7);
	private var valuefield:TextField;
	private function keyboardinput(e:KeyboardEvent):void
	{   if (mode == 2 || 3 || 4 || 5||8)
		{if (e.keyCode == Keyboard.I)
		{ vis = !vis;
		if ((isSet=false)&&(isSetBox=false))
		{this.visible = vis;
	     this.kanafield.visible = vis;
		this.valuefield.visible = vis;}}}
		if (mode == 

        {if (e.keyCode == Keyboard.R)
		{ret = !ret; }}}
	private var kanafield:TextField = new TextField();
		   static  private var generalx:Vector.<uint>;
		   static private var generaly:Vector.<uint>;
		   static private var generalkana:Vector.<String>;
		   static private var generalvalue:Vector.<uint>;
		   static private var exclusionx:Vector.<uint>;
			static private var exclusiony:Vector.<uint>;
			static private var exclusionvalue:Vector.<uint>;
			static private var exclusionkana:Vector.<String>;
			private function addExclusion():void
			{exclusionx[id]=xx;
			    exclusiony[id] = yy;
				exclusionkana[id] = kana;
				exclusionvalue[id] = value;	}
				private function removeExclusion():void
				{ exclusionvalue[id] = 0;
				  exclusionkana[id] = "0";
				  exclusionx[id] = 0;
				  exclusiony[id] = 0;	}
//The initial event performed when the button is first clicked;
			private function draglocation(e:MouseEvent):void
			{	removeEventListener(MouseEvent.MOUSE_DOWN, draglocation);
				initialx = this.x;
				initialy = this.y;
				if (isSet==false ||isSetBox == false)
				{	stage.addChild(this)
				this.startDrag();
				this.addEventListener(MouseEvent.MOUSE_UP, clickcheck);}		}
			private function clickcheck(e:Event):void
			{  if (isSetBox==false || isSet == false)
				{ this.stopDrag();
				removeEventListener(MouseEvent.MOUSE_UP, clickcheck);}
				finalx = this.x;
				finaly = this.y;
				if ((((finaly - initialy) ^ 2 + (finalx - initialx) ^ 2)^0.5) < 5)
				{HandleDoubleClick();	}	}
		     private function HandleDoubleClick():void
   		{if (this.x < 480 && this.y < 480)
			    {if (isSet == false)
			          {isSet = true;
				  this.stopDrag();
				   xx= int((this.x+16) / 32);
					  this.x = 32*xx;
				     yy= int((this.y+16) / 32);
					 this.y = (32 * yy);
					 for (var i:uint = 0; i < (exclusionx.length-1); i += 1)
                     {if (xx == exclusionx[i] && yy == exclusiony[i])
					 {notSet = true }}
					 if (generalx.length > 0)
					 {var notSet:Boolean;
					    for (var q:uint = 0; q < (generalx.length - 1); q += 1)
					  {if (xx == generalx[q] && yy == generaly[q])
					 {notSet = true }
					 else {notSet=false}}}
				  if (notSet == false)
					 {handstatus[id] = "set";
					 addExclusion();
					 notSet = true; }
					  else {isSet = false;}}
				else { handstatus[id] = "idle";
                  removeExclusion();}}
			else if (this.x > 480 && this.y < 480 && this.x < 704)
				{if (isSetBox == false)
						 {setonbox(); }
							 else {takeoffbox(); }} }
							 static private var killsetBox: Boolean;
			static private var WM:Vector.<uint>;
			static private var LM:Vector.<uint>;
			static private var horzword:Vector.<Boolean>;
	        static private var vertword:Vector.<Boolean>;
			static private var idtoreplace:uint;
			private function rawscore(calcx:int, calcy:int):uint
			{ var xincr:uint = 1;
			var yincr:uint = 1;
			var value:uint = 0;
			while ((Number(boardarray[xx + (calcx * xincr)][yy + calcy * yincr])) != 0)
				{ value += (boardarray[xx + (calcx * xincr)][yy + calcy * yincr]);
				  xincr += 1; yincr += 1;	}
					if (value == 0)
					{ for (var i:uint = 0; exclusionx.length - 1;i+=1)
						{ if (((exclusionx[i] == exclusionx[id]+calcx) && (exclusiony[i] == exclusiony[id] + calcy)))
						 {if (Math.abs(calcx) == 1)
						 { horzword[id] = true;}
							else	{vertword[id] = true; }	}	}	}
			return value;	}
			static private var valuehor:Vector.<uint>;
			static private var valuevert:Vector.<uint>;
	static private var boardarray:Array=new Array[[]];
			private function checkscore():void
			{ switch(multiplier[exclusionx[id], exclusiony[id]])
				{case "TW": WM[id] = 3; LM[id] = 1; break;
				 case "DW": WM[id] = 2; LM[id] = 1; break;
				 case "TL": LM[id] = 3; WM[id] = 1; break;
				 case "DL": LM[id] = 2; WM[id] = 1; break;
				 default: LM[id] = 1; WM[id] = 1;}
					 valuehor[id] =	rawscore(1, 0) + rawscore( -1, 0);
					 valuevert[id] = rawscore(0, 1) + rawscore(0, -1);	}
			private function cleanup():void
					{ if (mode == 2 || 3 || 4 || 5)
					  {	  yplace = 0;
						  if (killsetBox=false)
						   {isSetBox = false;
						  handstatus[id] = "idle"; }
						  else
						  {if (isSetBox ==true)
								 { this.visible = false;
								   this.kanafield.visible = false;
								   this.valuefield.visible = false;
								 handstatus[id] = "not";
					killsetBox = false; }	 }	}}
	private var first:Boolean = true;
	private function kanachange(e:Set):void
	{	if (id==handstatus.indexOf(e.kanaex,0))
		{kana = e.kanaex;
		value = e.valueex;
		kanafield.text = kana;
		valuefield.text = String(value);
		playerhandkana[id] = e.kanaex;
		playerhandvalue[id] = e.valueex;}
		else
		{ kana = "";
		value = 0;
	handstatus[id] = "not";}}
	private function setonbox():void
			{addEventListener(Set.BOARD_SET_CHANGED, kanachange);
			 if (mode==3)
			 {isSetBox = true;
			 this.x = 480;
			 this.y = 448 - (yplace * 32);
			 handstatus[id] = "ret";}
			 else if (mode == 4)
			 {	 if (yplace == 0)
			 {dispatchEvent(new Set(Set.BOX_SET_CHANGED, kana, 0));
			 isSetBox = true;
			 this.x = 480;
			 this.y = 448 - (yplace * 32);
           	 handstatus[id] = "rem";} }
			 else if (mode == 5)
			 { { isSetBox = true;
			 this.x = 480;
			 this.y = 448 - (yplace * 32);}
		     if (yplace == 0)
			  {dispatchEvent(new Set(Set.BOX_SET_CHANGED, "kanji", value)); }
			 else if (yplace > 0)
			 {dispatchEvent(new Set(Set.BOX_SET_CHANGED, "k+", value));  }
			yplace += 1; }}
			 private function takeoffbox():void
			 { removeEventListener(Set.BOARD_SET_CHANGED, kanachange);
               isSetBox = false;
			 if (mode == 3)
			 { handstatus[id] = "idle";
			 isSetBox=false}
			 else if (mode ==4)
			 { if (yplace == 1)
			 {dispatchEvent(new Set(Set.BOX_SET_CHANGED, kana, 1));
			 isSetBox = false;
			 handstatus[id] = "idle"  }
			 else if (mode == 5)
			 { if (yplace == 1)
			 {dispatchEvent(new Set(Set.BOX_SET_CHANGED, "nokanji", value));		 }
			 else if (yplace > 1)
			 {dispatchEvent(new Set(Set.BOX_SET_CHANGED, "k-", value));  }}
			  handstatus[id] = "idle";
			 	yplace-= 1;			 }}
			private function goodX(inX:Number):Number
			{if (inX < 0)
			{return 0;}
			if (inX > (stage.stageWidth) )
			{return (stage.stageWidth);
			}return inX;}
			private function goodY(inY:Number):Number {
			if (inY < 0)
			{return 0;	}
			if (inY > stage.stageHeight) {return stage.stageHeight;}
			return inY;	}
				private function turn1():void
							 {if (playerRound > playernumber)
								 {playerRound = 1;
								 round += 1;
								 } }	}}