I’m trying to figure out how to make a Three Card Monte game… Here’s my code.
package {
//Imports
import flash.display.MovieClip;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.events.MouseEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.Event;
public class poise_3cardmonte extends MovieClip {
static const num_cards:uint = 3;
var falseCup_1:emptyCup;
var falseCup_2:emptyCup;
var trueCup:correctCup;
var Option:Number = 0;
var currentTimer:Number = 5
var startTimer:Timer = new Timer(1500, 5);
var positionSpot:Array = new Array(position_1, position_2, position_3);
var position_1:Number;
var position_2:Number;
var position_3:Number;
var p1_Taken:Boolean = false;
var p2_Taken:Boolean = false;
var p3_Taken:Boolean = false;
var temp1:Number = 0;
var temp2:Number = 0;
public function start3CardMonte() {
trace("Game Hast Begun!");
//Cup Callout
falseCup_1 = new emptyCup();
falseCup_2 = new emptyCup();
trueCup = new correctCup();
//Positioning
position_1 = pos_1.x
position_2 = pos_2.x
position_3 = pos_3.x
addChild(falseCup_1);
addChild(falseCup_2);
addChild(trueCup);
falseCup_1.y = pos_1.y;
falseCup_2.y = pos_1.y;
trueCup.y = pos_1.y;
placeCards();
startTimer.addEventListener(TimerEvent.TIMER, ReadyGo);
startTimer.addEventListener(TimerEvent.TIMER_COMPLETE, StopTimer);
startTimer.start();
}
public function placeCards() {
if (Math.random() < .3){
trueCup.x = position_1;
falseCup_1.x = position_2;
falseCup_2.x = position_3;
}
else if (Math.random() >= .3 && Math.random() < .6){
trueCup.x = position_3;
falseCup_1.x = position_1;
falseCup_2.x = position_2;
}
else {
trueCup.x = position_2;
falseCup_1.x = position_3;
falseCup_2.x = position_1;
}
}
public function ReadyGo(e:TimerEvent){
trace("Swapped");
makeSwappage();
}
public function makeSwappage() {
//Swap Cards
Option = Math.ceil(Math.random()*3);
switch (Option){
case 0:
trace("Swap #0");
break;
case 1:
trace("Swap #1");
break;
case 2:
trace("Swap #2");
break;
case 3:
trace("Swap #3");
break;
}
}
public function StopTimer(e:TimerEvent){
startTimer.stop();
trace("Timer Stopped");
}
//SWAPS
public function Swap_1(e:Event){
temp1 = trueCup.x;
temp2 = falseCup_1.x;
//LOST HERE
}
}
}
How would I cause them to swap?
I could take the long route and do it MovieClip wise… but that would be inefficient.