Skip to content

Instantly share code, notes, and snippets.

@PetterKraabol
Last active December 18, 2015 04:19
Show Gist options
  • Save PetterKraabol/5724471 to your computer and use it in GitHub Desktop.
Save PetterKraabol/5724471 to your computer and use it in GitHub Desktop.
This is one of my old Tic-Tac-Toe game code in ActionScript3. I suggest not to use it, as it is horrible and repeating.
import flash.events.MouseEvent;
stop();
var currentPlayer = "x";
//Initial
var newSymbol;
var ownerA1 = "none";
var ownerA2 = "none";
var ownerA3 = "none";
var ownerB1 = "none";
var ownerB2 = "none";
var ownerB3 = "none";
var ownerC1 = "none";
var ownerC2 = "none";
var ownerC3 = "none";
/*
A1 A2 A3
B1 B2 B3
C1 C2 C3
*/
A1.addEventListener(MouseEvent.CLICK, checkA1);
A2.addEventListener(MouseEvent.CLICK, checkA2);
A3.addEventListener(MouseEvent.CLICK, checkA3);
B1.addEventListener(MouseEvent.CLICK, checkB1);
B2.addEventListener(MouseEvent.CLICK, checkB2);
B3.addEventListener(MouseEvent.CLICK, checkB3);
C1.addEventListener(MouseEvent.CLICK, checkC1);
C2.addEventListener(MouseEvent.CLICK, checkC2);
C3.addEventListener(MouseEvent.CLICK, checkC3);
function testAvailable(){
if (ownerA1 == "none" || ownerA2 == "none" || ownerA3 == "none" ||
ownerB1 == "none" || ownerB2 == "none" || ownerB3 == "none" ||
ownerC1 == "none" || ownerC2 == "none" || ownerC3 == "none"){
trace("Continue");
}else{
trace("No more");
gotoAndStop(4); //It is a draw!
}
}
function testWin(){
//Horizontal
if (ownerA1 == "x" && ownerA2 == "x" && ownerA3 == "x"){
trace("Player X won A1-A3");
gotoAndStop(2); // Player x win page
}else
if (ownerA1 == "o" && ownerA2 == "o" && ownerA3 == "o"){
trace("Player O won A1-A3");
gotoAndStop(3); // Player o win page
}else
//
if (ownerB1 == "x" && ownerB2 == "x" && ownerB3 == "x"){
trace("Player X won B1-B3");
gotoAndStop(2);
}else
if (ownerB1 == "o" && ownerB2 == "o" && ownerB3 == "o"){
trace("Player O won B1-B3");
gotoAndStop(3);
}else
//
if (ownerC1 == "x" && ownerC2 == "x" && ownerC3 == "x"){
trace("Player X won C1-C3");
gotoAndStop(2);
}else
if (ownerC1 == "o" && ownerC2 == "o" && ownerC3 == "o"){
trace("Player O won C1-C3");
gotoAndStop(3);
}else
//Vertical
//1
if (ownerA1 == "x" && ownerB1 == "x" && ownerC1 == "x"){
trace("Player X won A1-C1");
gotoAndStop(2);
}else
if (ownerA1 == "o" && ownerB1 == "o" && ownerC1 == "o"){
trace("Player O won A1-C1");
gotoAndStop(3);
}else
//2
if (ownerA2 == "x" && ownerB2 == "x" && ownerC2 == "x"){
trace("Player X won A2-C2");
gotoAndStop(2);
}else
if (ownerA2 == "o" && ownerB2 == "o" && ownerC2 == "o"){
trace("Player O won A2-C2");
gotoAndStop(3);
}else
//3
if (ownerA3 == "x" && ownerB3 == "x" && ownerC3 == "x"){
trace("Player X won A3-C3");
gotoAndStop(2);
}else
if (ownerA3 == "o" && ownerB3 == "o" && ownerC3 == "o"){
trace("Player O won A2-C2");
gotoAndStop(3);
}else
//Diagonal
//1
if (ownerA1 == "x" && ownerB2 == "x" && ownerC3 == "x"){
trace("Player X won A1-C3");
gotoAndStop(2);
}else
if (ownerA1 == "o" && ownerB2 == "o" && ownerC3 == "o"){
trace("Player O won A1-C3");
gotoAndStop(3);
}else
//2
if (ownerA3 == "x" && ownerB2 == "x" && ownerC1 == "x"){
trace("Player X won A3-C1");
gotoAndStop(2);
}else
if (ownerA3 == "o" && ownerB2 == "o" && ownerC1 == "o"){
trace("Player O won A3-C1");
gotoAndStop(3);
}else{
testAvailable(); //Check if any space available.
}
}
//A
function checkA1(evt:MouseEvent){
if (ownerA1 == "none"){
if (currentPlayer == "x"){
var newSymbol = new PlayerX;
currentPlayer = "o";
ownerA1 = "x";
trace ("Player X now owns A1");
}else if (currentPlayer == "o"){
newSymbol = new PlayerO;
currentPlayer = "x";
ownerA1 = "o";
trace ("Player O now owns A1");
}
newSymbol.x = A1.x;
newSymbol.y = A1.y;
addChild(newSymbol);
//Check if win
testWin();
}else{
trace ("A1 is already taken!");
}
}
function checkA2(evt:MouseEvent){
if (ownerA2 == "none"){
if (currentPlayer == "x"){
var newSymbol = new PlayerX;
currentPlayer = "o";
ownerA2 = "x";
trace ("Player X now owns A2");
}else if (currentPlayer == "o"){
newSymbol = new PlayerO;
currentPlayer = "x";
ownerA2 = "o";
trace ("Player O now owns A2");
}
newSymbol.x = A2.x;
newSymbol.y = A2.y;
addChild(newSymbol);
//Check if win
testWin();
}else{
trace ("A2 is already taken!");
}
}
function checkA3(evt:MouseEvent){
if (ownerA3 == "none"){
if (currentPlayer == "x"){
newSymbol = new PlayerX;
currentPlayer = "o";
ownerA3 = "x";
trace ("Player X now owns A3");
}else if (currentPlayer == "o"){
newSymbol = new PlayerO;
currentPlayer = "x";
ownerA3 = "o";
trace ("Player O now owns A3");
}
newSymbol.x = A3.x;
newSymbol.y = A3.y;
addChild(newSymbol);
//Check if win
testWin();
}else{
trace ("A3 is already taken!");
}
}
//B
function checkB1(evt:MouseEvent){
if (ownerB1 == "none"){
if (currentPlayer == "x"){
newSymbol = new PlayerX;
currentPlayer = "o";
ownerB1 = "x";
trace ("Player X now owns B1");
}else if (currentPlayer == "o"){
newSymbol = new PlayerO;
currentPlayer = "x";
ownerB1 = "o";
trace ("Player O now owns B1");
}
newSymbol.x = B1.x;
newSymbol.y = B1.y;
addChild(newSymbol);
//Check if win
testWin();
}else{
trace ("B1 is already taken!");
}
}
function checkB2(evt:MouseEvent){
if (ownerB2 == "none"){
if (currentPlayer == "x"){
newSymbol = new PlayerX;
currentPlayer = "o";
ownerB2 = "x";
trace ("Player X now owns B2");
}else if (currentPlayer == "o"){
newSymbol = new PlayerO;
currentPlayer = "x";
ownerB2 = "o";
trace ("Player O now owns B2");
}
newSymbol.x = B2.x;
newSymbol.y = B2.y;
addChild(newSymbol);
//Check if win
testWin();
}else{
trace ("B2 is already taken!");
}
}
function checkB3(evt:MouseEvent){
if (ownerB3 == "none"){
if (currentPlayer == "x"){
newSymbol = new PlayerX;
currentPlayer = "o";
ownerB3 = "x";
trace ("Player X now owns B3");
}else if (currentPlayer == "o"){
newSymbol = new PlayerO;
currentPlayer = "x";
ownerB3 = "o";
trace ("Player O now owns B3");
}
newSymbol.x = B3.x;
newSymbol.y = B3.y;
addChild(newSymbol);
//Check if win
testWin();
}else{
trace ("B3 is already taken!");
}
}
//C
//B
function checkC1(evt:MouseEvent){
if (ownerC1 == "none"){
if (currentPlayer == "x"){
newSymbol = new PlayerX;
currentPlayer = "o";
ownerC1 = "x";
trace ("Player X now owns C1");
}else if (currentPlayer == "o"){
newSymbol = new PlayerO;
currentPlayer = "x";
ownerC1 = "o";
trace ("Player O now owns C1");
}
newSymbol.x = C1.x;
newSymbol.y = C1.y;
addChild(newSymbol);
//Check if win
testWin();
}else{
trace ("C1 is already taken!");
}
}
function checkC2(evt:MouseEvent){
if (ownerC2 == "none"){
if (currentPlayer == "x"){
newSymbol = new PlayerX;
currentPlayer = "o";
ownerC2 = "x";
trace ("Player X now owns C2");
}else if (currentPlayer == "o"){
newSymbol = new PlayerO;
currentPlayer = "x";
ownerC2 = "o";
trace ("Player O now owns C2");
}
newSymbol.x = C2.x;
newSymbol.y = C2.y;
addChild(newSymbol);
//Check if win
testWin();
}else{
trace ("C2 is already taken!");
}
}
function checkC3(evt:MouseEvent){
if (ownerC3 == "none"){
if (currentPlayer == "x"){
newSymbol = new PlayerX;
currentPlayer = "o";
ownerC3 = "x";
trace ("Player X now owns C3");
}else if (currentPlayer == "o"){
newSymbol = new PlayerO;
currentPlayer = "x";
ownerC3 = "o";
trace ("Player O now owns C3");
}
newSymbol.x = C3.x;
newSymbol.y = C3.y;
addChild(newSymbol);
//Check if win
testWin();
}else{
trace ("C3 is already taken!");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment