STORY LOOP FURRY PORN GAMES C SERVICES [?] [R] RND POPULAR | Archived flashes: 229595 |
/disc/ · /res/ — /show/ · /fap/ · /gg/ · /swf/ | P0001 · P2595 · P5190 |
This is the info page for Flash #12612 |
<P ALIGN="LEFT"><FONT FACE="_typewriter" SIZE="11" COLOR="#000000"> </FONT></P> |
OK |
STALEMATE. |
GAME IS A DRAW. |
(total moves: 15) |
CHECKMATE! |
YOU WIN! |
(total moves: 15) |
o |
d |
n |
u |
y |
a |
l |
p |
e |
r |
t |
i |
q |
PAWN PROMOTION |
Choose your pawn's new piece: |
YOU LOSE. |
(total moves: 15) |
2005 James M. Burton |
c |
Easy Chess |
play |
about |
rules |
back |
> |
is an attempt to answer the question: can a computer chess program Be MADE so unintelligent that even it's creator, james M. Burton, can OCCASIONALLY beat it? I also hope this might be a good game for beginners LOOKING FOR an easy opponent. This and other flash & Windows games are 100% Free to downloaded from www.somegames.net. |
A |
B |
C |
D |
E |
F |
G |
H |
1 |
3 |
2 |
4 |
5 |
6 |
7 |
8 |
Game Record: |
Your Turn |
Computer's Turn |
Your Turn Check! |
Computer's Turn Check! |
Checkmate! You Win! |
Checkmate! You Lose! |
Stalemate. No one wins. |
REPLAY |
Easy Chess |
undo |
replay |
quit |
DONE |
Next |
This is a brief overview of the rules of chess. if you already know how to play, prepare to have your intelligence insulted. Chess is played on a square board with 8 rows and 8 columns, making 64 squares. There are always two players: one black, one white. In this Flash game, the human always plays white and the computer black. Normally you choose randomly who goes first, but in this game the human is always first. Each turn, a player moves just one piece (except in a special case called "castling" that I will get to). If you move your piece onto a square occupied by an opponent's piece, you capture the piece, removing it permanently from the game. Neither player is ever allowed to pass or skip a turn. |
Rules of Chess: Overview |
Here is how the board always begins. You, the human, control the white pieces at the bottom; the computer controls the black. Each player gets six kinds of pieces: pawns, knights, bishops, rooks, queens, and kings. The board is always arranged so that the bottom right square is white (from both players' perspectives). Both queens start on squares of their own color (i.e. on the left). Kings start on squares of the opposite color (i.e. on the right). |
Rules of Chess: initial board |
This is a pawn. |
Pawns are the weakest pieces in the game, but also the most common. Each player gets eight pawns. |
A pawn can normally move only one square, straight forward; but the first time it moves it can go either one or two squares forward. A pawn cannot move forward if it is blocked by any other piece, either friend or enemy. In the example to the left: notice that "forward" is up for white and down for black, and how the rightmost pawns are stuck, unable to move. |
Rules of Chess: PAWNS |
Although a pawn cannot move forward if blocked by another piece, it can move diagonally forward if (and only if) the square is occupied by an enemy piece. By moving into the enemy's square, the pawn captures the piece. In this example, the left white pawn can make one capture, the middle can make two (or go straight forward), and the right pawn can't make any (although it too can go forward). You can never move one of your own pieces on top of another, ever. |
Rules of Chess: Pawn Captures |
This is a knight. |
The knight is the piece that looks like a horse. Each player gets two knights. |
The knight has an odd movement pattern: in a single move it always goes one square horizontally or vertically, then one square diagonally away from its original position. The knight is the only piece that can jump over another piece (either friend or enemy). It captures pieces only by landing on them, not by jumping over them (since this is not checkers). |
Rules of Chess: KNIGHTS |
This is a bishop. |
The bishop is the third- strongest piece in the game. Each player gets two bishops. |
A bishop can move as far as it wants in a diagonal line (see example), except that it cannot jump over another piece. That means it must stop before any friendly piece, or it can land on the square of an enemy piece to capture it. Because a bishop always moves diagonally, it spends its whole life on squares the same color as the one it began on. |
Rules of Chess: BISHOPS |
This is a rook. |
The rook is the piece that looks like a tower. It is the second-strongest piece in the game. Each player gets two rooks. |
A rook moves like a bishop, except in a straight horizontal or vertical line instead of diagonal. Like a bishop, it cannot jump over pieces: it must stop before friendly pieces, or it can land on the square of an enemy piece to capture it. |
Rules of Chess: ROOKS |
This is a queen. |
The queen is the strongest piece in the game. Each player gets one queen. |
A queen moves like a bishop and rook combined: in one move she can go as far as she wants in any direction, horizontal, vertical, or diagonal. Like bishops and rooks, a queen cannot jump over a piece, but she can capture an enemy piece by moving onto its square. |
Rules of Chess: QUEENS |
This is a king. |
The king is the most important piece in the game. Each player gets one king. |
A king is not very strong: it can move one square in any direction (and can capture enemy pieces that way). But it is extremely important: you win the game by "checkmating" your enemy's king, or lose it by having your own king "checkmated". A king is never captured, for reasons you are about to learn... |
Rules of Chess: KINGS |
Because the king is so important, you cannot move it to any square where the enemy can capture it in the next move. Similarly, you cannot move any piece if that move would allow the other player to capture your king in the next move. In this example, the white king cannot move to the left or it would be captured by the black rook. The white knight cannot move at all (it is "pinned"), since if it moved the black bishop could capture the king. Only the white pawns are free to move as they like, since by moving they do not expose their king to capture. |
Rules of Chess: DEFENDING THE KING |
If one player manages to threaten the other player's king with capture (such that, if the player did nothing, the king could be captured in the next move), then the threatened player is in check. When you put someone in check, you are supposed to say "check" out loud. The player in check must immediately take itself out of check by (a) moving the king to safety, (b) capturing the threating piece, or (c) getting a third piece in the threatening piece's way. In this example, the black rook has put white in check. White must either move its king, kill the rook with the white knight, or move the white bishop between the rook and the king. |
Rules of Chess: CHECK |
If one player maneges to put the other's king into check so that it cannot escape capture, then it is checkmate and the player wins! In this example, the white player has put the black king into checkmate, since it can be captured by the white queen and there is no way for it to escape (anywhere the king runs some white piece can capture it). White has won the game. The sole goal of chess is to put your opponent into checkmate. Capturing pieces is secondary: you can have fewer pieces than your opponent and still win. |
Rules of Chess: CHECKMATE |
If it is a player's turn, and that player is not in check but cannot make any move without exposing its king to capture (and so can't make any move at all), then the game ends in stalemate: a tie. In this example, the black player (whose turn it is), is in stalemate. The black king is not in check, but there is no square it can move to without being captured. The two black pawns cannot move, because they are stuck. Players who are close to losing will often try to force themselves into stalemate. |
Rules of Chess: STALEMATE |
That's pretty much it: that's the game of chess. There are however a few special rules. The first is pawn promotion. If a pawn makes it all the way to the other side of the board, it is instantly promoted into a better piece. The player gets to choose whether it becomes a knight, bishop, rook, or queen (but never a king). Nine times out of ten the player will promote the pawn into a queen, of course. In this example, the white pawn in the top left is about to get promoted. Click "next" to see what happens. |
SPECIAL RULE #1: Pawn promotion |
The pawn was promoted into a queen. Observe that the black king is now in check (though not checkmate, since it can move downwards to escape capture by the queen). |
The next specal rule is castling. If (a) all the squares between your king and one of your rooks is empty, (b) neither the king nor the rook has moved in the game yet, and (c) no enemy piece is threatening the king, the rook, or any square between them; then you can "castle" by moving your king two squares toward the rook, and your rook to one square to the other side of the king (to the left of the king if it started on the right, to the right if it started on the left). Here is an example of castling with the right rook (also called a "short castling"). |
SPECIAL RULE #2: CASTLING |
Notice how castling can put you in a good defensive position, since now the king is protected within a "castle" of rook and pawns. |
Here is an example of castling with the left rook (also called "long castling"). Observe that the king moves two squares, while the rook moves three squares. Just as in short castling, all spaces between the king and the rook must be empty, neither king nor rook may have moved yet, and no enemy piece can be threatening the king, the rook, or any empty square between them. |
As with short castling, this move can put your king into a good defensive position. |
En passant is the weird rule nobody bothers to learn. If one player moves a pawn two squares forward (which is only allowed on that pawn's first move), so that it passes over a square where an enemy pawn could have taken it if it had moved just one square forward, then that enemy pawn can capture the piece by moving diagonally to where it would have been if it had gone one space forward. If that made no sense, the example to the left should help (black pawn moves two squares forward, white pawn captures black pawn en passant). |
1 |
2 |
SPECIAL RULE #3: EN PASSANT |
En passant, by the way, is the only way you can ever capture a piece without moving your own piece onto its square. |
There are a few miscellaneous rules that I haven't bothered to put into the game (yet). Here are the main missing rules that I know about: #1. Random selection of which side goes first. #2. Chess clocks to limit how long you can think before a move. (I never liked playing chess with a clock anyway.) #3: Stalemate by repetition (if the same board position is repeated 3 times in the game, it's an automatic stalemate). #4: Stalemate by attrition (if 50 moves pass without a single capture or pawn move, it's an automatic stalemate) #5: Full moon rule (on full moons and leap day, bishops move like knights and kinghts like bishops) |
Rules of Chess: MISSING RULES |
The user interface should be straightforward. To move one of your own pieces, either click the piece and then click where you want it to go, or else just drag the piece directly. The computer will not let you make an illegal move (including exposing your king to capture). The computer will move automatically after you. It may need a few seconds to ponder first. To get the hang of the controls, try moving the queen around now. |
Rules of Chess: HOW TO MOVE |
Well done! You should know enough now to play the game. I hope it will be a good way for beginners to learn, and for everyone else to improve their self-esteem. Email me at burton@cs.stanford.edu if you find any bugs or problems with this game. This and other Flash & Windows games are 100% free for you to download and play from http://www.somegames.net |
Rules of Chess: FIN. |
ActionScript [AS1/AS2]
Frame 1function init_game() { game_state = "init"; setup_piece_values(); init_board(); init_piece_sprites(); piece_fade = 0; select_row = (select_col = -1); blue_select._visible = false; green_select._visible = false; cyan_select._visible = false; ai_pawnjump = -1; player_pawnjump = -1; history_elems = new Array(); history_total_length = 0; in_replay = false; current_dialog_symbol = null; rand_enable = true; } function game_main() { if (game_state == "init") { game_state = "fade_in"; return("Animate"); } if ((game_state == "fade_in") || (game_state == "move_ai_piece")) { game_state = "player_move"; prepare_player_turn(); return("PlayerMove"); } if (game_state == "player_move") { game_state = "move_pl_piece"; return("Animate"); } if (game_state == "move_pl_piece") { game_state = "ai_ponder"; prepare_ai_turn(); return("AIPonder"); } if (game_state == "ai_ponder") { game_state = "move_ai_piece"; return("Animate"); } if (game_state == "replay") { game_state = "fade_for_replay"; return("Animate"); } if (game_state == "fade_for_replay") { start_replay(); game_state = "fade_in"; return("Animate"); } if (game_state == "quit") { game_state = "fade_out"; clear_history(); piece_fade = 0; return("Animate"); } if (game_state == "fade_out") { return("Fade Out"); } } function game_anim() { if (game_state == "fade_in") { return(fade_pieces()); } if (game_state == "fade_out") { return(unfade_pieces(false)); } if (game_state == "fade_for_replay") { return(unfade_pieces(true)); } if ((game_state == "move_pl_piece") || (game_state == "move_ai_piece")) { return(do_move_piece()); } } function prepare_player_turn() { select_row = (select_col = -1); drag_piece = null; var in_check = is_in_check(1); player_legal_moves = get_legal_moves(1); if (player_legal_moves.length == 0) { if (in_check) { indicate_turn("ai_mate"); show_game_dialog("ai_checkmate"); } else { indicate_turn("stalemate"); show_game_dialog("stalemate"); } } else if (in_check) { indicate_turn("pl_check"); } else { indicate_turn("pl_turn"); } } function check_player_replay() { if (in_replay && (replay_index < replay_moves.length)) { var replay_move = replay_moves[replay_index++]; if (replay_index >= replay_moves.length) { in_replay = false; } begin_player_move(replay_move.old_row, replay_move.old_col, replay_move.new_row, replay_move.new_col); } } function release_player_moves() { delete_moves(player_legal_moves); } function is_legal_player_move(old_row, old_col, new_row, new_col) { if ((old_row == new_row) && (old_col == new_col)) { return(false); } if (ai_board[new_row][new_col] < 0) { return(false); } return(lookup_player_move(old_row, old_col, new_row, new_col) != null); } function lookup_player_move(old_row, old_col, new_row, new_col) { var i = 0; while (i < player_legal_moves.length) { if ((((player_legal_moves[i].old_row == old_row) && (player_legal_moves[i].old_col == old_col)) && (player_legal_moves[i].new_row == new_row)) && (player_legal_moves[i].new_col == new_col)) { return(player_legal_moves[i]); } i++; } return(null); } function perform_undo() { if (history_elems.length < 2) { return(undefined); } var history_elem = pop_history(); undo_history_element(history_elem); if ((history_elems.length % 2) == 1) { history_elem = pop_history(); undo_history_element(history_elem); } delete_moves(player_legal_moves); select_row = (select_col = -1); blue_select._visible = false; green_select._visible = false; cyan_select._visible = false; } function undo_history_element(elem) { ai_board[elem.old_row][elem.old_col] = ai_board[elem.new_row][elem.new_col]; create_piece(elem.old_row, elem.old_col, true); ai_board[elem.new_row][elem.new_col] = 0; delete_piece(elem.new_row, elem.new_col); ai_board[elem.new_row][elem.new_col] = elem.captured; create_piece(elem.new_row, elem.new_col, true); pl_board[7 - elem.old_row][elem.old_col] = pl_board[7 - elem.new_row][elem.new_col]; pl_board[7 - elem.new_row][elem.new_col] = -elem.captured; if (elem.queened) { ai_board[elem.old_row][elem.old_col] = elem.pawn_promoted; pl_board[7 - elem.old_row][elem.old_col] = -elem.pawn_promoted; delete_piece(elem.old_row, elem.old_col); create_piece(elem.old_row, elem.old_col, true); } else if (elem.en_passant) { ai_board[elem.en_passant_row][elem.en_passant_col] = elem.en_passant_killed; pl_board[7 - elem.en_passant_row][elem.en_passant_col] = -elem.en_passant_killed; create_piece(elem.en_passant_row, elem.en_passant_col, true); } else if (elem.castle) { ai_board[elem.castle_old_row][elem.castle_old_col] = ai_board[elem.castle_new_row][elem.castle_new_col]; ai_board[elem.castle_new_row][elem.castle_new_col] = 0; create_piece(elem.castle_old_row, elem.castle_old_col, true); delete_piece(elem.castle_new_row, elem.castle_new_col); pl_board[7 - elem.castle_old_row][elem.castle_old_col] = pl_board[7 - elem.castle_new_row][elem.castle_new_col]; pl_board[7 - elem.castle_new_row][elem.castle_new_col] = 0; } } function build_history_elem(move, side) { var history_elem = new Object(); history_elem.side = side; history_elem.old_row = move.old_row; history_elem.old_col = move.old_col; history_elem.new_row = move.new_row; history_elem.new_col = move.new_col; history_elem.captured = move.captured; if (move.pawn_jump) { history_elem.pawn_jump = true; } history_elem.lines = new Array(); history_elem.lines[0] = ((side == 1) ? "W: " : "B: "); history_elem.lines[0] = history_elem.lines[0] + "ABCDEFGH".substr(history_elem.old_col, 1); history_elem.lines[0] = history_elem.lines[0] + "87654321".substr(history_elem.old_row, 1); history_elem.lines[0] = history_elem.lines[0] + " -> "; history_elem.lines[0] = history_elem.lines[0] + "ABCDEFGH".substr(history_elem.new_col, 1); history_elem.lines[0] = history_elem.lines[0] + "87654321".substr(history_elem.new_row, 1); if (history_elem.captured != 0) { history_elem.lines.push(" take " + get_piece_name(move.captured)); } if (move.special) { if (move.queened) { history_elem.lines.push(" into " + get_piece_name(move.queened)); history_elem.queened = move.queened; history_elem.pawn_promoted = move.pawn_promoted; } else if (move.castle) { history_elem.lines.push(" castles"); history_elem.castle = true; history_elem.castle_old_row = move.castle_old_row; history_elem.castle_old_col = move.castle_old_col; history_elem.castle_new_row = move.castle_new_row; history_elem.castle_new_col = move.castle_new_col; } else if (move.en_passant) { history_elem.lines.push(" en passant"); history_elem.en_passant = true; history_elem.en_passant_row = move.en_passant_row; history_elem.en_passant_col = move.en_passant_col; history_elem.en_passant_killed = move.en_passant_killed; } } return(history_elem); } function init_board() { create_board("RNBQKBNRPPPPPPPP................................pppppppprnbqkbnr"); } function create_move(moves, side, old_row, old_col, new_row, new_col) { var move = new Object(); if (side == 1) { move.old_row = 7 - old_row; move.old_col = old_col; move.new_row = 7 - new_row; move.new_col = new_col; move.captured = ai_board[7 - new_row][new_col]; } else { move.old_row = old_row; move.old_col = old_col; move.new_row = new_row; move.new_col = new_col; move.captured = ai_board[new_row][new_col]; } moves.push(move); return(move); } function delete_moves(moves) { var i = 0; while (i < moves.length) { if (moves[i].sub_moves) { delete_moves(moves[i].sub_moves); moves[i].sub_moves = null; } delete moves[i]; i++; } delete moves; } function push_move(move) { if (move.pass) { return(undefined); } ai_board[move.new_row][move.new_col] = ai_board[move.old_row][move.old_col]; ai_board[move.old_row][move.old_col] = 0; pl_board[7 - move.new_row][move.new_col] = pl_board[7 - move.old_row][move.old_col]; pl_board[7 - move.old_row][move.old_col] = 0; if (move.special) { if (move.queened) { ai_board[move.new_row][move.new_col] = move.queened; pl_board[7 - move.new_row][move.new_col] = -move.queened; } else if (move.en_passant) { ai_board[move.en_passant_row][move.en_passant_col] = 0; pl_board[7 - move.en_passant_row][move.en_passant_col] = 0; } else if (move.castle) { ai_board[move.castle_new_row][move.castle_new_col] = ai_board[move.castle_old_row][move.castle_old_col]; ai_board[move.castle_old_row][move.castle_old_col] = 0; pl_board[7 - move.castle_new_row][move.castle_new_col] = pl_board[7 - move.castle_old_row][move.castle_old_col]; pl_board[7 - move.castle_old_row][move.castle_old_col] = 0; } } } function pop_move(move) { if (move.pass) { return(undefined); } ai_board[move.old_row][move.old_col] = ai_board[move.new_row][move.new_col]; ai_board[move.new_row][move.new_col] = move.captured; pl_board[7 - move.old_row][move.old_col] = pl_board[7 - move.new_row][move.new_col]; pl_board[7 - move.new_row][move.new_col] = -move.captured; if (move.special) { if (move.queened) { ai_board[move.old_row][move.old_col] = move.pawn_promoted; pl_board[7 - move.old_row][move.old_col] = -move.pawn_promoted; } else if (move.en_passant) { ai_board[move.en_passant_row][move.en_passant_col] = move.en_passant_killed; pl_board[7 - move.en_passant_row][move.en_passant_col] = -move.en_passant_killed; } else if (move.castle) { ai_board[move.castle_old_row][move.castle_old_col] = ai_board[move.castle_new_row][move.castle_new_col]; ai_board[move.castle_new_row][move.castle_new_col] = 0; pl_board[7 - move.castle_old_row][move.castle_old_col] = pl_board[7 - move.castle_new_row][move.castle_new_col]; pl_board[7 - move.castle_new_row][move.castle_new_col] = 0; } } } function trace_move(move, indent) { if (indent == null) { indent = ""; } trace((((((((((indent + move.old_row) + ",") + move.old_col) + " => ") + move.new_row) + ",") + move.new_col) + " (") + move.captured) + ")"); } function move_to_str(move) { return(((((((((move.old_row + ",") + move.old_col) + " => ") + move.new_row) + ",") + move.new_col) + " (") + get_piece_char(move.captured)) + ")"); } function trace_board(board) { trace("--------"); var row = 0; while (row < 8) { var line = ""; var col = 0; while (col < 8) { var piece = board[row][col]; line = line + get_piece_char(piece); col++; } trace(line); row++; } } function trace_boards() { trace("------------------"); var row = 0; while (row < 8) { var line = ""; var col = 0; while (col < 8) { var piece = ai_board[row][col]; line = line + get_piece_char(piece); col++; } line = line + " "; var col = 0; while (col < 8) { var piece = pl_board[row][col]; line = line + get_piece_char(piece); col++; } trace(line); row++; } } function create_board(board) { var counter = 0; ai_board = new Array(); pl_board = new Array(); var row = 0; while (row < 8) { ai_board[row] = new Array(); pl_board[7 - row] = new Array(); var col = 0; while (col < 8) { var char = board.charAt(counter++); if (char == "P") { ai_board[row][col] = m_pawn; } else if (char == "N") { ai_board[row][col] = m_knight; } else if (char == "B") { ai_board[row][col] = m_bishop; } else if (char == "R") { ai_board[row][col] = m_rook; } else if (char == "Q") { ai_board[row][col] = m_queen; } else if (char == "K") { ai_board[row][col] = m_king; } else if (char == "p") { ai_board[row][col] = e_pawn; } else if (char == "n") { ai_board[row][col] = e_knight; } else if (char == "b") { ai_board[row][col] = e_bishop; } else if (char == "r") { ai_board[row][col] = e_rook; } else if (char == "q") { ai_board[row][col] = e_queen; } else if (char == "k") { ai_board[row][col] = e_king; } else { ai_board[row][col] = 0; } pl_board[7 - row][col] = -ai_board[row][col]; col++; } row++; } } function get_piece_char(piece_id) { if (piece_id == m_pawn) { return("P"); } if (piece_id == m_rook) { return("R"); } if (piece_id == m_knight) { return("N"); } if (piece_id == m_bishop) { return("B"); } if (piece_id == m_queen) { return("Q"); } if (piece_id == m_king) { return("K"); } if (piece_id == e_pawn) { return("p"); } if (piece_id == e_rook) { return("r"); } if (piece_id == e_knight) { return("n"); } if (piece_id == e_bishop) { return("b"); } if (piece_id == e_queen) { return("q"); } if (piece_id == e_king) { return("k"); } if (piece_id == 0) { return("."); } return("?"); } function get_piece_name(piece_id) { if (piece_id == m_pawn) { return("pawn"); } if (piece_id == m_rook) { return("rook"); } if (piece_id == m_knight) { return("knight"); } if (piece_id == m_bishop) { return("bishop"); } if (piece_id == m_queen) { return("queen"); } if (piece_id == m_king) { return("king"); } if (piece_id == e_pawn) { return("pawn"); } if (piece_id == e_rook) { return("rook"); } if (piece_id == e_knight) { return("knight"); } if (piece_id == e_bishop) { return("bishop"); } if (piece_id == e_queen) { return("queen"); } if (piece_id == e_king) { return("king"); } if (piece_id == 0) { return("."); } return("?"); } function get_legal_moves(side) { var moves = get_available_moves(side); var i = 0; while (i < moves.length) { var move = moves[i]; push_move(move); var in_check = is_in_check(side); pop_move(move); if (in_check) { moves.splice(i, 1); i--; delete move; } i++; } return(moves); } function get_available_moves(side) { var board = ((side == 1) ? (pl_board) : (ai_board)); var row; var col; var piece; var pr; var pc; var pp; var moves = new Array(); var move; var pawn_jumped_col = -100; if (history_elems.length > 0) { var history_elem = history_elems[history_elems.length - 1]; if (history_elem.pawn_jump) { pawn_jumped_col = history_elem.new_col; } } row = 0; while (row < 8) { col = 0; while (col < 8) { piece = board[row][col]; if (piece <= 0) { } else { if (piece == m_pawn) { if (row < 7) { if (board[row + 1][col] == 0) { move = create_move(moves, side, row, col, row + 1, col); if (row == 6) { move.special = true; move.queened = ((side == 0) ? (m_queen) : (e_queen)); move.pawn_promoted = ((side == 0) ? (m_pawn) : (e_pawn)); } if ((row == 1) && (board[row + 2][col] == 0)) { move = create_move(moves, side, row, col, row + 2, col); move.pawn_jump = true; } } if ((col > 0) && (board[row + 1][col - 1] < 0)) { move = create_move(moves, side, row, col, row + 1, col - 1); if (row == 6) { move.special = true; move.queened = ((side == 0) ? (m_queen) : (e_queen)); move.pawn_promoted = ((side == 0) ? (m_pawn) : (e_pawn)); } } if ((col < 7) && (board[row + 1][col + 1] < 0)) { move = create_move(moves, side, row, col, row + 1, col + 1); if (row == 6) { move.special = true; move.queened = ((side == 0) ? (m_queen) : (e_queen)); move.pawn_promoted = ((side == 0) ? (m_pawn) : (e_pawn)); } } if ((row == 4) && (Math.abs(col - pawn_jumped_col) == 1)) { move = create_move(moves, side, row, col, row + 1, pawn_jumped_col); move.special = true; move.en_passant = true; move.en_passant_row = ((side == 0) ? 4 : 3); move.en_passant_col = pawn_jumped_col; move.en_passant_killed = ((side == 0) ? (e_pawn) : (m_pawn)); } } } else if (piece == m_knight) { if (row > 0) { if ((col > 1) && (board[row - 1][col - 2] <= 0)) { create_move(moves, side, row, col, row - 1, col - 2); } if ((col < 6) && (board[row - 1][col + 2] <= 0)) { create_move(moves, side, row, col, row - 1, col + 2); } if (row > 1) { if ((col > 0) && (board[row - 2][col - 1] <= 0)) { create_move(moves, side, row, col, row - 2, col - 1); } if ((col < 7) && (board[row - 2][col + 1] <= 0)) { create_move(moves, side, row, col, row - 2, col + 1); } } } if (row < 7) { if ((col > 1) && (board[row + 1][col - 2] <= 0)) { create_move(moves, side, row, col, row + 1, col - 2); } if ((col < 6) && (board[row + 1][col + 2] <= 0)) { create_move(moves, side, row, col, row + 1, col + 2); } if (row < 6) { if ((col > 0) && (board[row + 2][col - 1] <= 0)) { create_move(moves, side, row, col, row + 2, col - 1); } if ((col < 7) && (board[row + 2][col + 1] <= 0)) { create_move(moves, side, row, col, row + 2, col + 1); } } } } if ((piece == m_rook) || (piece == m_queen)) { pr = row + 1; while (pr < 8) { pp = board[pr][col]; if (pp <= 0) { create_move(moves, side, row, col, pr, col); } if (pp != 0) { break; } pr++; } pr = row - 1; while (pr >= 0) { pp = board[pr][col]; if (pp <= 0) { create_move(moves, side, row, col, pr, col); } if (pp != 0) { break; } pr--; } pc = col + 1; while (pc < 8) { pp = board[row][pc]; if (pp <= 0) { create_move(moves, side, row, col, row, pc); } if (pp != 0) { break; } pc++; } pc = col - 1; while (pc >= 0) { pp = board[row][pc]; if (pp <= 0) { create_move(moves, side, row, col, row, pc); } if (pp != 0) { break; } pc--; } } if ((piece == m_bishop) || (piece == m_queen)) { (pr = row + 1); (pc = col + 1); while ((pr < 8) && (pc < 8)) { pp = board[pr][pc]; if (pp <= 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr++; pc++; } (pr = row + 1); (pc = col - 1); while ((pr < 8) && (pc >= 0)) { pp = board[pr][pc]; if (pp <= 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr++; pc--; } (pr = row - 1); (pc = col + 1); while ((pr >= 0) && (pc < 8)) { pp = board[pr][pc]; if (pp <= 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr--; pc++; } (pr = row - 1); (pc = col - 1); while ((pr >= 0) && (pc >= 0)) { pp = board[pr][pc]; if (pp <= 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr--; pc--; } } if (piece == m_king) { if (row > 0) { if ((col > 0) && (board[row - 1][col - 1] <= 0)) { create_move(moves, side, row, col, row - 1, col - 1); } if (board[row - 1][col] <= 0) { create_move(moves, side, row, col, row - 1, col); } if ((col < 7) && (board[row - 1][col + 1] <= 0)) { create_move(moves, side, row, col, row - 1, col + 1); } } if (row < 7) { if ((col > 0) && (board[row + 1][col - 1] <= 0)) { create_move(moves, side, row, col, row + 1, col - 1); } if (board[row + 1][col] <= 0) { create_move(moves, side, row, col, row + 1, col); } if ((col < 7) && (board[row + 1][col + 1] <= 0)) { create_move(moves, side, row, col, row + 1, col + 1); } } if ((col > 0) && (board[row][col - 1] <= 0)) { create_move(moves, side, row, col, row, col - 1); } if ((col < 7) && (board[row][col + 1] <= 0)) { create_move(moves, side, row, col, row, col + 1); } if (((row == 0) && (col == 4)) && (!ever_moved_from(side, 0, 4))) { var other_board = ((side == 1) ? (ai_board) : (pl_board)); if (((((board[0][0] == m_rook) && (board[0][1] == 0)) && (board[0][2] == 0)) && (board[0][3] == 0)) && (!ever_moved_from(side, 0, 0))) { other_board[7][0] = e_king; other_board[7][1] = e_king; other_board[7][2] = e_king; other_board[7][3] = e_king; var any_threatened = is_in_check(side); other_board[7][0] = e_rook; other_board[7][1] = 0; other_board[7][2] = 0; other_board[7][3] = 0; if (!any_threatened) { move = create_move(moves, side, 0, 4, 0, 2); move.special = true; move.castle = true; move.castle_old_row = ((side == 0) ? 0 : 7); move.castle_old_col = 0; move.castle_new_row = ((side == 0) ? 0 : 7); move.castle_new_col = 3; } } if ((((board[0][7] == m_rook) && (board[0][6] == 0)) && (board[0][5] == 0)) && (!ever_moved_from(side, 0, 7))) { other_board[7][7] = e_king; other_board[7][6] = e_king; other_board[7][5] = e_king; var any_threatened = is_in_check(side); other_board[7][7] = e_rook; other_board[7][6] = 0; other_board[7][5] = 0; if (!any_threatened) { move = create_move(moves, side, 0, 4, 0, 6); move.special = true; move.castle = true; move.castle_old_row = ((side == 0) ? 0 : 7); move.castle_old_col = 7; move.castle_new_row = ((side == 0) ? 0 : 7); move.castle_new_col = 5; } } } } } col++; } row++; } return(moves); } function is_in_check(side) { var board = ((side == 1) ? (ai_board) : (pl_board)); var row; var col; var piece; var pr; var pc; var pp; row = 0; while (row < 8) { col = 0; while (col < 8) { piece = board[row][col]; if (piece <= 0) { } else { if (piece == m_pawn) { if (row < 7) { if ((col > 0) && (board[row + 1][col - 1] == e_king)) { return(true); } if ((col < 7) && (board[row + 1][col + 1] == e_king)) { return(true); } } } else if (piece == m_knight) { if (row > 0) { if ((col > 1) && (board[row - 1][col - 2] == e_king)) { return(true); } if ((col < 6) && (board[row - 1][col + 2] == e_king)) { return(true); } if (row > 1) { if ((col > 0) && (board[row - 2][col - 1] == e_king)) { return(true); } if ((col < 7) && (board[row - 2][col + 1] == e_king)) { return(true); } } } if (row < 7) { if ((col > 1) && (board[row + 1][col - 2] == e_king)) { return(true); } if ((col < 6) && (board[row + 1][col + 2] == e_king)) { return(true); } if (row < 6) { if ((col > 0) && (board[row + 2][col - 1] == e_king)) { return(true); } if ((col < 7) && (board[row + 2][col + 1] == e_king)) { return(true); } } } } if ((piece == m_rook) || (piece == m_queen)) { pr = row + 1; while (pr < 8) { pp = board[pr][col]; if (pp == e_king) { return(true); } if (pp != 0) { break; } pr++; } pr = row - 1; while (pr >= 0) { pp = board[pr][col]; if (pp == e_king) { return(true); } if (pp != 0) { break; } pr--; } pc = col + 1; while (pc < 8) { pp = board[row][pc]; if (pp == e_king) { return(true); } if (pp != 0) { break; } pc++; } pc = col - 1; while (pc >= 0) { pp = board[row][pc]; if (pp == e_king) { return(true); } if (pp != 0) { break; } pc--; } } if ((piece == m_bishop) || (piece == m_queen)) { (pr = row + 1); (pc = col + 1); while ((pr < 8) && (pc < 8)) { pp = board[pr][pc]; if (pp == e_king) { return(true); } if (pp != 0) { break; } pr++; pc++; } (pr = row + 1); (pc = col - 1); while ((pr < 8) && (pc >= 0)) { pp = board[pr][pc]; if (pp == e_king) { return(true); } if (pp != 0) { break; } pr++; pc--; } (pr = row - 1); (pc = col + 1); while ((pr >= 0) && (pc < 8)) { pp = board[pr][pc]; if (pp == e_king) { return(true); } if (pp != 0) { break; } pr--; pc++; } (pr = row - 1); (pc = col - 1); while ((pr >= 0) && (pc >= 0)) { pp = board[pr][pc]; if (pp == e_king) { return(true); } if (pp != 0) { break; } pr--; pc--; } } if (piece == m_king) { if (row > 0) { if ((col > 0) && (board[row - 1][col - 1] == e_king)) { return(true); } if (board[row - 1][col] == e_king) { return(true); } if ((col < 7) && (board[row - 1][col + 1] == e_king)) { return(true); } } if (row < 7) { if ((col > 0) && (board[row + 1][col - 1] == e_king)) { return(true); } if (board[row + 1][col] == e_king) { return(true); } if ((col < 7) && (board[row + 1][col + 1] == e_king)) { return(true); } } if ((col > 0) && (board[row][col - 1] == e_king)) { return(true); } if ((col < 7) && (board[row][col + 1] == e_king)) { return(true); } } } col++; } row++; } return(false); } function ever_moved_from(side, row, col) { if (side == 1) { row = 7 - row; } var i = 0; while (i < history_elems.length) { var history_elem = history_elems[i]; if ((history_elem.old_row == row) && (history_elem.old_col == col)) { return(true); } i++; } return(false); } function get_quick_moves_quiesce(side) { var board = ((side == 1) ? (pl_board) : (ai_board)); var row; var col; var piece; var pr; var pc; var pp; var moves = new Array(); row = 0; while (row < 8) { col = 0; while (col < 8) { piece = board[row][col]; if (piece <= 0) { } else { if (piece == m_pawn) { if (row < 7) { if ((col > 0) && (board[row + 1][col - 1] < 0)) { create_move(moves, side, row, col, row + 1, col - 1); } if ((col < 7) && (board[row + 1][col + 1] < 0)) { create_move(moves, side, row, col, row + 1, col + 1); } } } else if (piece == m_knight) { if (row > 0) { if ((col > 1) && (board[row - 1][col - 2] < 0)) { create_move(moves, side, row, col, row - 1, col - 2); } if ((col < 6) && (board[row - 1][col + 2] < 0)) { create_move(moves, side, row, col, row - 1, col + 2); } if (row > 1) { if ((col > 0) && (board[row - 2][col - 1] < 0)) { create_move(moves, side, row, col, row - 2, col - 1); } if ((col < 7) && (board[row - 2][col + 1] < 0)) { create_move(moves, side, row, col, row - 2, col + 1); } } } if (row < 7) { if ((col > 1) && (board[row + 1][col - 2] < 0)) { create_move(moves, side, row, col, row + 1, col - 2); } if ((col < 6) && (board[row + 1][col + 2] < 0)) { create_move(moves, side, row, col, row + 1, col + 2); } if (row < 6) { if ((col > 0) && (board[row + 2][col - 1] < 0)) { create_move(moves, side, row, col, row + 2, col - 1); } if ((col < 7) && (board[row + 2][col + 1] < 0)) { create_move(moves, side, row, col, row + 2, col + 1); } } } } if ((piece == m_rook) || (piece == m_queen)) { pr = row + 1; while (pr < 8) { pp = board[pr][col]; if (pp < 0) { create_move(moves, side, row, col, pr, col); } if (pp != 0) { break; } pr++; } pr = row - 1; while (pr >= 0) { pp = board[pr][col]; if (pp < 0) { create_move(moves, side, row, col, pr, col); } if (pp != 0) { break; } pr--; } pc = col + 1; while (pc < 8) { pp = board[row][pc]; if (pp < 0) { create_move(moves, side, row, col, row, pc); } if (pp != 0) { break; } pc++; } pc = col - 1; while (pc >= 0) { pp = board[row][pc]; if (pp < 0) { create_move(moves, side, row, col, row, pc); } if (pp != 0) { break; } pc--; } } if ((piece == m_bishop) || (piece == m_queen)) { (pr = row + 1); (pc = col + 1); while ((pr < 8) && (pc < 8)) { pp = board[pr][pc]; if (pp < 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr++; pc++; } (pr = row + 1); (pc = col - 1); while ((pr < 8) && (pc >= 0)) { pp = board[pr][pc]; if (pp < 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr++; pc--; } (pr = row - 1); (pc = col + 1); while ((pr >= 0) && (pc < 8)) { pp = board[pr][pc]; if (pp < 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr--; pc++; } (pr = row - 1); (pc = col - 1); while ((pr >= 0) && (pc >= 0)) { pp = board[pr][pc]; if (pp < 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr--; pc--; } } if (piece == m_king) { if (row > 0) { if ((col > 0) && (board[row - 1][col - 1] < 0)) { create_move(moves, side, row, col, row - 1, col - 1); } if (board[row - 1][col] < 0) { create_move(moves, side, row, col, row - 1, col); } if ((col < 7) && (board[row - 1][col + 1] < 0)) { create_move(moves, side, row, col, row - 1, col + 1); } } if (row < 7) { if ((col > 0) && (board[row + 1][col - 1] < 0)) { create_move(moves, side, row, col, row + 1, col - 1); } if (board[row + 1][col] < 0) { create_move(moves, side, row, col, row + 1, col); } if ((col < 7) && (board[row + 1][col + 1] < 0)) { create_move(moves, side, row, col, row + 1, col + 1); } } if ((col > 0) && (board[row][col - 1] < 0)) { create_move(moves, side, row, col, row, col - 1); } if ((col < 7) && (board[row][col + 1] < 0)) { create_move(moves, side, row, col, row, col + 1); } } } col++; } row++; } return(moves); } function get_quick_moves(side) { var board = ((side == 1) ? (pl_board) : (ai_board)); var row; var col; var piece; var pr; var pc; var pp; var moves = new Array(); row = 0; while (row < 8) { col = 0; while (col < 8) { piece = board[row][col]; if (piece <= 0) { } else { if (piece == m_pawn) { if (row < 7) { if (board[row + 1][col] == 0) { create_move(moves, side, row, col, row + 1, col); if ((row == 1) && (board[row + 2][col] == 0)) { create_move(moves, side, row, col, row + 2, col); } } if ((col > 0) && (board[row + 1][col - 1] < 0)) { create_move(moves, side, row, col, row + 1, col - 1); } if ((col < 7) && (board[row + 1][col + 1] < 0)) { create_move(moves, side, row, col, row + 1, col + 1); } } } else if (piece == m_knight) { if (row > 0) { if ((col > 1) && (board[row - 1][col - 2] <= 0)) { create_move(moves, side, row, col, row - 1, col - 2); } if ((col < 6) && (board[row - 1][col + 2] <= 0)) { create_move(moves, side, row, col, row - 1, col + 2); } if (row > 1) { if ((col > 0) && (board[row - 2][col - 1] <= 0)) { create_move(moves, side, row, col, row - 2, col - 1); } if ((col < 7) && (board[row - 2][col + 1] <= 0)) { create_move(moves, side, row, col, row - 2, col + 1); } } } if (row < 7) { if ((col > 1) && (board[row + 1][col - 2] <= 0)) { create_move(moves, side, row, col, row + 1, col - 2); } if ((col < 6) && (board[row + 1][col + 2] <= 0)) { create_move(moves, side, row, col, row + 1, col + 2); } if (row < 6) { if ((col > 0) && (board[row + 2][col - 1] <= 0)) { create_move(moves, side, row, col, row + 2, col - 1); } if ((col < 7) && (board[row + 2][col + 1] <= 0)) { create_move(moves, side, row, col, row + 2, col + 1); } } } } if ((piece == m_rook) || (piece == m_queen)) { pr = row + 1; while (pr < 8) { pp = board[pr][col]; if (pp <= 0) { create_move(moves, side, row, col, pr, col); } if (pp != 0) { break; } pr++; } pr = row - 1; while (pr >= 0) { pp = board[pr][col]; if (pp <= 0) { create_move(moves, side, row, col, pr, col); } if (pp != 0) { break; } pr--; } pc = col + 1; while (pc < 8) { pp = board[row][pc]; if (pp <= 0) { create_move(moves, side, row, col, row, pc); } if (pp != 0) { break; } pc++; } pc = col - 1; while (pc >= 0) { pp = board[row][pc]; if (pp <= 0) { create_move(moves, side, row, col, row, pc); } if (pp != 0) { break; } pc--; } } if ((piece == m_bishop) || (piece == m_queen)) { (pr = row + 1); (pc = col + 1); while ((pr < 8) && (pc < 8)) { pp = board[pr][pc]; if (pp <= 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr++; pc++; } (pr = row + 1); (pc = col - 1); while ((pr < 8) && (pc >= 0)) { pp = board[pr][pc]; if (pp <= 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr++; pc--; } (pr = row - 1); (pc = col + 1); while ((pr >= 0) && (pc < 8)) { pp = board[pr][pc]; if (pp <= 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr--; pc++; } (pr = row - 1); (pc = col - 1); while ((pr >= 0) && (pc >= 0)) { pp = board[pr][pc]; if (pp <= 0) { create_move(moves, side, row, col, pr, pc); } if (pp != 0) { break; } pr--; pc--; } } if (piece == m_king) { if (row > 0) { if ((col > 0) && (board[row - 1][col - 1] <= 0)) { create_move(moves, side, row, col, row - 1, col - 1); } if (board[row - 1][col] <= 0) { create_move(moves, side, row, col, row - 1, col); } if ((col < 7) && (board[row - 1][col + 1] <= 0)) { create_move(moves, side, row, col, row - 1, col + 1); } } if (row < 7) { if ((col > 0) && (board[row + 1][col - 1] <= 0)) { create_move(moves, side, row, col, row + 1, col - 1); } if (board[row + 1][col] <= 0) { create_move(moves, side, row, col, row + 1, col); } if ((col < 7) && (board[row + 1][col + 1] <= 0)) { create_move(moves, side, row, col, row + 1, col + 1); } } if ((col > 0) && (board[row][col - 1] <= 0)) { create_move(moves, side, row, col, row, col - 1); } if ((col < 7) && (board[row][col + 1] <= 0)) { create_move(moves, side, row, col, row, col + 1); } } } col++; } row++; } return(moves); } function setup_piece_values() { m_pawn = 1000; m_knight = 3000; m_bishop = 3001; m_rook = 5000; m_queen = 9000; m_king = 40000; e_pawn = -1000; e_knight = -3000; e_bishop = -3001; e_rook = -5000; e_queen = -9000; e_king = -40000; infinity = 1000000 /* 0x0F4240 */; } function eval_board_value(castle) { piece_score = 0; castle_score = (castle ? 200 : 0); advance_score = 0; pawn_protect_score = 0; center_score = 0; rand_score = (rand_enable ? (Math.floor(Math.random() * 5)) : 0); var row = 0; while (row < 8) { var col = 0; while (col < 8) { var piece = ai_board[row][col]; piece_score = piece_score + piece; if (piece > 0) { if (((row == 3) || (row == 4)) && ((col == 3) || (col == 4))) { center_score = center_score + 6; } if (piece == m_pawn) { advance_score = advance_score + (row * 5); if (row < 7) { if ((col > 0) && (ai_board[row + 1][col - 1] == m_pawn)) { pawn_protect_score = pawn_protect_score + 5; } if ((col < 7) && (ai_board[row + 1][col + 1] == m_pawn)) { pawn_protect_score = pawn_protect_score + 5; } } if (row == 6) { advance_score = advance_score + 25; } if (row >= 7) { advance_score = advance_score + 50; } } if (piece == m_knight) { if (row > 0) { advance_score = advance_score + 9; } } if (piece == m_rook) { if ((col > 1) && (col < 6)) { advance_score = advance_score + 10; } if (row > 1) { advance_score = advance_score + 15; } } } col++; } row++; } if (ai_reps > 0) { return(piece_score + Math.floor((Math.random() * 600) * (ai_reps - 1))); } if ((history_elems.length > 12) && (is_in_check(1))) { castle_score = castle_score + 30; } return(((((piece_score + castle_score) + advance_score) + pawn_protect_score) + center_score) + rand_score); } function in_repetition() { if (history_elems.length < 6) { return(false); } var last_move = history_elems[history_elems.length - 2]; var second_last_move = history_elems[history_elems.length - 4]; var reps = 0; var flip = 0; var i = (history_elems.length - 6); while (i >= 0) { if (!history_elems_equiv(((flip == 0) ? (last_move) : (second_last_move)), history_elems[i])) { break; } reps++; flip = 1 - flip; i = i - 2; } return(reps); } function history_elems_equiv(elem_a, elem_b) { return((((elem_a.old_row == elem_b.old_row) && (elem_a.old_col == elem_b.old_col)) && (elem_a.new_row == elem_b.new_row)) && (elem_a.new_col == elem_b.new_col)); } function prepare_ai_turn() { ai_time_limit = 2500; var in_check = is_in_check(0); ai_moves = get_legal_moves(0); ai_original_num_moves = ai_moves.length; if (rand_enable) { ai_moves.sort(rand_sort); } ai_start_time = getTimer(); ai_current_par = 1; ai_current_move = 0; ai_alpha = -infinity; ai_game_over = false; ai_num_pieces = count_pl_pieces(); ai_reps = in_repetition(); if (ai_moves.length == 0) { ai_game_over = true; if (in_check) { indicate_turn("player_mate"); show_game_dialog("player_checkmate"); } else { indicate_turn("stalemate"); show_game_dialog("stalemate"); } } else if (in_check) { indicate_turn("ai_check"); } else { indicate_turn("ai_turn"); } } function ai_ponder() { if (ai_game_over) { return(true); } if (in_replay && (replay_index < replay_moves.length)) { var replay_move = replay_moves[replay_index++]; var ai_move = lookup_ai_move(replay_move.old_row, replay_move.old_col, replay_move.new_row, replay_move.new_col); ai_old_row = ai_move.old_row; ai_old_col = ai_move.old_col; ai_new_row = ai_move.new_row; ai_new_col = ai_move.new_col; prepare_move_piece(ai_move); record_history(ai_move, 0); delete_moves(ai_moves); return(true); } do { ai_increment(); } while (!ai_check_finished()); ai_finished(); return(true); } function ai_increment() { var move = ai_moves[ai_current_move]; push_move(move); if (ai_current_par == 1) { move.value = (move.eval_value = eval_board_value(move.castle)); } else { move.value = -negamax(1, ai_current_par - 1, move, move.eval_value, -infinity, -ai_alpha, false, true); if (move.value > ai_alpha) { ai_alpha = move.value; } } pop_move(move); ai_current_move++; if (ai_current_move == ai_moves.length) { ai_moves.sort(compare_moves); ai_current_par++; ai_current_move = 0; ai_alpha = -infinity; } } function ai_check_finished() { if (ai_moves.length == 1) { return(true); } if (ai_current_par <= 2) { return(false); } var time_elapsed = (getTimer() - ai_start_time); if ((ai_current_move == 0) && (time_elapsed > (ai_time_limit / 2))) { return(true); } if (time_elapsed < ai_time_limit) { return(false); } if (ai_current_move > 1) { while (ai_moves.length > ai_current_move) { delete eval (ai_moves.pop()); } ai_moves.sort(compare_moves); } return(true); } function ai_finished() { ai_old_row = ai_moves[0].old_row; ai_old_col = ai_moves[0].old_col; ai_new_row = ai_moves[0].new_row; ai_new_col = ai_moves[0].new_col; prepare_move_piece(ai_moves[0]); record_history(ai_moves[0], 0); delete_moves(ai_moves); } function lookup_ai_move(old_row, old_col, new_row, new_col) { var i = 0; while (i < ai_moves.length) { if ((((ai_moves[i].old_row == old_row) && (ai_moves[i].old_col == old_col)) && (ai_moves[i].new_row == new_row)) && (ai_moves[i].new_col == new_col)) { return(ai_moves[i]); } i++; } return(null); } function negamax(side, par, last_move, calc_value, alpha, beta, quiesce, coward) { var moves; if (!last_move.sub_moves) { if (quiesce) { last_move.sub_moves = get_quick_moves_quiesce(side); } else { last_move.sub_moves = get_quick_moves(side); } } var moves = last_move.sub_moves; var best = (quiesce ? (((side == 0) ? (calc_value) : (-calc_value))) : (-infinity)); var value; var i = 0; while (i < moves.length) { var captured = moves[i].captured; if (coward && (captured > m_pawn)) { captured = captured * 1.2; } if (par == 1) { value = ((side == 0) ? (calc_value - moves[i].captured) : (captured - calc_value)); } else { push_move(moves[i]); value = -negamax(1 - side, par - 1, moves[i], calc_value - captured, -beta, -alpha, ai_num_pieces > 6, false); pop_move(moves[i]); } if (value > best) { best = value; } if (best > alpha) { alpha = best; } if (alpha >= beta) { break; } i++; } return(best); } function count_pl_pieces() { var total = 0; var row = 0; while (row < 8) { var col = 0; while (col < 8) { if (ai_board[row][col] < 0) { total++; } col++; } row++; } return(total); } function rand_sort(move_a, move_b) { return(((Math.random() < 0.5) ? 1 : -1)); } function compare_moves(move_a, move_b) { if (move_a.value > move_b.value) { return(-1); } if (move_a.value < move_b.value) { return(1); } return(0); } function compare_captures(move_a, move_b) { if (move_a.captured > move_b.captured) { return(-1); } if (move_a.captured < move_b.captured) { return(1); } return(0); } function compare_anti_captures(move_a, move_b) { if (move_a.captured < move_b.captured) { return(-1); } if (move_a.captured > move_b.captured) { return(1); } return(0); } function init_piece_sprites() { var row; var col; game_pieces = new Array(); var row = 0; while (row < 8) { game_pieces[row] = new Array(); var col = 0; while (col < 8) { create_piece(row, col, false); col++; } row++; } } function create_piece(row, col, visible) { if (ai_board[row][col] != 0) { num_pieces++; this.attachMovie(get_symbol_name(ai_board[row][col]), "piece_" + num_pieces, num_pieces); var piece = eval ("piece_" + num_pieces); piece._x = 35 + (50 * col); piece._y = 35 + (50 * row); piece._visible = visible; game_pieces[row][col] = piece; } else { game_pieces[row][col] = null; } } function get_symbol_name(piece_id) { if (piece_id == m_pawn) { return("r_pawn"); } if (piece_id == m_rook) { return("r_castle"); } if (piece_id == m_knight) { return("r_knight"); } if (piece_id == m_bishop) { return("r_bishop"); } if (piece_id == m_queen) { return("r_queen"); } if (piece_id == m_king) { return("r_king"); } if (piece_id == e_pawn) { return("w_pawn"); } if (piece_id == e_rook) { return("w_castle"); } if (piece_id == e_knight) { return("w_knight"); } if (piece_id == e_bishop) { return("w_bishop"); } if (piece_id == e_queen) { return("w_queen"); } if (piece_id == e_king) { return("w_king"); } if (piece_id == 0) { return("empty"); } return("(UNKNOWN)"); } function delete_piece_sprites() { var row = 0; while (row < 8) { var col = 0; while (col < 8) { delete_piece(row, col); col++; } row++; } } function delete_piece(row, col) { if (game_pieces[row][col] != null) { removeMovieClip(game_pieces[row][col]); game_pieces[row][col].unloadMovie(); game_pieces[row][col] = null; } } function fade_pieces() { row = 0; while (row < 8) { col = 0; while (col < 8) { if (game_pieces[row][col] != null) { if ((row + col) == piece_fade) { game_pieces[row][col]._visible = true; game_pieces[row][col]._alpha = 50; } else if ((row + col) == (piece_fade - 1)) { game_pieces[row][col]._alpha = 100; } } col++; } row++; } piece_fade++; return(piece_fade > 18); } function unfade_pieces(for_replay) { row = 0; while (row < 8) { col = 0; while (col < 8) { if (game_pieces[row][col] != null) { if (game_pieces[row][col]._visible) { var alpha = (game_pieces[row][col]._alpha - 4); if (alpha <= 0) { game_pieces[row][col]._visible = false; } else { game_pieces[row][col]._alpha = alpha; } } } col++; } row++; } piece_fade++; return(piece_fade > (for_replay ? 50 : 16)); } function prepare_move_piece(move) { var old_row = move.old_row; var old_col = move.old_col; var new_row = move.new_row; var new_col = move.new_col; move_piece = game_pieces[old_row][old_col]; move_to_x = 35 + (50 * new_col); move_to_y = 35 + (50 * new_row); if (game_pieces[new_row][new_col] != null) { kill_piece = game_pieces[new_row][new_col]; } else { kill_piece = null; } game_pieces[old_row][old_col] = null; game_pieces[new_row][new_col] = move_piece; ai_board[new_row][new_col] = ai_board[old_row][old_col]; ai_board[old_row][old_col] = 0; pl_board[7 - new_row][new_col] = pl_board[7 - old_row][old_col]; pl_board[7 - old_row][old_col] = 0; if ((Math.abs(old_row - new_row) < 2) && (Math.abs(old_col - new_col) < 2)) { move_speed = 2; } else { move_speed = 5; } move_queened = false; move_castle = false; move_en_passant = false; if (move.special) { if (move.queened) { ai_board[move.new_row][move.new_col] = move.queened; pl_board[7 - move.new_row][move.new_col] = -move.queened; move_queened = true; move_queen_row = move.new_row; move_queen_col = move.new_col; if (move.queened == m_queen) { move_queen_choice = m_queen; } else if (((in_replay && (replay_index > 0)) && (replay_index <= replay_moves.length)) && (replay_moves[replay_index - 1].move_queen_choice)) { make_player_queen_choice(replay_moves[replay_index - 1].move_queen_choice); } else { move_queen_choice = 0; } choose_queen_dialog = false; move_queen_commenced = false; } else if (move.en_passant) { ai_board[move.en_passant_row][move.en_passant_col] = 0; pl_board[7 - move.en_passant_row][move.en_passant_col] = 0; move_en_passant = true; move_en_passant_piece = game_pieces[move.en_passant_row][move.en_passant_col]; game_pieces[move.en_passant_row][move.en_passant_col] = null; } else if (move.castle) { ai_board[move.castle_new_row][move.castle_new_col] = ai_board[move.castle_old_row][move.castle_old_col]; ai_board[move.castle_old_row][move.castle_old_col] = 0; pl_board[7 - move.castle_new_row][move.castle_new_col] = pl_board[7 - move.castle_old_row][move.castle_old_col]; pl_board[7 - move.castle_old_row][move.castle_old_col] = 0; move_castle = true; move_castle_piece = game_pieces[move.castle_old_row][move.castle_old_col]; move_castle_to_x = 35 + (50 * move.castle_new_col); move_castle_to_y = 35 + (50 * move.castle_new_row); game_pieces[move.castle_old_row][move.castle_old_col] = null; game_pieces[move.castle_new_row][move.castle_new_col] = move_castle_piece; } } } function do_move_piece() { if (((((move_piece._x == move_to_x) && (move_piece._y == move_to_y)) && (kill_piece == null)) && ((!move_castle) || ((move_castle_piece._x == move_castle_to_x) && (move_castle_piece._y == move_castle_to_y)))) && (check_for_queening())) { if (last_anim_frame) { return(true); } last_anim_frame = true; return(false); } last_anim_frame = false; if (kill_piece != null) { if (kill_piece._alpha > 0) { kill_piece._alpha = kill_piece._alpha - 5; } else { kill_piece._visible = false; removeMovieClip(kill_piece); kill_piece.unloadMovie(); kill_piece = null; } } if (move_en_passant && (move_en_passant_piece != null)) { if (move_en_passant_piece._alpha > 0) { move_en_passant_piece._alpha = move_en_passant_piece._alpha - 5; } else { move_en_passant_piece._visible = false; removeMovieClip(move_en_passant_piece); move_en_passant_piece.unloadMovie(); move_en_passant_piece = null; } } if (move_piece._x < move_to_x) { move_piece._x = move_piece._x + move_speed; } if (move_piece._x > move_to_x) { move_piece._x = move_piece._x - move_speed; } if (move_piece._y < move_to_y) { move_piece._y = move_piece._y + move_speed; } if (move_piece._y > move_to_y) { move_piece._y = move_piece._y - move_speed; } if (move_castle) { if (move_castle_piece._x < move_castle_to_x) { move_castle_piece._x = move_castle_piece._x + 6.25; } if (move_castle_piece._x > move_castle_to_x) { move_castle_piece._x = move_castle_piece._x - 6.25; } if (move_castle_piece._y < move_castle_to_y) { move_castle_piece._y = move_castle_piece._y + 6.25; } if (move_castle_piece._y > move_castle_to_y) { move_castle_piece._y = move_castle_piece._y - 6.25; } } return(false); } function check_for_queening() { if (!move_queened) { return(true); } if (move_queen_choice == 0) { if (!choose_queen_dialog) { choose_queen_dialog = true; show_game_dialog("promote_pawn"); } return(false); } if (!move_queen_commenced) { move_queen_commenced = true; ai_board[move_queen_row][move_queen_col] = move_queen_choice; pl_board[7 - move_queen_row][move_queen_col] = -move_queen_choice; promoted_pawn = game_pieces[move_queen_row][move_queen_col]; create_piece(move_queen_row, move_queen_col, true); newly_promoted = game_pieces[move_queen_row][move_queen_col]; newly_promoted._alpha = 0; promotion_progress = 0; } if (promotion_progress < 100) { promotion_progress = promotion_progress + 5; promoted_pawn._alpha = 100 - promotion_progress; newly_promoted._alpha = promotion_progress; return(false); } newly_promoted._alpha = 100; if (promoted_pawn != null) { promoted_pawn = null; removeMovieClip(promoted_pawn); promoted_pawn.unloadMovie(); } return(true); } function board_mouse_down() { var row; var col; row = Math.floor((_ymouse - 10) / 50); col = Math.floor((_xmouse - 10) / 50); if ((((row < 0) || (row > 7)) || (col < 0)) || (col > 7)) { return(undefined); } if (ai_board[row][col] < 0) { select_row = row; select_col = col; blue_select._x = 35 + (50 * col); blue_select._y = 35 + (50 * row); blue_select._visible = true; green_select._visible = false; cyan_select._visible = false; restore_dragged_piece(); drag_piece = game_pieces[row][col]; drag_piece_start_x = drag_piece._x; drag_piece_start_y = drag_piece._y; drag_mouse_start_x = _xmouse; drag_mouse_start_y = _ymouse; } else { if ((select_row != -1) && (select_col != -1)) { if (is_legal_player_move(select_row, select_col, row, col)) { begin_player_move(select_row, select_col, row, col); } } select_row = -1; select_col = -1; blue_select._visible = false; green_select._visible = false; cyan_select._visible = false; } } function board_mouse_up() { if (drag_piece == null) { return(undefined); } restore_dragged_piece(); var row; var col; row = Math.floor((_ymouse - 10) / 50); col = Math.floor((_xmouse - 10) / 50); if ((((row < 0) || (row > 7)) || (col < 0)) || (col > 7)) { return(undefined); } if ((select_row != -1) && (select_col != -1)) { if (is_legal_player_move(select_row, select_col, row, col)) { begin_player_move(select_row, select_col, row, col); } } } function board_mouse_move() { var row; var col; row = Math.floor((_ymouse - 10) / 50); col = Math.floor((_xmouse - 10) / 50); if (drag_piece != null) { drag_piece._x = (drag_piece_start_x + _xmouse) - drag_mouse_start_x; drag_piece._y = (drag_piece_start_y + _ymouse) - drag_mouse_start_y; } if ((((((row >= 0) && (row < 8)) && (col >= 0)) && (col < 8)) && ((row != select_row) || (col != select_col))) && (ai_board[row][col] < 0)) { cyan_select._x = 35 + (50 * col); cyan_select._y = 35 + (50 * row); cyan_select._visible = true; green_select._visible = false; } else if (((((((select_row != -1) && (select_col != -1)) && (row >= 0)) && (row < 8)) && (col >= 0)) && (col < 8)) && (is_legal_player_move(select_row, select_col, row, col))) { green_select._x = 35 + (50 * col); green_select._y = 35 + (50 * row); green_select._visible = true; cyan_select._visible = false; } else { green_select._visible = false; cyan_select._visible = false; } } function begin_player_move(old_row, old_col, new_row, new_col) { var player_move = lookup_player_move(old_row, old_col, new_row, new_col); record_history(player_move, 1); restore_dragged_piece(); release_player_moves(); prepare_move_piece(player_move); gotoAndPlay (78); } function restore_dragged_piece() { if (drag_piece != null) { drag_piece._x = drag_piece_start_x; drag_piece._y = drag_piece_start_y; drag_piece = null; } } function record_history(move, side) { var history_elem = build_history_elem(move, side); history_elems.push(history_elem); var i = 0; while (i < history_elem.lines.length) { GameHistory.addItem(history_elem.lines[i]); history_total_length++; i++; } GameHistory.setScrollPosition(GameHistory.getLength()); } function pop_history() { if (history_elems.length > 0) { var history_elem = history_elems.pop(); var i = 0; while (i < history_elem.lines.length) { history_total_length--; GameHistory.removeItemAt(history_total_length); GameHistory.setScrollPosition(GameHistory.getLength()); i++; } return(history_elem); } return(null); } function make_player_queen_choice(choice) { move_queen_choice = choice; if (history_elems.length > 0) { history_elems[history_elems.length - 1].move_queen_choice = move_queen_choice; } GameHistory.removeItemAt(history_total_length - 1); GameHistory.addItem(" into " + get_piece_name(choice)); } function clear_history() { while (history_elems.length > 0) { pop_history(); } } function start_replay() { replay_moves = new Array(); var i = 0; while (i < history_elems.length) { var history_elem = history_elems[i]; var replay_move = new Object(); replay_move.old_row = history_elem.old_row; replay_move.old_col = history_elem.old_col; replay_move.new_row = history_elem.new_row; replay_move.new_col = history_elem.new_col; if (history_elem.queened && (history_elem.move_queen_choice)) { replay_move.move_queen_choice = history_elem.move_queen_choice; } replay_moves.push(replay_move); i++; } clear_history(); delete_piece_sprites(); init_game(); in_replay = true; replay_index = 0; } function indicate_turn(turn) { if (in_replay) { if ((replay_index >= replay_moves.length) && (game_state == "player_move")) { in_replay = false; } else { turn = "replay"; } } TurnIndicator.gotoAndStop(turn); } function show_game_dialog(dialog_symbol) { current_dialog_symbol = dialog_symbol; num_dialogs++; this.attachMovie(dialog_symbol, "dialog_" + num_dialogs, (100 + num_pieces) + num_dialogs); current_dialog = eval ("dialog_" + num_dialogs); current_dialog._x = 210; current_dialog._y = 210; current_dialog._visible = visible; } function close_game_dialog() { if (current_dialog_symbol != null) { removeMovieClip(current_dialog); current_dialog.unloadMovie(); } current_dialog_symbol = null; }Frame 15stop();Frame 22if (buttonPressed == "Rules") { gotoAndPlay (143); } else { gotoAndPlay (54); }Frame 37stop();Frame 53gotoAndStop (15);Frame 69init_game(); gotoAndPlay (78);Frame 78var result = game_main(); gotoAndPlay(result); CoverButton.useHandCursor = false;Instance of Symbol 197 MovieClip [FListBoxSymbol] "GameHistory" in Frame 78//component parameters onClipEvent (initialize) { selectMultiple = false; changeHandler = ""; }Instance of Symbol 246 MovieClip in Frame 85onClipEvent (mouseMove) { _parent.board_mouse_move(); } onClipEvent (mouseDown) { _parent.board_mouse_down(); } onClipEvent (mouseUp) { _parent.board_mouse_up(); }Frame 86check_player_replay();Frame 87stop();Frame 100if (ai_game_over) { } else if (ai_ponder()) { gotoAndPlay (78); } else { gotoAndPlay (98); }Frame 109if (game_anim()) { gotoAndPlay (78); }Frame 110if (game_anim()) { gotoAndPlay (78); } else { gotoAndPlay (109); }Frame 129unfade_pieces();Frame 130unfade_pieces();Frame 131unfade_pieces();Frame 132unfade_pieces();Frame 133unfade_pieces();Frame 134unfade_pieces();Frame 135unfade_pieces();Frame 136unfade_pieces();Frame 137unfade_pieces();Frame 138unfade_pieces();Frame 139unfade_pieces();Frame 140unfade_pieces();Frame 141unfade_pieces();Frame 142delete_piece_sprites(); gotoAndPlay (1);Frame 143function do_back() { gotoAndPlay (155); } function do_next() { }Frame 154gotoAndPlay (165);Frame 155function do_back() { } function do_next() { }Frame 164gotoAndPlay (1);Frame 165function do_back() { gotoAndPlay (155); } function do_next() { gotoAndStop (172); }Frame 171stop(); function do_back() { gotoAndPlay (155); } function do_next() { gotoAndStop (172); }Frame 172stop(); function do_back() { gotoAndStop (171); } function do_next() { gotoAndStop (179); }Frame 179stop(); function do_back() { gotoAndStop (172); } function do_next() { gotoAndStop (186); }Frame 186stop(); function do_back() { gotoAndStop (179); } function do_next() { gotoAndStop (193); }Frame 193stop(); function do_back() { gotoAndStop (186); } function do_next() { gotoAndStop (200); }Frame 200stop(); function do_back() { gotoAndStop (193); } function do_next() { gotoAndStop (207); }Frame 207stop(); function do_back() { gotoAndStop (200); } function do_next() { gotoAndStop (214); }Frame 214stop(); function do_back() { gotoAndStop (207); } function do_next() { gotoAndStop (221); }Frame 221stop(); function do_back() { gotoAndStop (214); } function do_next() { gotoAndStop (228); }Frame 228stop(); function do_back() { gotoAndStop (221); } function do_next() { gotoAndStop (235); }Frame 235stop(); function do_back() { gotoAndStop (228); } function do_next() { gotoAndStop (242); }Frame 242stop(); function do_back() { gotoAndStop (235); } function do_next() { gotoAndStop (249); }Frame 249stop(); function do_back() { gotoAndStop (242); } function do_next() { gotoAndStop (256); }Frame 256stop(); function do_back() { gotoAndStop (249); } function do_next() { play(); }Frame 272stop(); function do_back() { gotoAndStop (256); } function do_next() { gotoAndStop (273); }Frame 273stop(); function do_back() { gotoAndStop (256); } function do_next() { play(); }Frame 282stop(); function do_back() { gotoAndStop (273); } function do_next() { gotoAndStop (283); }Frame 283stop(); function do_back() { gotoAndStop (273); } function do_next() { play(); }Frame 293stop(); function do_back() { gotoAndStop (283); } function do_next() { gotoAndStop (294); }Frame 294stop(); function do_back() { gotoAndStop (283); } function do_next() { play(); }Frame 312stop(); function do_back() { gotoAndStop (294); } function do_next() { gotoAndStop (313); }Frame 313stop(); function do_back() { gotoAndStop (294); } function do_next() { gotoAndPlay (320); }Frame 320function queen_setup() { queen_row = 1; queen_col = 1; select_row = -1; select_col = -1; sample_queen._x = 60 + (50 * queen_col); sample_queen._y = 125 + (50 * queen_row); sample_blue_box._visible = false; sample_green_box._visible = false; sample_cyan_box._visible = false; drag_queen = false; } function begin_queen_anim(new_row, new_col) { sample_blue_box._visible = false; sample_green_box._visible = false; sample_cyan_box._visible = false; select_row = -1; select_col = -1; drag_queen = false; move_to_x = 60 + (50 * new_col); move_to_y = 125 + (50 * new_row); if ((Math.abs(queen_row - new_row) < 2) && (Math.abs(queen_col - new_col) < 2)) { move_speed = 2; } else { move_speed = 5; } queen_row = new_row; queen_col = new_col; gotoAndPlay (324); } function queen_anim() { if ((sample_queen._x == move_to_x) && (sample_queen._y == move_to_y)) { if (last_anim_frame) { return(true); } last_anim_frame = true; return(false); } last_anim_frame = false; if (sample_queen._x < move_to_x) { sample_queen._x = sample_queen._x + move_speed; } if (sample_queen._x > move_to_x) { sample_queen._x = sample_queen._x - move_speed; } if (sample_queen._y < move_to_y) { sample_queen._y = sample_queen._y + move_speed; } if (sample_queen._y > move_to_y) { sample_queen._y = sample_queen._y - move_speed; } return(false); } function queen_mouse_down() { var row; var col; row = Math.floor((_ymouse - 100) / 50); col = Math.floor((_xmouse - 35) / 50); if ((((row < 0) || (row > 3)) || (col < 0)) || (col > 3)) { return(undefined); } if ((queen_row == row) && (queen_col == col)) { select_row = row; select_col = col; sample_blue_box._x = 60 + (50 * col); sample_blue_box._y = 125 + (50 * row); sample_blue_box._visible = true; sample_green_box._visible = false; sample_cyan_box._visible = false; restore_dragged_queen(); drag_queen = true; drag_queen_start_x = sample_queen._x; drag_queen_start_y = sample_queen._y; drag_qmouse_start_x = _xmouse; drag_qmouse_start_y = _ymouse; } else { if ((select_row != -1) && (select_col != -1)) { if (is_legal_queen_move(row, col)) { begin_queen_anim(row, col); } } select_row = -1; select_col = -1; sample_blue_box._visible = false; sample_green_box._visible = false; sample_cyan_box._visible = false; } } function queen_mouse_move() { var row; var col; row = Math.floor((_ymouse - 100) / 50); col = Math.floor((_xmouse - 35) / 50); if (drag_queen) { sample_queen._x = (drag_queen_start_x + _xmouse) - drag_queen_start_x; sample_queen._y = (drag_queen_start_y + _ymouse) - drag_queen_start_y; } if ((((row != select_row) || (col != select_col)) && (row == queen_row)) && (col == queen_col)) { sample_cyan_box._x = 60 + (50 * col); sample_cyan_box._y = 125 + (50 * row); sample_cyan_box._visible = true; sample_green_box._visible = false; } else if (((((((select_row != -1) && (select_col != -1)) && (row >= 0)) && (row < 4)) && (col >= 0)) && (col < 4)) && (is_legal_queen_move(row, col))) { sample_green_box._x = 60 + (50 * col); sample_green_box._y = 125 + (50 * row); sample_green_box._visible = true; cyan_select._visible = false; } else { sample_green_box._visible = false; sample_cyan_box._visible = false; } } function queen_mouse_up() { if (!drag_queen) { return(undefined); } restore_dragged_queen(); var row; var col; row = Math.floor((_ymouse - 100) / 50); col = Math.floor((_xmouse - 35) / 50); if ((((row < 0) || (row > 3)) || (col < 0)) || (col > 3)) { return(undefined); } if (((select_row != -1) && (select_col != -1)) && ((row != select_row) || (col != select_col))) { if (is_legal_queen_move(row, col)) { begin_queen_anim(row, col); } } } function restore_dragged_queen() { if (drag_queen) { sample_queen._x = drag_queen_start_x; sample_queen._y = drag_queen_start_y; drag_queen = false; } } function is_legal_queen_move(new_row, new_col) { if ((((new_row < 0) || (new_row > 3)) || (new_col < 0)) || (new_col > 3)) { return(false); } if ((new_row == queen_row) && (new_col == queen_col)) { return(false); } if ((new_row == queen_row) || (new_col == queen_col)) { return(true); } var row_diff = (new_row - queen_row); var col_diff = (new_col - queen_col); if ((row_diff == col_diff) || (row_diff == (-col_diff))) { return(true); } return(false); } function do_back() { gotoAndStop (313); } function do_next() { gotoAndStop (327); } NoNext.useHandCursor = false;Frame 321queen_setup();Instance of Symbol 382 MovieClip in Frame 322onClipEvent (mouseMove) { _parent.queen_mouse_move(); } onClipEvent (mouseDown) { _parent.queen_mouse_down(); } onClipEvent (mouseUp) { _parent.queen_mouse_up(); }Frame 323stop();Frame 324if (queen_anim()) { NoNext._visible = false; NoNext._x = -300; gotoAndStop (322); }Frame 325if (queen_anim()) { NoNext._visible = false; NoNext._x = -300; gotoAndStop (322); } else { gotoAndPlay (324); }Frame 327stop(); function do_back() { gotoAndPlay (320); } function do_next() { gotoAndPlay (155); }Symbol 1 MovieClip [FUIComponentSymbol] Frame 1#initclip 3 function FUIComponentClass() { this.init(); } FUIComponentClass.prototype = new MovieClip(); FUIComponentClass.prototype.init = function () { this.enable = true; this.focused = false; this.useHandCursor = false; this._accImpl = new Object(); this._accImpl.stub = true; this.styleTable = new Array(); if (_global.globalStyleFormat == undefined) { _global.globalStyleFormat = new FStyleFormat(); globalStyleFormat.isGlobal = true; _global._focusControl = new Object(); _global._focusControl.onSetFocus = function (oldFocus, newFocus) { oldFocus.myOnKillFocus(); newFocus.myOnSetFocus(); }; Selection.addListener(_global._focusControl); } if (this._name != undefined) { this._focusrect = false; this.tabEnabled = true; this.focusEnabled = true; this.tabChildren = false; this.tabFocused = true; if (this.hostStyle == undefined) { globalStyleFormat.addListener(this); } else { this.styleTable = this.hostStyle; } this.deadPreview._visible = false; this.deadPreview._width = (this.deadPreview._height = 1); this.methodTable = new Object(); this.keyListener = new Object(); this.keyListener.controller = this; this.keyListener.onKeyDown = function () { this.controller.myOnKeyDown(); }; this.keyListener.onKeyUp = function () { this.controller.myOnKeyUp(); }; for (var i in this.styleFormat_prm) { this.setStyleProperty(i, this.styleFormat_prm[i]); } } }; FUIComponentClass.prototype.setEnabled = function (enabledFlag) { this.enable = ((arguments.length > 0) ? (enabledFlag) : true); this.tabEnabled = (this.focusEnabled = enabledFlag); if ((!this.enable) && (this.focused)) { Selection.setFocus(undefined); } }; FUIComponentClass.prototype.getEnabled = function () { return(this.enable); }; FUIComponentClass.prototype.setSize = function (w, h) { this.width = w; this.height = h; this.focusRect.removeMovieClip(); }; FUIComponentClass.prototype.setChangeHandler = function (chng, obj) { this.handlerObj = ((obj == undefined) ? (this._parent) : (obj)); this.changeHandler = chng; }; FUIComponentClass.prototype.invalidate = function (methodName) { this.methodTable[methodName] = true; this.onEnterFrame = this.cleanUI; }; FUIComponentClass.prototype.cleanUI = function () { if (this.methodTable.setSize) { this.setSize(this.width, this.height); } else { this.cleanUINotSize(); } this.methodTable = new Object(); delete this.onEnterFrame; }; FUIComponentClass.prototype.cleanUINotSize = function () { for (var funct in this.methodTable) { this[funct](); } }; FUIComponentClass.prototype.drawRect = function (x, y, w, h) { var inner = this.styleTable.focusRectInner.value; var outer = this.styleTable.focusRectOuter.value; if (inner == undefined) { inner = 16777215 /* 0xFFFFFF */; } if (outer == undefined) { outer = 0; } this.createEmptyMovieClip("focusRect", 1000); this.focusRect.controller = this; this.focusRect.lineStyle(1, outer); this.focusRect.moveTo(x, y); this.focusRect.lineTo(x + w, y); this.focusRect.lineTo(x + w, y + h); this.focusRect.lineTo(x, y + h); this.focusRect.lineTo(x, y); this.focusRect.lineStyle(1, inner); this.focusRect.moveTo(x + 1, y + 1); this.focusRect.lineTo((x + w) - 1, y + 1); this.focusRect.lineTo((x + w) - 1, (y + h) - 1); this.focusRect.lineTo(x + 1, (y + h) - 1); this.focusRect.lineTo(x + 1, y + 1); }; FUIComponentClass.prototype.pressFocus = function () { this.tabFocused = false; this.focusRect.removeMovieClip(); Selection.setFocus(this); }; FUIComponentClass.prototype.drawFocusRect = function () { this.drawRect(-2, -2, this.width + 4, this.height + 4); }; FUIComponentClass.prototype.myOnSetFocus = function () { this.focused = true; Key.addListener(this.keyListener); if (this.tabFocused) { this.drawFocusRect(); } }; FUIComponentClass.prototype.myOnKillFocus = function () { this.tabFocused = true; this.focused = false; this.focusRect.removeMovieClip(); Key.removeListener(this.keyListener); }; FUIComponentClass.prototype.executeCallBack = function () { this.handlerObj[this.changeHandler](this); }; FUIComponentClass.prototype.updateStyleProperty = function (styleFormat, propName) { this.setStyleProperty(propName, styleFormat[propName], styleFormat.isGlobal); }; FUIComponentClass.prototype.setStyleProperty = function (propName, value, isGlobal) { if (value == "") { return(undefined); } var tmpValue = parseInt(value); if (!isNaN(tmpValue)) { value = tmpValue; } var global = ((arguments.length > 2) ? (isGlobal) : false); if (this.styleTable[propName] == undefined) { this.styleTable[propName] = new Object(); this.styleTable[propName].useGlobal = true; } if (this.styleTable[propName].useGlobal || (!global)) { this.styleTable[propName].value = value; if (this.setCustomStyleProperty(propName, value)) { } else if (propName == "embedFonts") { this.invalidate("setSize"); } else if (propName.subString(0, 4) == "text") { if (this.textStyle == undefined) { this.textStyle = new TextFormat(); } var textProp = propName.subString(4, propName.length); this.textStyle[textProp] = value; this.invalidate("setSize"); } else { for (var j in this.styleTable[propName].coloredMCs) { var myColor = new Color(this.styleTable[propName].coloredMCs[j]); if (this.styleTable[propName].value == undefined) { var myTObj = {ra:"100", rb:"0", ga:"100", gb:"0", ba:"100", bb:"0", aa:"100", ab:"0"}; myColor.setTransform(myTObj); } else { myColor.setRGB(value); } } } this.styleTable[propName].useGlobal = global; } }; FUIComponentClass.prototype.registerSkinElement = function (skinMCRef, propName) { if (this.styleTable[propName] == undefined) { this.styleTable[propName] = new Object(); this.styleTable[propName].useGlobal = true; } if (this.styleTable[propName].coloredMCs == undefined) { this.styleTable[propName].coloredMCs = new Object(); } this.styleTable[propName].coloredMCs[skinMCRef] = skinMCRef; if (this.styleTable[propName].value != undefined) { var myColor = new Color(skinMCRef); myColor.setRGB(this.styleTable[propName].value); } }; _global.FStyleFormat = function () { this.nonStyles = {listeners:true, isGlobal:true, isAStyle:true, addListener:true, removeListener:true, nonStyles:true, applyChanges:true}; this.listeners = new Object(); this.isGlobal = false; if (arguments.length > 0) { for (var i in arguments[0]) { this[i] = arguments[0][i]; } } }; _global.FStyleFormat.prototype = new Object(); FStyleFormat.prototype.addListener = function () { var arg = 0; while (arg < arguments.length) { var mcRef = arguments[arg]; this.listeners[arguments[arg]] = mcRef; for (var i in this) { if (this.isAStyle(i)) { mcRef.updateStyleProperty(this, i.toString()); } } arg++; } }; FStyleFormat.prototype.removeListener = function (component) { this.listeners[component] = undefined; for (var prop in this) { if (this.isAStyle(prop)) { if (component.styleTable[prop].useGlobal == this.isGlobal) { component.styleTable[prop].useGlobal = true; var value = (this.isGlobal ? undefined : (globalStyleFormat[prop])); component.setStyleProperty(prop, value, true); } } } }; FStyleFormat.prototype.applyChanges = function () { var count = 0; for (var i in this.listeners) { var component = this.listeners[i]; if (arguments.length > 0) { var j = 0; while (j < arguments.length) { if (this.isAStyle(arguments[j])) { component.updateStyleProperty(this, arguments[j]); } j++; } } else { for (var j in this) { if (this.isAStyle(j)) { component.updateStyleProperty(this, j.toString()); } } } } }; FStyleFormat.prototype.isAStyle = function (name) { return((this.nonStyles[name] ? false : true)); }; #endinitclipSymbol 14 MovieClip Frame 1var component = _parent._parent; component.registerSkinElement(arrow_mc, "arrow"); component.registerSkinElement(face_mc, "face"); component.registerSkinElement(shadow_mc, "shadow"); component.registerSkinElement(darkshadow_mc, "darkshadow"); component.registerSkinElement(highlight_mc, "highlight"); component.registerSkinElement(highlight3D_mc, "highlight3D");Symbol 24 MovieClip Frame 1var component = _parent._parent; component.registerSkinElement(arrow_mc, "arrow"); component.registerSkinElement(face_mc, "face"); component.registerSkinElement(shadow_mc, "shadow"); component.registerSkinElement(darkshadow_mc, "darkshadow"); component.registerSkinElement(highlight_mc, "highlight"); component.registerSkinElement(highlight3D_mc, "highlight3D");Symbol 33 MovieClip Frame 1var component = _parent._parent; component.registerSkinElement(arrow_mc, "foregroundDisabled"); component.registerSkinElement(face_mc, "face"); component.registerSkinElement(shadow_mc, "shadow"); component.registerSkinElement(darkshadow_mc, "darkshadow"); component.registerSkinElement(highlight_mc, "highlight"); component.registerSkinElement(highlight3D_mc, "highlight3D");Symbol 34 MovieClip [UpArrow] Frame 1stop();Symbol 34 MovieClip [UpArrow] Frame 2stop();Symbol 34 MovieClip [UpArrow] Frame 3stop();Symbol 41 MovieClip Frame 1var component = _parent._parent; component.registerSkinElement(shadow_mc, "shadow"); component.registerSkinElement(darkshadow_mc, "darkshadow"); component.registerSkinElement(highlight_mc, "highlight"); component.registerSkinElement(highlight3D_mc, "highlight3D");Symbol 48 MovieClip Frame 1var component = _parent._parent; component.registerSkinElement(face_mc, "face"); component.registerSkinElement(shadow_mc, "shadow"); component.registerSkinElement(darkshadow_mc, "darkshadow"); component.registerSkinElement(highlight_mc, "highlight"); component.registerSkinElement(highlight3D_mc, "highlight3D");Symbol 53 MovieClip Frame 1var component = _parent._parent; component.registerSkinElement(highlight3D_mc, "highlight3D"); component.registerSkinElement(shadow_mc, "shadow"); component.registerSkinElement(darkshadow_mc, "darkshadow"); component.registerSkinElement(highlight_mc, "highlight");Symbol 54 MovieClip [ScrollThumb] Frame 1stop();Symbol 62 MovieClip Frame 1var component = _parent._parent; component.registerSkinElement(arrow_mc, "arrow"); component.registerSkinElement(face_mc, "face"); component.registerSkinElement(shadow_mc, "shadow"); component.registerSkinElement(darkshadow_mc, "darkshadow"); component.registerSkinElement(highlight_mc, "highlight"); component.registerSkinElement(highlight3D_mc, "highlight3D");Symbol 70 MovieClip Frame 1var component = _parent._parent; component.registerSkinElement(arrow_mc, "arrow"); component.registerSkinElement(face_mc, "face"); component.registerSkinElement(shadow_mc, "shadow"); component.registerSkinElement(darkshadow_mc, "darkshadow"); component.registerSkinElement(highlight_mc, "highlight"); component.registerSkinElement(highlight3D_mc, "highlight3D");Symbol 78 MovieClip Frame 1var component = _parent._parent; component.registerSkinElement(arrow_mc, "foregroundDisabled"); component.registerSkinElement(face_mc, "face"); component.registerSkinElement(shadow_mc, "shadow"); component.registerSkinElement(darkshadow_mc, "darkshadow"); component.registerSkinElement(highlight_mc, "highlight"); component.registerSkinElement(highlight3D_mc, "highlight3D");Symbol 79 MovieClip [DownArrow] Frame 1stop();Symbol 79 MovieClip [DownArrow] Frame 2stop();Symbol 79 MovieClip [DownArrow] Frame 3stop();Symbol 82 MovieClip [FHighlightSymbol] Frame 1var component = _parent.controller; component.registerSkinElement(highlight_mc, "selection"); stop();Symbol 82 MovieClip [FHighlightSymbol] Frame 2component.registerSkinElement(highlight_mc2, "selectionDisabled"); stop();Symbol 82 MovieClip [FHighlightSymbol] Frame 3component.registerSkinElement(highlight_mc3, "selectionUnfocused"); stop();Symbol 85 MovieClip [FLabelSymbol] Frame 1#initclip 1 _global.FLabelClass = function () { if (this.hostComponent == undefined) { this.hostComponent = ((this._parent.controller == undefined) ? (this._parent) : (this._parent.controller)); } if (this.customTextStyle == undefined) { if (this.hostComponent.textStyle == undefined) { this.hostComponent.textStyle = new TextFormat(); } this.textStyle = this.hostComponent.textStyle; this.enable = true; } }; FLabelClass.prototype = new MovieClip(); Object.registerClass("FLabelSymbol", FLabelClass); FLabelClass.prototype.setLabel = function (label) { var val = this.hostComponent.styleTable.embedFonts.value; if (val != undefined) { this.labelField.embedFonts = val; } this.labelField.setNewTextFormat(this.textStyle); this.labelField.text = label; this.labelField._height = this.labelField.textHeight + 2; }; FLabelClass.prototype.setSize = function (width) { this.labelField._width = width; }; FLabelClass.prototype.setEnabled = function (enable) { this.enable = enable; var tmpColor = this.hostComponent.styleTable[(enable ? "textColor" : "textDisabled")].value; if (tmpColor == undefined) { tmpColor = (enable ? 0 : 8947848); } this.setColor(tmpColor); }; FLabelClass.prototype.getLabel = function () { return(this.labelField.text); }; FLabelClass.prototype.setColor = function (col) { this.labelField.textColor = col; }; #endinitclipSymbol 117 Buttonon (release) { play(); }Symbol 120 MovieClip [stalemate] Frame 1CoverButton.useHandCursor = false; _parent.gotoAndStop("Game Over");Symbol 120 MovieClip [stalemate] Frame 10this.totalMoves = ("(total moves: " + _parent.history_elems.length) + ")"; stop();Symbol 120 MovieClip [stalemate] Frame 20_parent.close_game_dialog();Symbol 125 MovieClip [player_checkmate] Frame 1CoverButton.useHandCursor = false; _parent.gotoAndStop("Game Over");Symbol 125 MovieClip [player_checkmate] Frame 10this.totalMoves = ("(total moves: " + _parent.history_elems.length) + ")"; stop();Symbol 125 MovieClip [player_checkmate] Frame 20_parent.close_game_dialog();Symbol 163 Buttonon (release) { queen_choice_made = _parent.e_knight; play(); }Symbol 167 Buttonon (release) { queen_choice_made = _parent.e_bishop; play(); }Symbol 168 Buttonon (release) { queen_choice_made = _parent.e_rook; play(); }Symbol 169 Buttonon (release) { queen_choice_made = _parent.e_queen; play(); }Symbol 170 MovieClip [promote_pawn] Frame 1CoverButton.useHandCursor = false;Symbol 170 MovieClip [promote_pawn] Frame 10stop();Symbol 170 MovieClip [promote_pawn] Frame 16_parent.make_player_queen_choice(queen_choice_made);Symbol 170 MovieClip [promote_pawn] Frame 20_parent.close_game_dialog();Symbol 174 MovieClip [ai_checkmate] Frame 1CoverButton.useHandCursor = false; _parent.gotoAndStop("Game Over");Symbol 174 MovieClip [ai_checkmate] Frame 10this.totalMoves = ("(total moves: " + _parent.history_elems.length) + ")"; stop();Symbol 174 MovieClip [ai_checkmate] Frame 20_parent.close_game_dialog();Symbol 183 MovieClip Frame 1var component = _parent; component.registerSkinElement(track_mc, "scrollTrack");Symbol 184 MovieClip [FScrollBarSymbol] Frame 1#initclip 4 FScrollBarClass = function () { if (this._height == 4) { return(undefined); } this.init(); this.minPos = (this.maxPos = (this.pageSize = (this.largeScroll = 0))); this.smallScroll = 1; this.width = (this.horizontal ? (this._width) : (this._height)); this._xscale = (this._yscale = 100); this.setScrollPosition(0); this.tabEnabled = false; if (this._targetInstanceName.length > 0) { this.setScrollTarget(this._parent[this._targetInstanceName]); } this.tabChildren = false; this.setSize(this.width); }; FScrollBarClass.prototype = new FUIComponentClass(); FScrollBarClass.prototype.setHorizontal = function (flag) { if (this.horizontal && (!flag)) { this._xscale = 100; this._rotation = 0; } else if (flag && (!this.horizontal)) { this._xscale = -100; this._rotation = -90; } this.horizontal = flag; }; FScrollBarClass.prototype.setScrollProperties = function (pSize, mnPos, mxPos) { if (!this.enable) { return(undefined); } this.pageSize = pSize; this.minPos = Math.max(mnPos, 0); this.maxPos = Math.max(mxPos, 0); this.scrollPosition = Math.max(this.minPos, this.scrollPosition); this.scrollPosition = Math.min(this.maxPos, this.scrollPosition); if ((this.maxPos - this.minPos) <= 0) { this.scrollThumb_mc.removeMovieClip(); this.upArrow_mc.gotoAndStop(3); this.downArrow_mc.gotoAndStop(3); this.downArrow_mc.onPress = (this.downArrow_mc.onRelease = (this.downArrow_mc.onDragOut = null)); this.upArrow_mc.onPress = (this.upArrow_mc.onRelease = (this.upArrow_mc.onDragOut = null)); this.scrollTrack_mc.onPress = (this.scrollTrack_mc.onRelease = null); this.scrollTrack_mc.onDragOut = (this.scrollTrack_mc.onRollOut = null); this.scrollTrack_mc.useHandCursor = false; } else { var tmp = this.getScrollPosition(); this.upArrow_mc.gotoAndStop(1); this.downArrow_mc.gotoAndStop(1); this.upArrow_mc.onPress = (this.upArrow_mc.onDragOver = this.startUpScroller); this.upArrow_mc.onRelease = (this.upArrow_mc.onDragOut = this.stopScrolling); this.downArrow_mc.onPress = (this.downArrow_mc.onDragOver = this.startDownScroller); this.downArrow_mc.onRelease = (this.downArrow_mc.onDragOut = this.stopScrolling); this.scrollTrack_mc.onPress = (this.scrollTrack_mc.onDragOver = this.startTrackScroller); this.scrollTrack_mc.onRelease = this.stopScrolling; this.scrollTrack_mc.onDragOut = this.stopScrolling; this.scrollTrack_mc.onRollOut = this.stopScrolling; this.scrollTrack_mc.useHandCursor = false; this.attachMovie("ScrollThumb", "scrollThumb_mc", 3); this.scrollThumb_mc._x = 0; this.scrollThumb_mc._y = this.upArrow_mc._height; this.scrollThumb_mc.onPress = this.startDragThumb; this.scrollThumb_mc.controller = this; this.scrollThumb_mc.onRelease = (this.scrollThumb_mc.onReleaseOutside = this.stopDragThumb); this.scrollThumb_mc.useHandCursor = false; this.thumbHeight = (this.pageSize / ((this.maxPos - this.minPos) + this.pageSize)) * this.trackSize; this.thumbMid_mc = this.scrollThumb_mc.mc_sliderMid; this.thumbTop_mc = this.scrollThumb_mc.mc_sliderTop; this.thumbBot_mc = this.scrollThumb_mc.mc_sliderBot; this.thumbHeight = Math.max(this.thumbHeight, 6); this.midHeight = (this.thumbHeight - this.thumbTop_mc._height) - this.thumbBot_mc._height; this.thumbMid_mc._yScale = (this.midHeight * 100) / this.thumbMid_mc._height; this.thumbMid_mc._y = this.thumbTop_mc._height; this.thumbBot_mc._y = this.thumbTop_mc._height + this.midHeight; this.scrollTop = this.scrollThumb_mc._y; this.trackHeight = this.trackSize - this.thumbHeight; this.scrollBot = this.trackHeight + this.scrollTop; tmp = Math.min(tmp, this.maxPos); this.setScrollPosition(Math.max(tmp, this.minPos)); } }; FScrollBarClass.prototype.getScrollPosition = function () { return(this.scrollPosition); }; FScrollBarClass.prototype.setScrollPosition = function (pos) { this.scrollPosition = pos; if (this.scrollThumb_mc != undefined) { pos = Math.min(pos, this.maxPos); pos = Math.max(pos, this.minPos); } this.scrollThumb_mc._y = (((pos - this.minPos) * this.trackHeight) / (this.maxPos - this.minPos)) + this.scrollTop; this.executeCallBack(); }; FScrollBarClass.prototype.setLargeScroll = function (lScroll) { this.largeScroll = lScroll; }; FScrollBarClass.prototype.setSmallScroll = function (sScroll) { this.smallScroll = sScroll; }; FScrollBarClass.prototype.setEnabled = function (enabledFlag) { var wasEnabled = this.enable; if (enabledFlag && (!wasEnabled)) { this.enable = enabledFlag; if (this.textField != undefined) { this.setScrollTarget(this.textField); } else { this.setScrollProperties(this.pageSize, this.cachedMinPos, this.cachedMaxPos); this.setScrollPosition(this.cachedPos); } this.clickFilter = undefined; } else if ((!enabledFlag) && (wasEnabled)) { this.textField.removeListener(this); this.cachedPos = this.getScrollPosition(); this.cachedMinPos = this.minPos; this.cachedMaxPos = this.maxPos; if (this.clickFilter == undefined) { this.setScrollProperties(this.pageSize, 0, 0); } else { this.clickFilter = true; } this.enable = enabledFlag; } }; FScrollBarClass.prototype.setSize = function (hgt) { if (this._height == 1) { return(undefined); } this.width = hgt; this.scrollTrack_mc._yscale = 100; this.scrollTrack_mc._yscale = (100 * this.width) / this.scrollTrack_mc._height; if (this.upArrow_mc == undefined) { this.attachMovie("UpArrow", "upArrow_mc", 1); this.attachMovie("DownArrow", "downArrow_mc", 2); this.downArrow_mc.controller = (this.upArrow_mc.controller = this); this.upArrow_mc.useHandCursor = (this.downArrow_mc.useHandCursor = false); this.upArrow_mc._x = (this.upArrow_mc._y = 0); this.downArrow_mc._x = 0; } this.scrollTrack_mc.controller = this; this.downArrow_mc._y = this.width - this.downArrow_mc._height; this.trackSize = this.width - (2 * this.downArrow_mc._height); if (this.textField != undefined) { this.onTextChanged(); } else { this.setScrollProperties(this.pageSize, this.minPos, this.maxPos); } }; FScrollBarClass.prototype.scrollIt = function (inc, mode) { var delt = this.smallScroll; if (inc != "one") { delt = ((this.largeScroll == 0) ? (this.pageSize) : (this.largeScroll)); } var newPos = (this.getScrollPosition() + (mode * delt)); if (newPos > this.maxPos) { newPos = this.maxPos; } else if (newPos < this.minPos) { newPos = this.minPos; } this.setScrollPosition(newPos); }; FScrollBarClass.prototype.startDragThumb = function () { this.lastY = this._ymouse; this.onMouseMove = this.controller.dragThumb; }; FScrollBarClass.prototype.dragThumb = function () { this.scrollMove = this._ymouse - this.lastY; this.scrollMove = this.scrollMove + this._y; if (this.scrollMove < this.controller.scrollTop) { this.scrollMove = this.controller.scrollTop; } else if (this.scrollMove > this.controller.scrollBot) { this.scrollMove = this.controller.scrollBot; } this._y = this.scrollMove; var c = this.controller; c.scrollPosition = Math.round(((c.maxPos - c.minPos) * (this._y - c.scrollTop)) / c.trackHeight) + c.minPos; this.controller.isScrolling = true; updateAfterEvent(); this.controller.executeCallBack(); }; FScrollBarClass.prototype.stopDragThumb = function () { this.controller.isScrolling = false; this.onMouseMove = null; }; FScrollBarClass.prototype.startTrackScroller = function () { this.controller.trackScroller(); this.controller.scrolling = setInterval(this.controller, "scrollInterval", 500, "page", -1); }; FScrollBarClass.prototype.scrollInterval = function (inc, mode) { clearInterval(this.scrolling); if (inc == "page") { this.trackScroller(); } else { this.scrollIt(inc, mode); } this.scrolling = setInterval(this, "scrollInterval", 35, inc, mode); }; FScrollBarClass.prototype.trackScroller = function () { if ((this.scrollThumb_mc._y + this.thumbHeight) < this._ymouse) { this.scrollIt("page", 1); } else if (this.scrollThumb_mc._y > this._ymouse) { this.scrollIt("page", -1); } }; FScrollBarClass.prototype.stopScrolling = function () { this.controller.downArrow_mc.gotoAndStop(1); this.controller.upArrow_mc.gotoAndStop(1); clearInterval(this.controller.scrolling); }; FScrollBarClass.prototype.startUpScroller = function () { this.controller.upArrow_mc.gotoAndStop(2); this.controller.scrollIt("one", -1); this.controller.scrolling = setInterval(this.controller, "scrollInterval", 500, "one", -1); }; FScrollBarClass.prototype.startDownScroller = function () { this.controller.downArrow_mc.gotoAndStop(2); this.controller.scrollIt("one", 1); this.controller.scrolling = setInterval(this.controller, "scrollInterval", 500, "one", 1); }; FScrollBarClass.prototype.setScrollTarget = function (tF) { if (tF == undefined) { this.textField.removeListener(this); delete this.textField[(this.horizontal ? "hScroller" : "vScroller")]; if ((this.textField.hScroller != undefined) && (this.textField.vScroller != undefined)) { this.textField.unwatch("text"); this.textField.unwatch("htmltext"); } } this.textField = undefined; if (!(tF instanceof TextField)) { return(undefined); } this.textField = tF; this.textField[(this.horizontal ? "hScroller" : "vScroller")] = this; this.onTextChanged(); this.onChanged = function () { this.onTextChanged(); }; this.onScroller = function () { if (!this.isScrolling) { if (!this.horizontal) { this.setScrollPosition(this.textField.scroll); } else { this.setScrollPosition(this.textField.hscroll); } } }; this.textField.addListener(this); this.textField.watch("text", this.callback); this.textField.watch("htmlText", this.callback); }; FScrollBarClass.prototype.callback = function (prop, oldVal, newVal) { clearInterval(this.hScroller.synchScroll); clearInterval(this.vScroller.synchScroll); this.hScroller.synchScroll = setInterval(this.hScroller, "onTextChanged", 50); this.vScroller.synchScroll = setInterval(this.vScroller, "onTextChanged", 50); return(newVal); }; FScrollBarClass.prototype.onTextChanged = function () { if ((!this.enable) || (this.textField == undefined)) { return(undefined); } clearInterval(this.synchScroll); if (this.horizontal) { var pos = this.textField.hscroll; this.setScrollProperties(this.textField._width, 0, this.textField.maxhscroll); this.setScrollPosition(Math.min(pos, this.textField.maxhscroll)); } else { var pos = this.textField.scroll; var pageSize = (this.textField.bottomScroll - this.textField.scroll); this.setScrollProperties(pageSize, 1, this.textField.maxscroll); this.setScrollPosition(Math.min(pos, this.textField.maxscroll)); } }; FScrollBarClass.prototype.executeCallBack = function () { if (this.textField == undefined) { super.executeCallBack(); } else if (this.horizontal) { this.textField.hscroll = this.getScrollPosition(); } else { this.textField.scroll = this.getScrollPosition(); } }; Object.registerClass("FScrollBarSymbol", FScrollBarClass); #endinitclipSymbol 185 MovieClip [FListItemSymbol] Frame 1#initclip 9 function FListItemClass() { this.init(); } FListItemClass.prototype = new FSelectableItemClass(); Object.registerClass("FListItemSymbol", FListItemClass); #endinitclipSymbol 186 MovieClip [DataProviderSymbol] Frame 1#initclip 2 _global.DataProviderClass = function () { this.init(); }; DataProviderClass.prototype.init = function () { this.items = new Array(); this.uniqueID = 0; this.views = new Array(); }; DataProviderClass.prototype.addView = function (viewRef) { this.views.push(viewRef); var eventObj = {event:"updateAll"}; viewRef.modelChanged(eventObj); }; DataProviderClass.prototype.addItemAt = function (index, value) { if (index < this.getLength()) { this.items.splice(index, 0, "tmp"); } this.items[index] = new Object(); if (typeof(value) == "object") { this.items[index] = value; } else { this.items[index].label = value; } this.items[index].__ID__ = this.uniqueID++; var eventObj = {event:"addRows", firstRow:index, lastRow:index}; this.updateViews(eventObj); }; DataProviderClass.prototype.addItem = function (value) { this.addItemAt(this.getLength(), value); }; DataProviderClass.prototype.removeItemAt = function (index) { var tmpItm = this.items[index]; this.items.splice(index, 1); var eventObj = {event:"deleteRows", firstRow:index, lastRow:index}; this.updateViews(eventObj); return(tmpItm); }; DataProviderClass.prototype.removeAll = function () { this.items = new Array(); this.updateViews({event:"deleteRows", firstRow:0, lastRow:this.getLength() - 1}); }; DataProviderClass.prototype.replaceItemAt = function (index, itemObj) { if ((index < 0) || (index >= this.getLength())) { return(undefined); } var tmpID = this.getItemID(index); if (typeof(itemObj) == "object") { this.items[index] = itemObj; } else { this.items[index].label = itemObj; } this.items[index].__ID__ = tmpID; this.updateViews({event:"updateRows", firstRow:index, lastRow:index}); }; DataProviderClass.prototype.getLength = function () { return(this.items.length); }; DataProviderClass.prototype.getItemAt = function (index) { return(this.items[index]); }; DataProviderClass.prototype.getItemID = function (index) { return(this.items[index].__ID__); }; DataProviderClass.prototype.sortItemsBy = function (fieldName, order) { this.items.sortOn(fieldName); if (order == "DESC") { this.items.reverse(); } this.updateViews({event:"sort"}); }; DataProviderClass.prototype.updateViews = function (eventObj) { var i = 0; while (i < this.views.length) { this.views[i].modelChanged(eventObj); i++; } }; #endinitclipSymbol 187 MovieClip [FSelectableItemSymbol] Frame 1#initclip 6 function FSelectableItemClass() { this.init(); } FSelectableItemClass.prototype = new FUIComponentClass(); FSelectableItemClass.prototype.init = function () { if (this._name != "itemAsset") { this.highlighted = false; this.layoutContent(100); } }; FSelectableItemClass.prototype.drawItem = function (itmObj, selected) { this.displayContent(itmObj, selected); if ((this.highlighted != selected) || ((this.controller.focused != this.oldFocus) && (selected))) { this.setHighlighted(selected); } this.oldFocus = this.controller.focused; }; FSelectableItemClass.prototype.setSize = function (width, height) { var LOWEST_DEPTH = -16384; this.width = width; this.layoutContent(width); this.attachMovie("FHighlightSymbol", "highlight_mc", LOWEST_DEPTH); this.highlight_mc._x = 0.5; this.highlight_mc._width = width - 0.5; this.highlight_mc._height = height; this.highlight_mc.controller = this; this.highlight_mc._alpha = 0; this.highlight_mc.trackAsMenu = true; this.highlight_mc.onPress = function () { if (this.controller.enable) { this.controller.controller.clickHandler(this.controller.itemNum); } }; this.highlight_mc.onDragOver = function () { if (this.controller.controller.focused) { this.onPress(); } }; this.highlight_mc.useHandCursor = false; this.highlight_mc.trackAsMenu = true; }; FSelectableItemClass.prototype.setEnabled = function (enabledFlag) { this.enable = enabledFlag; this.fLabel_mc.setEnabled(enabledFlag); this.highlight_mc.gotoAndStop((enabledFlag ? "unfocused" : "disabled")); }; FSelectableItemClass.prototype.layoutContent = function (width) { this.attachMovie("FLabelSymbol", "fLabel_mc", 2, {hostComponent:this.controller}); this.fLabel_mc._x = 2; this.fLabel_mc._y = 0; this.fLabel_mc.setSize(width - 2); this.fLabel_mc.labelField.selectable = false; }; FSelectableItemClass.prototype.displayContent = function (itmObj, selected) { var tmpLabel = ""; if (itmObj.label != undefined) { tmpLabel = itmObj.label; } else if (typeof(itmObj) == "object") { for (var i in itmObj) { if (i != "__ID__") { tmpLabel = (itmObj[i] + ", ") + tmpLabel; } } tmpLabel = tmpLabel.substring(0, tmpLabel.length - 2); } else { tmpLabel = itmObj; } if (this.fLabel_mc.labelField.text != tmpLabel) { this.fLabel_mc.setLabel(tmpLabel); } var clr = (selected ? (this.controller.styleTable.textSelected.value) : (this.controller.styleTable.textColor.value)); if (clr == undefined) { clr = (selected ? 16777215 : 0); } this.fLabel_mc.setColor(clr); }; FSelectableItemClass.prototype.getItemIndex = function () { return(this.controller.getScrollPosition() + this.itemNum); }; FSelectableItemClass.prototype.getItemModel = function () { return(this.controller.getItemAt(this.getItemIndex())); }; FSelectableItemClass.prototype.getHostDataProvider = function () { return(this.controller.dataProvider); }; FSelectableItemClass.prototype.setHighlighted = function (flag) { fade = this.controller.styleTable.fadeRate.value; if (((fade == undefined) || (fade == 0)) || (!flag)) { this.highlight_mc._alpha = (flag ? 100 : 0); delete this.onEnterFrame; } else { this.fadeN = fade; this.fadeX = 1; this.highLight_mc._alpha = 20; this.onEnterFrame = function () { this.highLight_mc._alpha = (60 * Math.sqrt((this.fadeX++) / this.fadeN)) + 40; if (this.fadeX > this.fadeN) { delete this.onEnterFrame; } }; } this.highlighted = flag; }; #endinitclipSymbol 188 MovieClip [FSelectableListSymbol] Frame 1#initclip 5 function FSelectableListClass() { this.init(); } FSelectableListClass.prototype = new FUIComponentClass(); FSelectableListClass.prototype.init = function () { super.init(); this.enable = true; this.selected = new Array(); this.topDisplayed = (this.numDisplayed = 0); this.lastSelected = 0; this.tabChildren = false; if (this._name != undefined) { this.dataProvider = new DataProviderClass(); this.dataProvider.addView(this); } }; FSelectableListClass.prototype.addItemAt = function (index, label, data) { if ((index < 0) || (!this.enable)) { return(undefined); } this.dataProvider.addItemAt(index, {label:label, data:data}); }; FSelectableListClass.prototype.addItem = function (label, data) { if (!this.enable) { return(undefined); } this.dataProvider.addItem({label:label, data:data}); }; FSelectableListClass.prototype.removeItemAt = function (index) { this.selectHolder = this.getSelectedIndex(); var item = this.getItemAt(index); this.dataProvider.removeItemAt(index); return(item); }; FSelectableListClass.prototype.removeAll = function () { this.dataProvider.removeAll(); }; FSelectableListClass.prototype.replaceItemAt = function (index, newLabel, newData) { this.dataProvider.replaceItemAt(index, {label:newLabel, data:newData}); }; FSelectableListClass.prototype.sortItemsBy = function (fieldName, order) { this.lastSelID = this.dataProvider.getItemID(this.lastSelected); this.dataProvider.sortItemsBy(fieldName, order); }; FSelectableListClass.prototype.getLength = function () { return(this.dataProvider.getLength()); }; FSelectableListClass.prototype.getSelectedIndex = function () { for (var uniqueID in this.selected) { var tmpInd = this.selected[uniqueID].sIndex; if (tmpInd != undefined) { return(tmpInd); } } }; FSelectableListClass.prototype.getSelectedItem = function () { return(this.getItemAt(this.getSelectedIndex())); }; FSelectableListClass.prototype.getItemAt = function (index) { return(this.dataProvider.getItemAt(index)); }; FSelectableListClass.prototype.getEnabled = function () { return(this.enable); }; FSelectableListClass.prototype.getValue = function () { var item = this.getSelectedItem(); return(((item.data == undefined) ? (item.label) : (item.data))); }; FSelectableListClass.prototype.setSelectedIndex = function (index, flag) { if (((index >= 0) && (index < this.getLength())) && (this.enable)) { this.clearSelected(); this.selectItem(index, true); this.lastSelected = index; this.invalidate("updateControl"); if (flag != false) { this.executeCallBack(); } } }; FSelectableListClass.prototype.setDataProvider = function (obj) { this.setScrollPosition(0); this.clearSelected(); if (obj instanceof Array) { this.dataProvider = new DataProviderClass(); var i = 0; while (i < obj.length) { var value = ((typeof(obj[i]) == "string") ? ({label:obj[i]}) : (obj[i])); this.dataProvider.addItem(value); i++; } } else { this.dataProvider = obj; } this.dataProvider.addView(this); }; FSelectableListClass.prototype.setItemSymbol = function (linkID) { this.tmpPos = this.getScrollPosition(); this.itemSymbol = linkID; this.invalidate("setSize"); this.setScrollPosition(this.tmpPos); }; FSelectableListClass.prototype.setEnabled = function (enabledFlag) { this.cleanUI(); super.setEnabled(enabledFlag); this.enable = enabledFlag; this.boundingBox_mc.gotoAndStop((this.enable ? "enabled" : "disabled")); var limit = Math.min(this.numDisplayed, this.getLength()); var i = 0; while (i < limit) { this.container_mc[("fListItem" + i) + "_mc"].setEnabled(this.enable); i++; } if (this.enable) { this.invalidate("updateControl"); } }; FSelectableListClass.prototype.updateControl = function () { var i = 0; while (i < this.numDisplayed) { this.container_mc[("fListItem" + i) + "_mc"].drawItem(this.getItemAt(this.topDisplayed + i), this.isSelected(this.topDisplayed + i)); i++; } }; FSelectableListClass.prototype.setSize = function (w, h) { super.setSize(w, h); this.boundingBox_mc._xscale = (this.boundingBox_mc._yscale = 100); this.boundingBox_mc._xscale = (this.width * 100) / this.boundingBox_mc._width; this.boundingBox_mc._yscale = (this.height * 100) / this.boundingBox_mc._height; var i = 0; while (i < this.numDisplayed) { this.container_mc.attachMovie(this.itemSymbol, ("fListItem" + i) + "_mc", 10 + i, {controller:this, itemNum:i}); var item_mc = this.container_mc[("fListItem" + i) + "_mc"]; var offset = ((this.scrollOffset == undefined) ? 0 : (this.scrollOffset)); item_mc.setSize(this.width - offset, this.itmHgt); item_mc._y = (this.itmHgt - 2) * i; i++; } this.updateControl(); }; FSelectableListClass.prototype.modelChanged = function (eventObj) { var firstRow = eventObj.firstRow; var lastRow = eventObj.lastRow; var event = eventObj.event; if (event == "addRows") { for (var i in this.selected) { if ((this.selected[i].sIndex != undefined) && (this.selected[i].sIndex >= firstRow)) { this.selected[i].sIndex = this.selected[i].sIndex + ((lastRow - firstRow) + 1); this.setSelectedIndex(this.selected[i].sIndex, false); } } } else if (event == "deleteRows") { if (firstRow == lastRow) { var index = firstRow; if (this.selectHolder == index) { this.selectionDeleted = true; } if (((this.topDisplayed + this.numDisplayed) >= this.getLength()) && (this.topDisplayed > 0)) { this.topDisplayed--; if (this.selectionDeleted && ((index - 1) >= 0)) { this.setSelectedIndex(index - 1, false); } } else if (this.selectionDeleted) { var len = this.getLength(); if (((index == (len - 1)) && (len > 1)) || (index > (len / 2))) { this.setSelectedIndex(index - 1, false); } else { this.setSelectedIndex(index, false); } } for (var i in this.selected) { if (this.selected[i].sIndex > firstRow) { this.selected[i].sIndex--; } } } else { this.clearSelected(); this.topDisplayed = 0; } } else if (event == "sort") { var len = this.getLength(); var i = 0; while (i < len) { if (this.isSelected(i)) { var id = this.dataProvider.getItemID(i); if (id == this.lastSelID) { this.lastSelected = i; } this.selected[String(id)].sIndex = i; } i++; } } this.invalidate("updateControl"); }; FSelectableListClass.prototype.measureItmHgt = function () { this.attachMovie(this.itemSymbol, "tmpItem_mc", 0, {controller:this}); this.tmpItem_mc.drawItem({label:"Sizer: PjtTopg"}, false); this.itmHgt = this.tmpItem_mc._height; this.tmpItem_mc.removeMovieClip(); }; FSelectableListClass.prototype.selectItem = function (index, selectedFlag) { if (selectedFlag && (!this.isSelected(index))) { this.selected[String(this.dataProvider.getItemID(index))] = {sIndex:index}; } else if (!selectedFlag) { delete this.selected[String(this.dataProvider.getItemID(index))]; } }; FSelectableListClass.prototype.isSelected = function (index) { return(this.selected[String(this.dataProvider.getItemID(index))].sIndex != undefined); }; FSelectableListClass.prototype.clearSelected = function () { for (var uniqueID in this.selected) { var index = this.selected[uniqueID].sIndex; if (((index != undefined) && (this.topDisplayed <= index)) && (index < (this.topDisplayed + this.numDisplayed))) { this.container_mc[("fListItem" + (index - this.topDisplayed)) + "_mc"].drawItem(this.getItemAt(index), false); } } delete this.selected; this.selected = new Array(); }; FSelectableListClass.prototype.selectionHandler = function (itemNum) { var tmpInd = (this.topDisplayed + itemNum); if (this.getItemAt(tmpInd == undefined)) { this.changeFlag = false; return(undefined); } this.changeFlag = true; this.clearSelected(); this.selectItem(tmpInd, true); this.container_mc[("fListItem" + itemNum) + "_mc"].drawItem(this.getItemAt(tmpInd), this.isSelected(tmpInd)); }; FSelectableListClass.prototype.moveSelBy = function (incr) { var itmNum = this.getSelectedIndex(); var newItm = (itmNum + incr); newItm = Math.max(0, newItm); newItm = Math.min(this.getLength() - 1, newItm); if (newItm == itmNum) { return(undefined); } if ((itmNum < this.topDisplayed) || (itmNum >= (this.topDisplayed + this.numDisplayed))) { this.setScrollPosition(itmNum); } if ((newItm >= (this.topDisplayed + this.numDisplayed)) || (newItm < this.topDisplayed)) { this.setScrollPosition(this.topDisplayed + incr); } this.selectionHandler(newItm - this.topDisplayed); }; FSelectableListClass.prototype.clickHandler = function (itmNum) { this.focusRect.removeMovieClip(); if (!this.focused) { this.pressFocus(); } this.selectionHandler(itmNum); this.onMouseUp = this.releaseHandler; }; FSelectableListClass.prototype.releaseHandler = function () { if (this.changeFlag) { this.executeCallBack(); } this.changeFlag = false; this.onMouseUp = undefined; }; FSelectableListClass.prototype.myOnSetFocus = function () { super.myOnSetFocus(); var i = 0; while (i < this.numDisplayed) { this.container_mc[("fListItem" + i) + "_mc"].highlight_mc.gotoAndStop("enabled"); i++; } }; FSelectableListClass.prototype.myOnKillFocus = function () { super.myOnKillFocus(); var i = 0; while (i < this.numDisplayed) { this.container_mc[("fListItem" + i) + "_mc"].highlight_mc.gotoAndStop("unfocused"); i++; } }; #endinitclipInstance of Symbol 186 MovieClip [DataProviderSymbol] "dPAsset" in Symbol 188 MovieClip [FSelectableListSymbol] Frame 1//component parameters onClipEvent (initialize) { }Instance of Symbol 187 MovieClip [FSelectableItemSymbol] "ItemAsset" in Symbol 188 MovieClip [FSelectableListSymbol] Frame 1//component parameters onClipEvent (initialize) { }Symbol 189 MovieClip [FScrollSelectListSymbol] Frame 1#initclip 7 function FScrollSelectListClass() { this.init(); } FScrollSelectListClass.prototype = new FSelectableListClass(); FScrollSelectListClass.prototype.getScrollPosition = function () { return(this.topDisplayed); }; FScrollSelectListClass.prototype.setScrollPosition = function (pos) { if (this.enable) { pos = Math.min(pos, this.getLength() - this.numDisplayed); pos = Math.max(pos, 0); this.scrollBar_mc.setScrollPosition(pos); } }; FScrollSelectListClass.prototype.setAutoHideScrollBar = function (flag) { this.permaScrollBar = !flag; this.setSize(this.width, this.height); }; FScrollSelectListClass.prototype.setEnabled = function (enabledFlag) { super.setEnabled(enabledFlag); this.scrollBar_mc.setEnabled(this.enable); }; FScrollSelectListClass.prototype.setSize = function (w, h) { var pos = this.getScrollPosition(); super.setSize(w, h); if (this.scrollBar_mc != undefined) { this.removed = true; } this.scrollBar_mc = undefined; this.initScrollBar(); this.setScrollPosition(pos); }; FScrollSelectListClass.prototype.modelChanged = function (eventObj) { super.modelChanged(eventObj); this.invalidate("initScrollBar"); }; FScrollSelectListClass.prototype.initScrollBar = function () { if ((!this.permaScrollBar) && (this.getLength() <= this.numDisplayed)) { if (this.removed) { this.scrollBar_mc.removeMovieClip(); this.scrollBar_mc = undefined; this.scrollOffset = undefined; this.invalidate("setSize"); } } else { if (this.scrollBar_mc == undefined) { this.container_mc.attachMovie("FScrollBarSymbol", "scrollBar_mc", 3000, {hostStyle:this.styleTable}); this.scrollBar_mc = this.container_mc.scrollBar_mc; this.scrollBar_mc.setChangeHandler("scrollHandler", this); this.scrollBar_mc.setSize(this.height); this.scrollBar_mc._x = this.width - this.scrollBar_mc._width; this.scrollBar_mc._y = 0; this.scrollBar_mc.setLargeScroll(this.numDisplayed - 1); this.scrollOffset = this.scrollBar_mc._width; this.invalidate("setSize"); } this.scrollBar_mc.setScrollProperties(this.numDisplayed, 0, this.getLength() - this.numDisplayed); } }; FScrollSelectListClass.prototype.scrollHandler = function (scrollBar) { var pos = scrollBar.getScrollPosition(); this.topDisplayed = pos; if (this.lastPosition != pos) { this.updateControl(); } this.lastPosition = pos; }; FScrollSelectListClass.prototype.clickHandler = function (itmNum) { super.clickHandler(itmNum); if ((this.dragScrolling == undefined) && (this.scrollBar_mc != undefined)) { this.dragScrolling = setInterval(this, "dragScroll", 15); } }; FScrollSelectListClass.prototype.releaseHandler = function () { clearInterval(this.dragScrolling); this.dragScrolling = undefined; super.releaseHandler(); }; FScrollSelectListClass.prototype.dragScroll = function () { clearInterval(this.dragScrolling); if (this.container_mc._ymouse < 0) { this.setScrollPosition(this.getScrollPosition() - 1); this.selectionHandler(0); this.scrollInterval = Math.max(25, (-23.8 * (-this.container_mc._ymouse)) + 500); this.dragScrolling = setInterval(this, "dragScroll", this.scrollInterval); } else if (this.container_mc._ymouse > ((this.itmHgt - 2) * this.numDisplayed)) { this.setScrollPosition(this.getScrollPosition() + 1); this.selectionHandler(this.numDisplayed - 1); this.scrollInterval = Math.max(25, (-23.8 * Math.abs((this.container_mc._ymouse - ((this.itmHgt - 2) * this.numDisplayed)) - 2)) + 500); this.dragScrolling = setInterval(this, "dragScroll", this.scrollInterval); } else { this.dragScrolling = setInterval(this, "dragScroll", 15); } }; FScrollSelectListClass.prototype.myOnKeyDown = function () { if (this.focused) { this.keyCodes = new Array(40, 38, 34, 33, 36, 35); this.keyIncrs = new Array(1, -1, this.numDisplayed - 1, -(this.numDisplayed - 1), -this.getLength(), this.getLength()); var i = 0; while (i < this.keyCodes.length) { if (Key.isDown(this.keyCodes[i])) { this.moveSelBy(this.keyIncrs[i]); return(undefined); } i++; } this.findInputText(); } }; FScrollSelectListClass.prototype.findInputText = function () { var tmpCode = Key.getAscii(); if ((tmpCode >= 33) && (tmpCode <= 126)) { this.findString(String.fromCharCode(tmpCode)); } }; FScrollSelectListClass.prototype.findString = function (str) { if (this.getLength() == 0) { return(undefined); } var itemNum = this.getSelectedIndex(); var jump = 0; var i = (itemNum + 1); while (i != itemNum) { var itmStr = this.getItemAt(i).label.substring(0, str.length); if ((str == itmStr) || (str.toUpperCase() == itmStr.toUpperCase())) { var jump = (i - itemNum); break; } if (i >= (this.getLength() - 1)) { i = -1; } i++; } if (jump != 0) { this.moveSelBy(jump); } }; #endinitclipInstance of Symbol 184 MovieClip [FScrollBarSymbol] "scrollBarAsset" in Symbol 189 MovieClip [FScrollSelectListSymbol] Frame 1//component parameters onClipEvent (initialize) { _targetInstanceName = ""; horizontal = false; } onClipEvent (load) { this._width = (this._height = 1); }Instance of Symbol 188 MovieClip [FSelectableListSymbol] "superClassAsset" in Symbol 189 MovieClip [FScrollSelectListSymbol] Frame 1//component parameters onClipEvent (initialize) { }Symbol 194 MovieClip [FBoundingBoxSymbol] Frame 1var component = _parent; component.registerSkinElement(boundingBox, "background"); stop();Symbol 194 MovieClip [FBoundingBoxSymbol] Frame 2component.registerSkinElement(boundingBox2, "backgroundDisabled"); stop();Symbol 197 MovieClip [FListBoxSymbol] Frame 1#initclip 8 function FListBoxClass() { this.itemSymbol = "FListItemSymbol"; this.init(); this.permaScrollBar = true; var i = 0; while (i < this.labels.length) { this.addItem(this.labels[i], this.data[i]); i++; } this.boundingBox_mc.gotoAndStop(1); this.width = this._width; this.height = this._height; this._yscale = (this._xscale = 100); this.setSize(this.width, this.height); if (this.changeHandler.length > 0) { this.setChangeHandler(this.changeHandler); } } FListBoxClass.prototype = new FScrollSelectListClass(); Object.registerClass("FListBoxSymbol", FListBoxClass); FListBoxClass.prototype.getSelectedIndices = function () { var tmpArray = new Array(); for (var i in this.selected) { tmpArray.push(this.selected[i].sIndex); } return(((tmpArray.length > 0) ? (tmpArray) : undefined)); }; FListBoxClass.prototype.getSelectedItems = function () { var indices = this.getSelectedIndices(); var tmpArray = new Array(); var i = 0; while (i < indices.length) { tmpArray.push(this.getItemAt(indices[i])); i++; } return(((tmpArray.length > 0) ? (tmpArray) : undefined)); }; FListBoxClass.prototype.getSelectMultiple = function () { return(this.selectMultiple); }; FListBoxClass.prototype.getRowCount = function () { return(this.numDisplayed); }; FListBoxClass.prototype.setSelectedIndices = function (indexArray) { this.clearSelected(); var i = 0; while (i < indexArray.length) { this.selectItem(indexArray[i], true); i++; } this.updateControl(); }; FListBoxClass.prototype.setSelectMultiple = function (flag) { this.selectMultiple = flag; }; FListBoxClass.prototype.setRowCount = function (count) { var hgt = ((count * (this.itmHgt - 2)) + 2); this.setSize(this.width, hgt); }; FListBoxClass.prototype.setWidth = function (wdt) { this.setSize(wdt, this.height); }; FListBoxClass.prototype.setSize = function (w, h) { if (!this.enable) { return(undefined); } w = Math.max(w, 20); h = Math.max(h, 40); this.container_mc.removeMovieClip(); this.container_mc = this.createEmptyMovieClip("container", 3); this.measureItmHgt(); this.numDisplayed = Math.floor(h / (this.itmHgt - 2)); this.height = (this.numDisplayed * (this.itmHgt - 2)) + 2; super.setSize(w, this.height); }; FListBoxClass.prototype.removeItemAt = function (index) { this.selectHolder = this.getSelectedIndices(); return(super.removeItemAt(index)); }; FListBoxClass.prototype.selectionHandler = function (itemNum) { if (this.clickFilter) { var index = (this.topDisplayed + itemNum); if (this.getItemAt(index) == undefined) { this.changeFlag = false; return(undefined); } this.changeFlag = true; if (((!this.selectMultiple) && (!Key.isDown(17))) || ((!Key.isDown(16)) && (!Key.isDown(17)))) { this.clearSelected(); this.selectItem(index, true); this.lastSelected = index; this.container_mc[("fListItem" + itemNum) + "_mc"].drawItem(this.getItemAt(index), this.isSelected(index)); } else if (Key.isDown(16) && (this.selectMultiple)) { if (this.lastSelected == -1) { this.lastSelected = index; } var incr = ((this.lastSelected < index) ? 1 : -1); this.clearSelected(); var i = this.lastSelected; while (i != index) { this.selectItem(i, true); if ((i >= this.topDisplayed) && (i < (this.topDisplayed + this.numDisplayed))) { this.container_mc[("fListItem" + (i - this.topDisplayed)) + "_mc"].drawItem(this.getItemAt(i), this.isSelected(i)); } i = i + incr; } this.selectItem(index, true); this.container_mc[("fListItem" + (index - this.topDisplayed)) + "_mc"].drawItem(this.getItemAt(index), this.isSelected(index)); } else if (key.isDown(17)) { var selectedFlag = this.isSelected(index); if (!this.selectMultiple) { this.clearSelected(); } if (!((!this.selectMultiple) && (selectedFlag))) { this.selectItem(index, !selectedFlag); this.container_mc[("fListItem" + itemNum) + "_mc"].drawItem(this.getItemAt(this.topDisplayed + itemNum), this.isSelected(this.topDisplayed + itemNum)); } this.lastSelected = index; } } else { this.clickFilter = true; } }; FListBoxClass.prototype.moveSelBy = function (itemNum) { super.moveSelBy(itemNum); this.releaseHandler(); }; #endinitclip this.deadPreview._visible = false;Instance of Symbol 189 MovieClip [FScrollSelectListSymbol] "superClassAsset" in Symbol 197 MovieClip [FListBoxSymbol] Frame 1//component parameters onClipEvent (initialize) { }Symbol 205 Buttonon (release) { getURL ("http://www.somegames.net/flash.html"); }Symbol 209 Buttonon (release) { buttonPressed = "Play"; gotoAndPlay (16); }Symbol 211 Buttonon (release) { gotoAndPlay (23); }Symbol 213 Buttonon (release) { buttonPressed = "Rules"; gotoAndPlay (16); }Symbol 224 Buttonon (release) { getURL ("http://www.somegames.net"); }Symbol 226 Buttonon (release) { play(); }Symbol 273 Buttonon (release) { perform_undo(); release_player_moves(); prepare_player_turn(); }Symbol 274 Buttonon (release) { game_state = "replay"; TurnIndicator.gotoAndStop("replay"); gotoAndPlay (78); }Symbol 275 Buttonon (release) { game_state = "quit"; close_game_dialog(); gotoAndPlay (78); }Symbol 276 Buttonon (release) { close_game_dialog(); perform_undo(); game_state = "move_ai_piece"; gotoAndPlay (78); }Symbol 277 Buttonon (release) { close_game_dialog(); game_state = "replay"; TurnIndicator.gotoAndStop("replay"); gotoAndPlay (78); }Symbol 279 Buttonon (release) { _parent.gotoAndPlay("Rules Done"); }Symbol 280 Buttonon (release) { _parent.do_back(); }Symbol 282 Buttonon (release) { _parent.do_next(); }Symbol 384 Buttonon (release) { getURL ("http://www.somegames.net/flash.html"); }Symbol 385 Buttonon (release) { getURL ("mailto:burton@cs.stanford.edu"); }
Library Items
Symbol 1 MovieClip [FUIComponentSymbol] | ||
Symbol 2 Graphic | Used by:3 21 39 40 46 47 49 55 67 | |
Symbol 3 MovieClip | Uses:2 | Used by:14 |
Symbol 4 Graphic | Used by:5 | |
Symbol 5 MovieClip | Uses:4 | Used by:14 |
Symbol 6 Graphic | Used by:7 27 58 73 | |
Symbol 7 MovieClip | Uses:6 | Used by:14 |
Symbol 8 Graphic | Used by:9 28 59 74 | |
Symbol 9 MovieClip | Uses:8 | Used by:14 |
Symbol 10 Graphic | Used by:11 16 26 60 64 72 | |
Symbol 11 MovieClip | Uses:10 | Used by:14 |
Symbol 12 Graphic | Used by:13 15 25 61 63 71 | |
Symbol 13 MovieClip | Uses:12 | Used by:14 |
Symbol 14 MovieClip | Uses:3 5 7 9 11 13 | Used by:34 |
Symbol 15 MovieClip | Uses:12 | Used by:24 |
Symbol 16 MovieClip | Uses:10 | Used by:24 |
Symbol 17 Graphic | Used by:18 65 | |
Symbol 18 MovieClip | Uses:17 | Used by:24 |
Symbol 19 Graphic | Used by:20 66 | |
Symbol 20 MovieClip | Uses:19 | Used by:24 |
Symbol 21 MovieClip | Uses:2 | Used by:24 |
Symbol 22 Graphic | Used by:23 | |
Symbol 23 MovieClip | Uses:22 | Used by:24 |
Symbol 24 MovieClip | Uses:15 16 18 20 21 23 | Used by:34 |
Symbol 25 MovieClip | Uses:12 | Used by:33 |
Symbol 26 MovieClip | Uses:10 | Used by:33 |
Symbol 27 MovieClip | Uses:6 | Used by:33 |
Symbol 28 MovieClip | Uses:8 | Used by:33 |
Symbol 29 Graphic | Used by:30 75 | |
Symbol 30 MovieClip | Uses:29 | Used by:33 |
Symbol 31 Graphic | Used by:32 | |
Symbol 32 MovieClip | Uses:31 | Used by:33 |
Symbol 33 MovieClip | Uses:25 26 27 28 30 32 | Used by:34 |
Symbol 34 MovieClip [UpArrow] | Uses:14 24 33 | |
Symbol 35 Graphic | Used by:36 | |
Symbol 36 MovieClip | Uses:35 | Used by:41 |
Symbol 37 Graphic | Used by:38 42 43 52 | |
Symbol 38 MovieClip | Uses:37 | Used by:41 |
Symbol 39 MovieClip | Uses:2 | Used by:41 |
Symbol 40 MovieClip | Uses:2 | Used by:41 |
Symbol 41 MovieClip | Uses:36 38 39 40 | Used by:54 |
Symbol 42 MovieClip | Uses:37 | Used by:48 |
Symbol 43 MovieClip | Uses:37 | Used by:48 |
Symbol 44 Graphic | Used by:45 | |
Symbol 45 MovieClip | Uses:44 | Used by:48 |
Symbol 46 MovieClip | Uses:2 | Used by:48 |
Symbol 47 MovieClip | Uses:2 | Used by:48 |
Symbol 48 MovieClip | Uses:42 43 45 46 47 | Used by:54 |
Symbol 49 MovieClip | Uses:2 | Used by:53 |
Symbol 50 Graphic | Used by:51 | |
Symbol 51 MovieClip | Uses:50 | Used by:53 |
Symbol 52 MovieClip | Uses:37 | Used by:53 |
Symbol 53 MovieClip | Uses:49 51 52 | Used by:54 |
Symbol 54 MovieClip [ScrollThumb] | Uses:41 48 53 | |
Symbol 55 MovieClip | Uses:2 | Used by:62 |
Symbol 56 Graphic | Used by:57 | |
Symbol 57 MovieClip | Uses:56 | Used by:62 |
Symbol 58 MovieClip | Uses:6 | Used by:62 |
Symbol 59 MovieClip | Uses:8 | Used by:62 |
Symbol 60 MovieClip | Uses:10 | Used by:62 |
Symbol 61 MovieClip | Uses:12 | Used by:62 |
Symbol 62 MovieClip | Uses:55 57 58 59 60 61 | Used by:79 |
Symbol 63 MovieClip | Uses:12 | Used by:70 |
Symbol 64 MovieClip | Uses:10 | Used by:70 |
Symbol 65 MovieClip | Uses:17 | Used by:70 |
Symbol 66 MovieClip | Uses:19 | Used by:70 |
Symbol 67 MovieClip | Uses:2 | Used by:70 |
Symbol 68 Graphic | Used by:69 | |
Symbol 69 MovieClip | Uses:68 | Used by:70 |
Symbol 70 MovieClip | Uses:63 64 65 66 67 69 | Used by:79 |
Symbol 71 MovieClip | Uses:12 | Used by:78 |
Symbol 72 MovieClip | Uses:10 | Used by:78 |
Symbol 73 MovieClip | Uses:6 | Used by:78 |
Symbol 74 MovieClip | Uses:8 | Used by:78 |
Symbol 75 MovieClip | Uses:29 | Used by:78 |
Symbol 76 Graphic | Used by:77 | |
Symbol 77 MovieClip | Uses:76 | Used by:78 |
Symbol 78 MovieClip | Uses:71 72 73 74 75 77 | Used by:79 |
Symbol 79 MovieClip [DownArrow] | Uses:62 70 78 | |
Symbol 80 Graphic | Used by:81 | |
Symbol 81 MovieClip | Uses:80 | Used by:82 |
Symbol 82 MovieClip [FHighlightSymbol] | Uses:81 | |
Symbol 83 Font | Used by:84 | |
Symbol 84 EditableText | Uses:83 | Used by:85 |
Symbol 85 MovieClip [FLabelSymbol] | Uses:84 | |
Symbol 86 Graphic | Used by:87 | |
Symbol 87 MovieClip | Uses:86 | Used by:88 |
Symbol 88 MovieClip [r_castle] | Uses:87 | |
Symbol 89 Graphic | Used by:90 | |
Symbol 90 MovieClip | Uses:89 | Used by:91 |
Symbol 91 MovieClip [r_knight] | Uses:90 | |
Symbol 92 Graphic | Used by:93 | |
Symbol 93 MovieClip | Uses:92 | Used by:94 |
Symbol 94 MovieClip [r_bishop] | Uses:93 | |
Symbol 95 Graphic | Used by:96 | |
Symbol 96 MovieClip | Uses:95 | Used by:97 |
Symbol 97 MovieClip [r_queen] | Uses:96 | |
Symbol 98 Graphic | Used by:99 | |
Symbol 99 MovieClip | Uses:98 | Used by:100 |
Symbol 100 MovieClip [r_king] | Uses:99 | |
Symbol 101 Graphic | Used by:102 | |
Symbol 102 MovieClip | Uses:101 | Used by:103 |
Symbol 103 MovieClip [r_pawn] | Uses:102 | |
Symbol 104 Graphic | Used by:105 | |
Symbol 105 Button | Uses:104 | Used by:120 125 170 174 Timeline |
Symbol 106 Graphic | Used by:107 | |
Symbol 107 MovieClip | Uses:106 | Used by:120 125 170 174 |
Symbol 108 Graphic | Used by:113 117 | |
Symbol 109 Font | Used by:110 114 115 121 122 157 158 171 206 208 260 372 373 | |
Symbol 110 Text | Uses:109 | Used by:113 117 |
Symbol 111 Graphic | Used by:113 117 209 211 213 221 226 262 264 266 273 274 275 276 277 279 280 282 | |
Symbol 112 Graphic | Used by:113 117 209 211 213 221 226 262 264 266 273 274 275 276 277 279 280 282 | |
Symbol 113 Button | Uses:108 110 111 112 | Used by:120 125 174 |
Symbol 114 Text | Uses:109 | Used by:116 |
Symbol 115 Text | Uses:109 | Used by:116 |
Symbol 116 MovieClip | Uses:114 115 | Used by:120 |
Symbol 117 Button | Uses:108 110 111 112 | Used by:120 125 174 |
Symbol 118 Font | Used by:119 124 173 289 292 320 321 322 329 331 332 333 335 336 337 339 340 341 343 344 345 347 348 349 351 353 356 358 360 362 363 366 367 369 370 375 376 378 383 | |
Symbol 119 EditableText | Uses:118 | Used by:120 |
Symbol 120 MovieClip [stalemate] | Uses:105 107 113 116 117 119 | |
Symbol 121 Text | Uses:109 | Used by:123 172 |
Symbol 122 Text | Uses:109 | Used by:123 |
Symbol 123 MovieClip | Uses:121 122 | Used by:125 |
Symbol 124 EditableText | Uses:118 | Used by:125 |
Symbol 125 MovieClip [player_checkmate] | Uses:105 107 113 123 117 124 | |
Symbol 126 Graphic | Used by:170 | |
Symbol 127 Font | Used by:128 129 130 131 132 133 134 135 136 137 138 139 140 198 210 212 219 220 222 249 250 251 252 253 254 255 256 257 261 263 265 278 281 290 319 327 330 334 338 342 346 350 352 355 357 359 361 365 374 377 380 386 | |
Symbol 128 Text | Uses:127 | Used by:170 |
Symbol 129 Text | Uses:127 | Used by:170 |
Symbol 130 Text | Uses:127 | Used by:170 |
Symbol 131 Text | Uses:127 | Used by:170 |
Symbol 132 Text | Uses:127 | Used by:170 |
Symbol 133 Text | Uses:127 | Used by:170 |
Symbol 134 Text | Uses:127 | Used by:170 |
Symbol 135 Text | Uses:127 | Used by:170 |
Symbol 136 Text | Uses:127 | Used by:170 |
Symbol 137 Text | Uses:127 | Used by:170 |
Symbol 138 Text | Uses:127 | Used by:170 |
Symbol 139 Text | Uses:127 | Used by:170 |
Symbol 140 Text | Uses:127 | Used by:170 |
Symbol 141 Graphic | Used by:142 | |
Symbol 142 MovieClip | Uses:141 | Used by:143 |
Symbol 143 MovieClip [w_knight] | Uses:142 | Used by:163 170 Timeline |
Symbol 144 Graphic | Used by:145 | |
Symbol 145 MovieClip | Uses:144 | Used by:146 |
Symbol 146 MovieClip [w_bishop] | Uses:145 | Used by:167 170 Timeline |
Symbol 147 Graphic | Used by:148 | |
Symbol 148 MovieClip | Uses:147 | Used by:149 |
Symbol 149 MovieClip [w_castle] | Uses:148 | Used by:153 168 Timeline |
Symbol 150 Graphic | Used by:153 168 | |
Symbol 151 Graphic | Used by:153 168 | |
Symbol 152 Graphic | Used by:153 168 | |
Symbol 153 Button | Uses:149 150 151 152 | Used by:170 |
Symbol 154 Graphic | Used by:155 | |
Symbol 155 MovieClip | Uses:154 | Used by:156 |
Symbol 156 MovieClip [w_queen] | Uses:155 | Used by:169 170 Timeline |
Symbol 157 Text | Uses:109 | Used by:159 |
Symbol 158 Text | Uses:109 | Used by:159 |
Symbol 159 MovieClip | Uses:157 158 | Used by:170 |
Symbol 160 Graphic | Used by:163 | |
Symbol 161 Graphic | Used by:163 | |
Symbol 162 Graphic | Used by:163 | |
Symbol 163 Button | Uses:143 160 161 162 | Used by:170 |
Symbol 164 Graphic | Used by:167 169 | |
Symbol 165 Graphic | Used by:167 169 | |
Symbol 166 Graphic | Used by:167 169 | |
Symbol 167 Button | Uses:146 164 165 166 | Used by:170 |
Symbol 168 Button | Uses:149 150 151 152 | Used by:170 |
Symbol 169 Button | Uses:156 164 165 166 | Used by:170 |
Symbol 170 MovieClip [promote_pawn] | Uses:126 128 129 130 131 132 133 134 135 136 137 138 139 140 105 107 143 146 153 156 159 163 167 168 169 | |
Symbol 171 Text | Uses:109 | Used by:172 |
Symbol 172 MovieClip | Uses:121 171 | Used by:174 |
Symbol 173 EditableText | Uses:118 | Used by:174 |
Symbol 174 MovieClip [ai_checkmate] | Uses:105 107 113 172 117 173 | |
Symbol 175 Graphic | Used by:176 | |
Symbol 176 MovieClip | Uses:175 | Used by:177 |
Symbol 177 MovieClip [w_king] | Uses:176 | Used by:Timeline |
Symbol 178 Graphic | Used by:179 | |
Symbol 179 MovieClip | Uses:178 | Used by:180 |
Symbol 180 MovieClip [w_pawn] | Uses:179 | Used by:Timeline |
Symbol 181 Graphic | Used by:182 | |
Symbol 182 MovieClip | Uses:181 | Used by:183 |
Symbol 183 MovieClip | Uses:182 | Used by:184 |
Symbol 184 MovieClip [FScrollBarSymbol] | Uses:183 | Used by:189 |
Symbol 185 MovieClip [FListItemSymbol] | Used by:197 | |
Symbol 186 MovieClip [DataProviderSymbol] | Used by:188 | |
Symbol 187 MovieClip [FSelectableItemSymbol] | Used by:188 | |
Symbol 188 MovieClip [FSelectableListSymbol] | Uses:186 187 | Used by:189 |
Symbol 189 MovieClip [FScrollSelectListSymbol] | Uses:184 188 | Used by:197 |
Symbol 190 Graphic | Used by:191 | |
Symbol 191 MovieClip | Uses:190 | Used by:194 |
Symbol 192 Graphic | Used by:194 | |
Symbol 193 Graphic | Used by:194 | |
Symbol 194 MovieClip [FBoundingBoxSymbol] | Uses:191 192 193 | Used by:197 |
Symbol 195 Graphic | Used by:196 | |
Symbol 196 MovieClip | Uses:195 | Used by:197 |
Symbol 197 MovieClip [FListBoxSymbol] | Uses:185 189 194 196 | Used by:Timeline |
Symbol 198 Text | Uses:127 | Used by:205 |
Symbol 199 Graphic | Used by:205 | |
Symbol 200 Font | Used by:201 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | |
Symbol 201 Text | Uses:200 | Used by:205 |
Symbol 202 Graphic | Used by:205 224 384 385 | |
Symbol 203 Graphic | Used by:205 | |
Symbol 204 Graphic | Used by:205 | |
Symbol 205 Button | Uses:198 199 201 202 203 204 | Used by:Timeline |
Symbol 206 Text | Uses:109 | Used by:207 |
Symbol 207 MovieClip | Uses:206 | Used by:Timeline |
Symbol 208 Text | Uses:109 | Used by:209 |
Symbol 209 Button | Uses:111 208 112 | Used by:Timeline |
Symbol 210 Text | Uses:127 | Used by:211 |
Symbol 211 Button | Uses:111 210 112 | Used by:Timeline |
Symbol 212 Text | Uses:127 | Used by:213 |
Symbol 213 Button | Uses:111 212 112 | Used by:Timeline |
Symbol 214 ShapeTweening | Used by:Timeline | |
Symbol 215 Graphic | Used by:Timeline | |
Symbol 216 ShapeTweening | Used by:Timeline | |
Symbol 217 Graphic | Used by:381 Timeline | |
Symbol 218 ShapeTweening | Used by:Timeline | |
Symbol 219 Text | Uses:127 | Used by:221 226 280 |
Symbol 220 Text | Uses:127 | Used by:221 226 280 282 |
Symbol 221 Button | Uses:111 219 220 112 | Used by:Timeline |
Symbol 222 Text | Uses:127 | Used by:225 |
Symbol 223 Graphic | Used by:224 384 385 | |
Symbol 224 Button | Uses:202 223 | Used by:225 |
Symbol 225 MovieClip | Uses:222 224 | Used by:Timeline |
Symbol 226 Button | Uses:111 219 220 112 | Used by:Timeline |
Symbol 227 ShapeTweening | Used by:Timeline | |
Symbol 228 Text | Uses:200 | Used by:244 |
Symbol 229 Text | Uses:200 | Used by:244 |
Symbol 230 Text | Uses:200 | Used by:244 |
Symbol 231 Text | Uses:200 | Used by:244 |
Symbol 232 Text | Uses:200 | Used by:244 |
Symbol 233 Text | Uses:200 | Used by:244 |
Symbol 234 Text | Uses:200 | Used by:244 |
Symbol 235 Text | Uses:200 | Used by:244 |
Symbol 236 Text | Uses:200 | Used by:244 |
Symbol 237 Text | Uses:200 | Used by:244 |
Symbol 238 Text | Uses:200 | Used by:244 |
Symbol 239 Text | Uses:200 | Used by:244 |
Symbol 240 Text | Uses:200 | Used by:244 |
Symbol 241 Text | Uses:200 | Used by:244 |
Symbol 242 Text | Uses:200 | Used by:244 |
Symbol 243 Text | Uses:200 | Used by:244 |
Symbol 244 MovieClip | Uses:228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | Used by:Timeline |
Symbol 245 Graphic | Used by:246 | |
Symbol 246 MovieClip | Uses:245 | Used by:Timeline |
Symbol 247 Graphic | Used by:248 | |
Symbol 248 MovieClip | Uses:247 | Used by:Timeline |
Symbol 249 Text | Uses:127 | Used by:Timeline |
Symbol 250 Text | Uses:127 | Used by:258 |
Symbol 251 Text | Uses:127 | Used by:258 |
Symbol 252 Text | Uses:127 | Used by:258 |
Symbol 253 Text | Uses:127 | Used by:258 |
Symbol 254 Text | Uses:127 | Used by:258 |
Symbol 255 Text | Uses:127 | Used by:258 |
Symbol 256 Text | Uses:127 | Used by:258 |
Symbol 257 Text | Uses:127 | Used by:258 |
Symbol 258 MovieClip | Uses:250 251 252 253 254 255 256 257 | Used by:Timeline |
Symbol 259 Graphic | Used by:Timeline | |
Symbol 260 Text | Uses:109 | Used by:Timeline |
Symbol 261 Text | Uses:127 | Used by:262 273 276 |
Symbol 262 Button | Uses:111 261 112 | Used by:Timeline |
Symbol 263 Text | Uses:127 | Used by:264 274 277 |
Symbol 264 Button | Uses:111 263 112 | Used by:Timeline |
Symbol 265 Text | Uses:127 | Used by:266 275 |
Symbol 266 Button | Uses:111 265 112 | Used by:Timeline |
Symbol 267 Graphic | Used by:268 | |
Symbol 268 MovieClip | Uses:267 | Used by:Timeline |
Symbol 269 Graphic | Used by:270 | |
Symbol 270 MovieClip | Uses:269 | Used by:Timeline |
Symbol 271 Graphic | Used by:272 | |
Symbol 272 MovieClip | Uses:271 | Used by:Timeline |
Symbol 273 Button | Uses:111 261 112 | Used by:Timeline |
Symbol 274 Button | Uses:111 263 112 | Used by:Timeline |
Symbol 275 Button | Uses:111 265 112 | Used by:Timeline |
Symbol 276 Button | Uses:111 261 112 | Used by:Timeline |
Symbol 277 Button | Uses:111 263 112 | Used by:Timeline |
Symbol 278 Text | Uses:127 | Used by:279 |
Symbol 279 Button | Uses:111 278 112 | Used by:283 |
Symbol 280 Button | Uses:111 219 220 112 | Used by:283 |
Symbol 281 Text | Uses:127 | Used by:282 |
Symbol 282 Button | Uses:111 281 220 112 | Used by:283 |
Symbol 283 MovieClip | Uses:279 280 282 | Used by:Timeline |
Symbol 284 ShapeTweening | Used by:Timeline | |
Symbol 285 Graphic | Used by:Timeline | |
Symbol 286 ShapeTweening | Used by:Timeline | |
Symbol 287 Graphic | Used by:Timeline | |
Symbol 288 Font | Used by:289 320 331 335 339 343 347 353 356 358 360 363 370 383 | |
Symbol 289 Text | Uses:118 288 | Used by:Timeline |
Symbol 290 Text | Uses:127 | Used by:Timeline |
Symbol 291 ShapeTweening | Used by:Timeline | |
Symbol 292 Text | Uses:118 | Used by:Timeline |
Symbol 293 Graphic | Used by:294 | |
Symbol 294 MovieClip | Uses:293 | Used by:296 298 300 302 304 306 308 310 312 314 316 318 324 326 |
Symbol 295 Graphic | Used by:296 | |
Symbol 296 MovieClip | Uses:294 295 | Used by:Timeline |
Symbol 297 Graphic | Used by:298 | |
Symbol 298 MovieClip | Uses:294 297 | Used by:Timeline |
Symbol 299 Graphic | Used by:300 | |
Symbol 300 MovieClip | Uses:294 299 | Used by:Timeline |
Symbol 301 Graphic | Used by:302 | |
Symbol 302 MovieClip | Uses:294 301 | Used by:Timeline |
Symbol 303 Graphic | Used by:304 | |
Symbol 304 MovieClip | Uses:294 303 | Used by:Timeline |
Symbol 305 Graphic | Used by:306 | |
Symbol 306 MovieClip | Uses:294 305 | Used by:Timeline |
Symbol 307 Graphic | Used by:308 | |
Symbol 308 MovieClip | Uses:294 307 | Used by:Timeline |
Symbol 309 Graphic | Used by:310 | |
Symbol 310 MovieClip | Uses:294 309 | Used by:Timeline |
Symbol 311 Graphic | Used by:312 | |
Symbol 312 MovieClip | Uses:294 311 | Used by:Timeline |
Symbol 313 Graphic | Used by:314 | |
Symbol 314 MovieClip | Uses:294 313 | Used by:Timeline |
Symbol 315 Graphic | Used by:316 | |
Symbol 316 MovieClip | Uses:294 315 | Used by:Timeline |
Symbol 317 Graphic | Used by:318 | |
Symbol 318 MovieClip | Uses:294 317 | Used by:Timeline |
Symbol 319 Text | Uses:127 | Used by:Timeline |
Symbol 320 Text | Uses:118 288 | Used by:Timeline |
Symbol 321 Text | Uses:118 | Used by:Timeline |
Symbol 322 Text | Uses:118 | Used by:Timeline |
Symbol 323 Graphic | Used by:324 | |
Symbol 324 MovieClip | Uses:323 294 | Used by:Timeline |
Symbol 325 Graphic | Used by:326 | |
Symbol 326 MovieClip | Uses:325 294 | Used by:Timeline |
Symbol 327 Text | Uses:127 | Used by:Timeline |
Symbol 328 Font | Used by:329 351 | |
Symbol 329 Text | Uses:118 328 | Used by:Timeline |
Symbol 330 Text | Uses:127 | Used by:Timeline |
Symbol 331 Text | Uses:118 288 | Used by:Timeline |
Symbol 332 Text | Uses:118 | Used by:Timeline |
Symbol 333 Text | Uses:118 | Used by:Timeline |
Symbol 334 Text | Uses:127 | Used by:Timeline |
Symbol 335 Text | Uses:118 288 | Used by:Timeline |
Symbol 336 Text | Uses:118 | Used by:Timeline |
Symbol 337 Text | Uses:118 | Used by:Timeline |
Symbol 338 Text | Uses:127 | Used by:Timeline |
Symbol 339 Text | Uses:118 288 | Used by:Timeline |
Symbol 340 Text | Uses:118 | Used by:Timeline |
Symbol 341 Text | Uses:118 | Used by:Timeline |
Symbol 342 Text | Uses:127 | Used by:Timeline |
Symbol 343 Text | Uses:118 288 | Used by:Timeline |
Symbol 344 Text | Uses:118 | Used by:Timeline |
Symbol 345 Text | Uses:118 | Used by:Timeline |
Symbol 346 Text | Uses:127 | Used by:Timeline |
Symbol 347 Text | Uses:118 288 | Used by:Timeline |
Symbol 348 Text | Uses:118 | Used by:Timeline |
Symbol 349 Text | Uses:118 | Used by:Timeline |
Symbol 350 Text | Uses:127 | Used by:Timeline |
Symbol 351 Text | Uses:118 328 | Used by:Timeline |
Symbol 352 Text | Uses:127 | Used by:Timeline |
Symbol 353 Text | Uses:118 288 | Used by:Timeline |
Symbol 354 Graphic | Used by:Timeline | |
Symbol 355 Text | Uses:127 | Used by:Timeline |
Symbol 356 Text | Uses:118 288 | Used by:Timeline |
Symbol 357 Text | Uses:127 | Used by:Timeline |
Symbol 358 Text | Uses:118 288 | Used by:Timeline |
Symbol 359 Text | Uses:127 | Used by:Timeline |
Symbol 360 Text | Uses:118 288 | Used by:Timeline |
Symbol 361 Text | Uses:127 | Used by:Timeline |
Symbol 362 Text | Uses:118 | Used by:Timeline |
Symbol 363 Text | Uses:118 288 | Used by:Timeline |
Symbol 364 Graphic | Used by:Timeline | |
Symbol 365 Text | Uses:127 | Used by:Timeline |
Symbol 366 Text | Uses:118 | Used by:Timeline |
Symbol 367 Text | Uses:118 | Used by:Timeline |
Symbol 368 Graphic | Used by:Timeline | |
Symbol 369 Text | Uses:118 | Used by:Timeline |
Symbol 370 Text | Uses:288 118 | Used by:Timeline |
Symbol 371 Graphic | Used by:Timeline | |
Symbol 372 Text | Uses:109 | Used by:Timeline |
Symbol 373 Text | Uses:109 | Used by:Timeline |
Symbol 374 Text | Uses:127 | Used by:Timeline |
Symbol 375 Text | Uses:118 | Used by:Timeline |
Symbol 376 Text | Uses:118 | Used by:Timeline |
Symbol 377 Text | Uses:127 | Used by:Timeline |
Symbol 378 Text | Uses:118 | Used by:Timeline |
Symbol 379 Graphic | Used by:382 Timeline | |
Symbol 380 Text | Uses:127 | Used by:Timeline |
Symbol 381 Button | Uses:217 | Used by:Timeline |
Symbol 382 MovieClip | Uses:379 | Used by:Timeline |
Symbol 383 Text | Uses:118 288 | Used by:Timeline |
Symbol 384 Button | Uses:202 223 | Used by:Timeline |
Symbol 385 Button | Uses:202 223 | Used by:Timeline |
Symbol 386 Text | Uses:127 | Used by:Timeline |
Instance Names
"GameHistory" | Frame 78 | Symbol 197 MovieClip [FListBoxSymbol] |
"CoverButton" | Frame 78 | Symbol 105 Button |
"TurnIndicator" | Frame 78 | Symbol 258 MovieClip |
"blue_select" | Frame 85 | Symbol 268 MovieClip |
"green_select" | Frame 85 | Symbol 270 MovieClip |
"cyan_select" | Frame 85 | Symbol 272 MovieClip |
"NoNext" | Frame 320 | Symbol 381 Button |
"sample_blue_box" | Frame 320 | Symbol 268 MovieClip |
"sample_cyan_box" | Frame 320 | Symbol 272 MovieClip |
"sample_green_box" | Frame 320 | Symbol 270 MovieClip |
"sample_queen" | Frame 320 | Symbol 156 MovieClip [w_queen] |
"face_mc" | Symbol 14 MovieClip Frame 1 | Symbol 3 MovieClip |
"arrow_mc" | Symbol 14 MovieClip Frame 1 | Symbol 5 MovieClip |
"highlight_mc" | Symbol 14 MovieClip Frame 1 | Symbol 7 MovieClip |
"shadow_mc" | Symbol 14 MovieClip Frame 1 | Symbol 9 MovieClip |
"darkshadow_mc" | Symbol 14 MovieClip Frame 1 | Symbol 11 MovieClip |
"highlight3D_mc" | Symbol 14 MovieClip Frame 1 | Symbol 13 MovieClip |
"darkshadow_mc" | Symbol 24 MovieClip Frame 1 | Symbol 15 MovieClip |
"highlight3D_mc" | Symbol 24 MovieClip Frame 1 | Symbol 16 MovieClip |
"highlight_mc" | Symbol 24 MovieClip Frame 1 | Symbol 18 MovieClip |
"shadow_mc" | Symbol 24 MovieClip Frame 1 | Symbol 20 MovieClip |
"face_mc" | Symbol 24 MovieClip Frame 1 | Symbol 21 MovieClip |
"arrow_mc" | Symbol 24 MovieClip Frame 1 | Symbol 23 MovieClip |
"highlight3D_mc" | Symbol 33 MovieClip Frame 1 | Symbol 25 MovieClip |
"darkshadow_mc" | Symbol 33 MovieClip Frame 1 | Symbol 26 MovieClip |
"highlight_mc" | Symbol 33 MovieClip Frame 1 | Symbol 27 MovieClip |
"shadow_mc" | Symbol 33 MovieClip Frame 1 | Symbol 28 MovieClip |
"face_mc" | Symbol 33 MovieClip Frame 1 | Symbol 30 MovieClip |
"arrow_mc" | Symbol 33 MovieClip Frame 1 | Symbol 32 MovieClip |
"up" | Symbol 34 MovieClip [UpArrow] Frame 1 | Symbol 14 MovieClip |
"down" | Symbol 34 MovieClip [UpArrow] Frame 2 | Symbol 24 MovieClip |
"disabled" | Symbol 34 MovieClip [UpArrow] Frame 3 | Symbol 33 MovieClip |
"highlight3D_mc" | Symbol 41 MovieClip Frame 1 | Symbol 36 MovieClip |
"darkshadow_mc" | Symbol 41 MovieClip Frame 1 | Symbol 38 MovieClip |
"highlight_mc" | Symbol 41 MovieClip Frame 1 | Symbol 39 MovieClip |
"shadow_mc" | Symbol 41 MovieClip Frame 1 | Symbol 40 MovieClip |
"highlight3D_mc" | Symbol 48 MovieClip Frame 1 | Symbol 42 MovieClip |
"darkshadow_mc" | Symbol 48 MovieClip Frame 1 | Symbol 43 MovieClip |
"shadow_mc" | Symbol 48 MovieClip Frame 1 | Symbol 45 MovieClip |
"face_mc" | Symbol 48 MovieClip Frame 1 | Symbol 46 MovieClip |
"highlight_mc" | Symbol 48 MovieClip Frame 1 | Symbol 47 MovieClip |
"shadow_mc" | Symbol 53 MovieClip Frame 1 | Symbol 49 MovieClip |
"darkshadow_mc" | Symbol 53 MovieClip Frame 1 | Symbol 51 MovieClip |
"highlight3D_mc" | Symbol 53 MovieClip Frame 1 | Symbol 52 MovieClip |
"mc_sliderTop" | Symbol 54 MovieClip [ScrollThumb] Frame 1 | Symbol 41 MovieClip |
"mc_sliderMid" | Symbol 54 MovieClip [ScrollThumb] Frame 1 | Symbol 48 MovieClip |
"mc_sliderBot" | Symbol 54 MovieClip [ScrollThumb] Frame 1 | Symbol 53 MovieClip |
"face_mc" | Symbol 62 MovieClip Frame 1 | Symbol 55 MovieClip |
"arrow_mc" | Symbol 62 MovieClip Frame 1 | Symbol 57 MovieClip |
"highlight_mc" | Symbol 62 MovieClip Frame 1 | Symbol 58 MovieClip |
"shadow_mc" | Symbol 62 MovieClip Frame 1 | Symbol 59 MovieClip |
"darkshadow_mc" | Symbol 62 MovieClip Frame 1 | Symbol 60 MovieClip |
"highlight3D_mc" | Symbol 62 MovieClip Frame 1 | Symbol 61 MovieClip |
"darkshadow_mc" | Symbol 70 MovieClip Frame 1 | Symbol 63 MovieClip |
"highlight3D_mc" | Symbol 70 MovieClip Frame 1 | Symbol 64 MovieClip |
"highlight_mc" | Symbol 70 MovieClip Frame 1 | Symbol 65 MovieClip |
"shadow_mc" | Symbol 70 MovieClip Frame 1 | Symbol 66 MovieClip |
"face_mc" | Symbol 70 MovieClip Frame 1 | Symbol 67 MovieClip |
"arrow_mc" | Symbol 70 MovieClip Frame 1 | Symbol 69 MovieClip |
"highlight3D_mc" | Symbol 78 MovieClip Frame 1 | Symbol 71 MovieClip |
"darkshadow_mc" | Symbol 78 MovieClip Frame 1 | Symbol 72 MovieClip |
"highlight_mc" | Symbol 78 MovieClip Frame 1 | Symbol 73 MovieClip |
"shadow_mc" | Symbol 78 MovieClip Frame 1 | Symbol 74 MovieClip |
"face_mc" | Symbol 78 MovieClip Frame 1 | Symbol 75 MovieClip |
"arrow_mc" | Symbol 78 MovieClip Frame 1 | Symbol 77 MovieClip |
"up" | Symbol 79 MovieClip [DownArrow] Frame 1 | Symbol 62 MovieClip |
"down" | Symbol 79 MovieClip [DownArrow] Frame 2 | Symbol 70 MovieClip |
"disabled" | Symbol 79 MovieClip [DownArrow] Frame 3 | Symbol 78 MovieClip |
"highlight_mc" | Symbol 82 MovieClip [FHighlightSymbol] Frame 1 | Symbol 81 MovieClip |
"highlight_mc2" | Symbol 82 MovieClip [FHighlightSymbol] Frame 2 | Symbol 81 MovieClip |
"highlight_mc3" | Symbol 82 MovieClip [FHighlightSymbol] Frame 3 | Symbol 81 MovieClip |
"labelField" | Symbol 85 MovieClip [FLabelSymbol] Frame 1 | Symbol 84 EditableText |
"spr" | Symbol 88 MovieClip [r_castle] Frame 1 | Symbol 87 MovieClip |
"spr" | Symbol 91 MovieClip [r_knight] Frame 1 | Symbol 90 MovieClip |
"spr" | Symbol 94 MovieClip [r_bishop] Frame 1 | Symbol 93 MovieClip |
"spr" | Symbol 97 MovieClip [r_queen] Frame 1 | Symbol 96 MovieClip |
"spr" | Symbol 100 MovieClip [r_king] Frame 1 | Symbol 99 MovieClip |
"spr" | Symbol 103 MovieClip [r_pawn] Frame 1 | Symbol 102 MovieClip |
"CoverButton" | Symbol 120 MovieClip [stalemate] Frame 1 | Symbol 105 Button |
"CoverButton" | Symbol 125 MovieClip [player_checkmate] Frame 1 | Symbol 105 Button |
"spr" | Symbol 143 MovieClip [w_knight] Frame 1 | Symbol 142 MovieClip |
"spr" | Symbol 146 MovieClip [w_bishop] Frame 1 | Symbol 145 MovieClip |
"spr" | Symbol 149 MovieClip [w_castle] Frame 1 | Symbol 148 MovieClip |
"spr" | Symbol 156 MovieClip [w_queen] Frame 1 | Symbol 155 MovieClip |
"CoverButton" | Symbol 170 MovieClip [promote_pawn] Frame 1 | Symbol 105 Button |
"CoverButton" | Symbol 174 MovieClip [ai_checkmate] Frame 1 | Symbol 105 Button |
"spr" | Symbol 177 MovieClip [w_king] Frame 1 | Symbol 176 MovieClip |
"spr" | Symbol 180 MovieClip [w_pawn] Frame 1 | Symbol 179 MovieClip |
"track_mc" | Symbol 183 MovieClip Frame 1 | Symbol 182 MovieClip |
"scrollTrack_mc" | Symbol 184 MovieClip [FScrollBarSymbol] Frame 1 | Symbol 183 MovieClip |
"dPAsset" | Symbol 188 MovieClip [FSelectableListSymbol] Frame 1 | Symbol 186 MovieClip [DataProviderSymbol] |
"ItemAsset" | Symbol 188 MovieClip [FSelectableListSymbol] Frame 1 | Symbol 187 MovieClip [FSelectableItemSymbol] |
"scrollBarAsset" | Symbol 189 MovieClip [FScrollSelectListSymbol] Frame 1 | Symbol 184 MovieClip [FScrollBarSymbol] |
"superClassAsset" | Symbol 189 MovieClip [FScrollSelectListSymbol] Frame 1 | Symbol 188 MovieClip [FSelectableListSymbol] |
"boundingBox" | Symbol 194 MovieClip [FBoundingBoxSymbol] Frame 1 | Symbol 191 MovieClip |
"boundingBox2" | Symbol 194 MovieClip [FBoundingBoxSymbol] Frame 2 | Symbol 191 MovieClip |
"itemAsset" | Symbol 197 MovieClip [FListBoxSymbol] Frame 1 | Symbol 185 MovieClip [FListItemSymbol] |
"superClassAsset" | Symbol 197 MovieClip [FListBoxSymbol] Frame 1 | Symbol 189 MovieClip [FScrollSelectListSymbol] |
"boundingBox_mc" | Symbol 197 MovieClip [FListBoxSymbol] Frame 1 | Symbol 194 MovieClip [FBoundingBoxSymbol] |
"deadPreview" | Symbol 197 MovieClip [FListBoxSymbol] Frame 1 | Symbol 196 MovieClip |
Special Tags
Protect (24) | Timeline Frame 1 | 31 bytes "..$1$N3$CDAJSTU71Z/O4paEO1VDO.." |
ExportAssets (56) | Timeline Frame 1 | Symbol 1 as "FUIComponentSymbol" |
ExportAssets (56) | Timeline Frame 1 | Symbol 34 as "UpArrow" |
ExportAssets (56) | Timeline Frame 1 | Symbol 54 as "ScrollThumb" |
ExportAssets (56) | Timeline Frame 1 | Symbol 79 as "DownArrow" |
ExportAssets (56) | Timeline Frame 1 | Symbol 82 as "FHighlightSymbol" |
ExportAssets (56) | Timeline Frame 1 | Symbol 85 as "FLabelSymbol" |
ExportAssets (56) | Timeline Frame 1 | Symbol 88 as "r_castle" |
ExportAssets (56) | Timeline Frame 1 | Symbol 91 as "r_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 94 as "r_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 97 as "r_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 100 as "r_king" |
ExportAssets (56) | Timeline Frame 1 | Symbol 103 as "r_pawn" |
ExportAssets (56) | Timeline Frame 1 | Symbol 120 as "stalemate" |
ExportAssets (56) | Timeline Frame 1 | Symbol 125 as "player_checkmate" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 149 as "w_castle" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 149 as "w_castle" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 170 as "promote_pawn" |
ExportAssets (56) | Timeline Frame 1 | Symbol 174 as "ai_checkmate" |
ExportAssets (56) | Timeline Frame 1 | Symbol 177 as "w_king" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 1 | Symbol 149 as "w_castle" |
ExportAssets (56) | Timeline Frame 1 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 180 as "w_pawn" |
ExportAssets (56) | Timeline Frame 1 | Symbol 184 as "FScrollBarSymbol" |
ExportAssets (56) | Timeline Frame 1 | Symbol 185 as "FListItemSymbol" |
ExportAssets (56) | Timeline Frame 1 | Symbol 184 as "FScrollBarSymbol" |
ExportAssets (56) | Timeline Frame 1 | Symbol 186 as "DataProviderSymbol" |
ExportAssets (56) | Timeline Frame 1 | Symbol 187 as "FSelectableItemSymbol" |
ExportAssets (56) | Timeline Frame 1 | Symbol 188 as "FSelectableListSymbol" |
ExportAssets (56) | Timeline Frame 1 | Symbol 189 as "FScrollSelectListSymbol" |
ExportAssets (56) | Timeline Frame 1 | Symbol 194 as "FBoundingBoxSymbol" |
ExportAssets (56) | Timeline Frame 1 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 78 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 79 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 80 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 81 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 82 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 83 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 84 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 85 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 86 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 87 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 88 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 89 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 90 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 91 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 92 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 93 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 94 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 95 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 96 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 97 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 98 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 99 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 100 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 101 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 102 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 103 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 104 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 105 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 106 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 107 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 108 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 109 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 110 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 111 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 112 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 113 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 114 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 115 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 116 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 117 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 118 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 119 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 120 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 121 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 122 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 123 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 124 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 125 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 126 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 127 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 128 | Symbol 197 as "FListBoxSymbol" |
ExportAssets (56) | Timeline Frame 179 | Symbol 180 as "w_pawn" |
ExportAssets (56) | Timeline Frame 180 | Symbol 180 as "w_pawn" |
ExportAssets (56) | Timeline Frame 181 | Symbol 180 as "w_pawn" |
ExportAssets (56) | Timeline Frame 182 | Symbol 180 as "w_pawn" |
ExportAssets (56) | Timeline Frame 183 | Symbol 180 as "w_pawn" |
ExportAssets (56) | Timeline Frame 184 | Symbol 180 as "w_pawn" |
ExportAssets (56) | Timeline Frame 185 | Symbol 180 as "w_pawn" |
ExportAssets (56) | Timeline Frame 193 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 194 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 195 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 196 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 197 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 198 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 199 | Symbol 143 as "w_knight" |
ExportAssets (56) | Timeline Frame 200 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 201 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 202 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 203 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 204 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 205 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 206 | Symbol 146 as "w_bishop" |
ExportAssets (56) | Timeline Frame 207 | Symbol 149 as "w_castle" |
ExportAssets (56) | Timeline Frame 208 | Symbol 149 as "w_castle" |
ExportAssets (56) | Timeline Frame 209 | Symbol 149 as "w_castle" |
ExportAssets (56) | Timeline Frame 210 | Symbol 149 as "w_castle" |
ExportAssets (56) | Timeline Frame 211 | Symbol 149 as "w_castle" |
ExportAssets (56) | Timeline Frame 212 | Symbol 149 as "w_castle" |
ExportAssets (56) | Timeline Frame 213 | Symbol 149 as "w_castle" |
ExportAssets (56) | Timeline Frame 214 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 215 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 216 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 217 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 218 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 219 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 220 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 221 | Symbol 177 as "w_king" |
ExportAssets (56) | Timeline Frame 222 | Symbol 177 as "w_king" |
ExportAssets (56) | Timeline Frame 223 | Symbol 177 as "w_king" |
ExportAssets (56) | Timeline Frame 224 | Symbol 177 as "w_king" |
ExportAssets (56) | Timeline Frame 225 | Symbol 177 as "w_king" |
ExportAssets (56) | Timeline Frame 226 | Symbol 177 as "w_king" |
ExportAssets (56) | Timeline Frame 227 | Symbol 177 as "w_king" |
ExportAssets (56) | Timeline Frame 320 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 321 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 322 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 323 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 324 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 325 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 326 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 327 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 328 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 329 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 330 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 331 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 332 | Symbol 156 as "w_queen" |
ExportAssets (56) | Timeline Frame 333 | Symbol 156 as "w_queen" |
Labels
"Splash Stop" | Frame 15 |
"LeaveSplash" | Frame 16 |
"ToAbout" | Frame 23 |
"About" | Frame 30 |
"About Fade" | Frame 38 |
"Fade In" | Frame 54 |
"Initialize" | Frame 69 |
"Main" | Frame 78 |
"Active Right Panel" | Frame 78 |
"PlayerMove" | Frame 85 |
"Selectors" | Frame 85 |
"Player Move" | Frame 87 |
"AIPonder" | Frame 98 |
"AI Ponder" | Frame 100 |
"Animate" | Frame 109 |
"Animation" | Frame 110 |
"Game Over" | Frame 119 |
"Fade Out" | Frame 129 |
"Rules Start" | Frame 143 |
"Rules Done" | Frame 155 |
"Rule1" | Frame 165 |
"Rule1Stop" | Frame 171 |
"Rule2" | Frame 172 |
"Rule3" | Frame 179 |
"Rule4" | Frame 186 |
"Rule5" | Frame 193 |
"Rule6" | Frame 200 |
"Rule7" | Frame 207 |
"Rule8" | Frame 214 |
"Rule9" | Frame 221 |
"Rule10" | Frame 228 |
"Rule11" | Frame 235 |
"Rule12" | Frame 242 |
"Rule13" | Frame 249 |
"Rule14" | Frame 256 |
"Rule15" | Frame 273 |
"Rule16" | Frame 283 |
"Rule17" | Frame 294 |
"Rule18" | Frame 313 |
"Rule19" | Frame 320 |
"Queen Pause" | Frame 322 |
"Queen Loop" | Frame 324 |
"Rule20" | Frame 327 |
"Symbol_36" | Symbol 1 MovieClip [FUIComponentSymbol] Frame 1 |
"enabled" | Symbol 82 MovieClip [FHighlightSymbol] Frame 1 |
"disabled" | Symbol 82 MovieClip [FHighlightSymbol] Frame 2 |
"unfocused" | Symbol 82 MovieClip [FHighlightSymbol] Frame 3 |
"Symbol_32" | Symbol 85 MovieClip [FLabelSymbol] Frame 1 |
"Symbol_354" | Symbol 186 MovieClip [DataProviderSymbol] Frame 1 |
"enabled" | Symbol 194 MovieClip [FBoundingBoxSymbol] Frame 1 |
"disabled" | Symbol 194 MovieClip [FBoundingBoxSymbol] Frame 2 |
"pl_turn" | Symbol 258 MovieClip Frame 1 |
"ai_turn" | Symbol 258 MovieClip Frame 11 |
"pl_check" | Symbol 258 MovieClip Frame 21 |
"ai_check" | Symbol 258 MovieClip Frame 31 |
"pl_mate" | Symbol 258 MovieClip Frame 41 |
"ai_mate" | Symbol 258 MovieClip Frame 51 |
"stalemate" | Symbol 258 MovieClip Frame 60 |
"replay" | Symbol 258 MovieClip Frame 70 |
Dynamic Text Variables
totalMoves | Symbol 119 EditableText | "(total moves: 15)" |
totalMoves | Symbol 124 EditableText | "(total moves: 15)" |
totalMoves | Symbol 173 EditableText | "(total moves: 15)" |
|