I have looked at many threads but none are similar.
A few have looked at some/all the code but none have found the source of the error.
Please help- I have done a lot of work on this.
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);}}}
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;
import adobe.utils.CustomActions;
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.events.;
import flash.ui.Keyboard;
import mx.core.BitmapAsset;
//import board;
import flash.accessibility.AccessibilityImplementation;
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 flash.net.;
import StatusBox;
import flash.display.InteractiveObject;
import flash.text.TextFieldType;
import flash.events.FocusEvent;
import flash.display.;
import flash.display.Stage;
import flash.events.KeyboardEvent;
import flash.utils.*;
import boxtrans;
import flash.events.EventDispatcher
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="…/lib/Tile.gif")]
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>;
public function tile()
{ this.addEventListener(Event.ADDED_TO_STAGE, sd); }
private function sd(e:Event=void):void
{
removeEventListener(Event.ADDED_TO_STAGE, sd);
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* = [0, kanaList[row], valueList[row],]
trace (aplayersHand);
trace (aplayersHand*);
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 == 8)
{stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboardinput);
for (var i:uint = 0; (handstatus.length - 1); i += 1)
{if (handstatus* == "ret")
{kanaList.push(playerhandkana*);
valueList.push(playerhandvalue*);
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* == "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* == "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* == "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* == "set")
{ if (side* > 0)
{asws += (side* + (exclusionvalue* * LM*)) * WM*; }
amws += main* + (exclusionvalue* * LM*)
twm += WM*
generalx.push(exclusionx*);
generaly.push(exclusiony*);
generalkana.push(exclusionkana*);
generalvalue.push(exclusionvalue*);}}
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* == "set")
{if (wordcheck* == 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 == 8)
{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 = 32xx;
yy= int((this.y+16) / 32);
this.y = (32 * yy);
for (var i:uint = 0; i < (exclusionx.length-1); i += 1)
{if (xx == exclusionx && yy == exclusiony*)
{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* == exclusionx[id]+calcx) && (exclusiony* == 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;
} } }}