DealCards: //NumPlayers = 4 //Initial number for programming. This is now handled in main.agc If NumPlayers = 2 PlayerPosX[1] = GetVirtualWidth()/2 - (GetSpriteWidth(1)/6) ///6) PlayerPosY[1] = (GetVirtualHeight()) - (2 * (GetSpriteHeight(1))) // 10 CardAngle[1] = 0 PlayerPosX[2] = (GetVirtualWidth()/2) - (GetSpriteWidth(1)/6) PlayerPosY[2] = 10 + GetSpriteHeight(1) CardAngle[2] = 180 endif If NumPlayers = 4 PlayerPosX[1] = GetVirtualWidth() - (2 *(GetSpriteHeight(1))) ///6) PlayerPosY[1] = (GetVirtualHeight()/2) - 10 CardAngle[1] = 90 PlayerPosX[2] = (GetVirtualWidth()/2) - (GetSpriteWidth(1)/6) PlayerPosY[2] = (GetVirtualHeight()) - (2 * (GetSpriteHeight(1))) CardAngle[2] = 180 PlayerPosX[3] = (GetSpriteWidth(1)) PlayerPosY[3] = (GetVirtualHeight()/2) - 10 CardAngle[3] = 270 PlayerPosX[4] = (GetVirtualWidth()/2) - (GetSpriteWidth(1)/6) PlayerPosY[4] = 10 + GetSpriteHeight(1) CardAngle[4] = 0 endif //Deal: For i = 1 to NumPlayers Move[i] = 1 Next i Do For j = 1 to 6 For i = 1 to NumPlayers If PlayerPosX[i] = GetVirtualWidth() - (2 *(GetSpriteHeight(1))) //It's on the right side of the screen OffsetX[1] = 0 OffsetY[1] = GetSpriteWidth(1) + 2 OffsetX[2] = 0 OffsetY[2] = 0 OffsetX[3] = 0 OffsetY[3] = -(GetSpriteWidth(1) + 2) OffsetX[4] = -(GetSpriteHeight(1) + 2) OffsetY[4] = GetSpriteWidth(1) + 2 OffsetX[5] = -(GetSpriteHeight(1) + 2) OffsetY[5] = 0 OffsetX[6] = -(GetSpriteHeight(1) + 2) OffsetY[6] = (- 1) * (GetSpriteWidth(1) + 2) Elseif PlayerPosY[i] = (GetVirtualHeight()) - (2 * (GetSpriteHeight(1))) //It's on the bottom side of the screen OffsetX[1] = - (GetSpriteWidth(1) + 2) OffsetY[1] = 0 OffsetX[2] = 0 OffsetY[2] = 0 OffsetX[3] = (GetSpriteWidth(1) + 2) OffsetY[3] = 0 OffsetX[4] = - (GetSpriteWidth(1) + 2) OffsetY[4] = - (GetSpriteHeight(1) + 2) OffsetX[5] = 0 OffsetY[5] = - (GetSpriteHeight(1) + 2) OffsetX[6] = (GetSpriteWidth(1) + 2) OffsetY[6] = - (GetSpriteHeight(1) + 2) Elseif PlayerPosX[i] = (GetSpriteWidth(1)) //It's on the left side of the screen OffsetX[1] = 0 OffsetY[1] = - (GetSpriteWidth(1) + 4) OffsetX[2] = 0 OffsetY[2] = 0 OffsetX[3] = 0 OffsetY[3] = (GetSpriteWidth(1) + 4) OffsetX[4] = (GetSpriteHeight(1) + 4) OffsetY[4] = (-1) * (GetSpriteWidth(1) + 4) OffsetX[5] = (GetSpriteHeight(1) + 4) OffsetY[5] = 0 OffsetX[6] = (GetSpriteHeight(1) + 4) OffsetY[6] = (GetSpriteWidth(1) + 4) Elseif PlayerPosY[i] = 10 + GetSpriteHeight(1) //It's on the top side of the screen OffsetX[1] = - (GetSpriteWidth(1) + 2) OffsetY[1] = 0 OffsetX[2] = 0 OffsetY[2] = 0 OffsetX[3] = (GetSpriteWidth(1) + 2) OffsetY[3] = 0 OffsetX[4] = - (GetSpriteWidth(1) + 2) OffsetY[4] = (GetSpriteHeight(1) + 2) OffsetX[5] = 0 OffsetY[5] = (GetSpriteHeight(1) + 2) OffsetX[6] = (GetSpriteWidth(1) + 2) OffsetY[6] = (GetSpriteHeight(1) + 2) Endif repeat OriginalX[NumberOfCards + 1 - i] = GetSpriteX(NumberOfCards + 1 - i) OriginalY[NumberOfCards + 1 - i] = GetSpriteY(NumberOfCards + 1 - i) DistanceX[i] = PlayerPosX[i] + OffsetX[j] - OriginalX[NumberOfCards + 1 - i] DistanceY[i] = PlayerPosY[i] + OffsetY[j] - OriginalY[NumberOfCards + 1 - i] DistanceFromAtoB[i] = Sqrt((DistanceX[i] * DistanceX[i]) + (DistanceY[i] * DistanceY[i])) /* //Print out data Print("Destination X: " + str(PlayerPosX[i])) Print("Destination Y: " + str(PlayerPosY[i])) Print("Current Card Location X: " + str(OriginalX[NumberOfCards + 1 - i])) Print("Current Card Location y: " + str(OriginalY[NumberOfCards + 1 - i])) Print("Distance Remaining: " + str(DistanceFromAtoB[i])) Print("DistanceX Remaining: " + str(DistanceX[i])) Print("DistanceY Remaining: " + str(DistanceY[i])) */ if (DistanceFromAtoB[i] <> 0.0) DirectionX[i] = DistanceX[i] / DistanceFromAtoB[i] DirectionY[i] = DistanceY[i] / DistanceFromAtoB[i] endif if (Move[i] > 0 ) NewX = GetSpriteX(NumberOfCards + 1 - i) + DirectionX[i] * Move[i] NewY = GetSpriteY(NumberOfCards + 1 - i) + DirectionY[i] * Move[i] if (Move[i] < DistanceFromAtoB[i]) Move[i] = Move[i] + 2 else Move[i] = 0 endif SetSpritePosition((NumberOfCards + 1 - i), NewX, NewY) SetSpriteAngle(NumberOfCards + 1 - i, CardAngle[i]) endif // Sleep(500) Sync() until (Move[i] = 0) Move[i] = 1 Next i NumberOfCards = NumberOfCards - NumPlayers If j = 6 exit endif Next j Sleep(500) sync() If j = 6 exit endif loop /*NumPlayers = 4 //Setting an initial value. Will change to an input variable PlayerIncrement = 360/NumPlayers //Set the angle for each player For i=1 to NumPlayers PlayerAngle[i] = i * PlayerIncrement //Print(str(PlayerAngle[i])) Sync() //sleep(2000) Next i NumberOfCards = 14 //Use 1 more than actual count for loop logic //Get X and Y values for each player For i=1 to NumPlayers If ((PlayerAngle[i] >0) and (PlayerAngle[i]<= 45)) PlayerPosX[i] = (GetVirtualWidth()/2) + (GetVirtualHeight()/2 * tan(PlayerAngle[i])) - GetSpriteheight(1) PlayerPosY[i] = GetSpriteHeight(1) CardAngle[i] = 0 CardIncrementX[i] = 12 * Cos(PlayerAngle[i]) CardIncrementY[i] = -12 * Sin(PlayerAngle[i]) Elseif ((PlayerAngle[i] >45) and (PlayerAngle[i]<=90)) PlayerPosX[i] = GetVirtualWidth() - 2 * GetSpriteHeight(1) PlayerPosY[i] = (GetVirtualHeight()/2) - ((GetVirtualWidth()/2) * tan(90 - PlayerAngle[i])) CardAngle[i] = 90 CardIncrementX[i] = 12 * Cos(90 - PlayerAngle[i]) CardIncrementY[i] = -12 * Sin(90 - PlayerAngle[i]) Elseif ((PlayerAngle[i] >90) and (PlayerAngle[i]<=135)) PlayerPosX[i] = GetVirtualWidth() - GetSpriteHeight(1) PlayerPosY[i] = (GetVirtualHeight()/2) + ((GetVirtualWidth()/2) * tan(PlayerAngle[i] - 90)) CardAngle[i] = 90 CardIncrementX[i] = 12 * Cos(90 - PlayerAngle[i]) CardIncrementY[i] = -12 * Sin(90 - PlayerAngle[i]) Elseif ((PlayerAngle[i] >135 and PlayerAngle[i]<= 180)) PlayerPosX[i] = (GetVirtualWidth()/2) + ((GetVirtualHeight()/2) * tan(180 - PlayerAngle[i])) - GetSpriteHeight(1) PlayerPosY[i] = GetVirtualHeight() - GetSpriteHeight(1) CardAngle[i] = 0 CardIncrementX[i] = 12 * Sin(180 - PlayerAngle[i]) CardIncrementY[i] = 12 * Cos(180 - PlayerAngle[i]) Elseif ((PlayerAngle[i] >180 and PlayerAngle[i]<= 225)) PlayerPosX[i] = (GetVirtualWidth()/2) - ((GetVirtualHeight()/2) * tan(180 - PlayerAngle[i])) - GetSpriteHeight(1) PlayerPosY[i] = GetVirtualHeight() - GetSpriteHeight(1) CardAngle[i] = 0 CardIncrementX[i] = 12 * Sin(180 - PlayerAngle[i]) CardIncrementY[i] = 12 * Cos(180 - PlayerAngle[i]) Elseif ((PlayerAngle[i] >225 and PlayerAngle[i]<= 270)) PlayerPosX[i] = GetSpriteHeight(1) PlayerPosY[i] = (GetVirtualHeight()/2) + ((GetVirtualWidth()/2) * tan(270 - PlayerAngle[i])) CardAngle[i] = 90 CardIncrementX[i] = -12 CardIncrementY[i] = 12 Elseif ((PlayerAngle[i] >270 and PlayerAngle[i] <= 315)) PlayerPosX[i] = GetSpriteHeight(1) PlayerPosY[i] = (GetVirtualHeight()/2) - ((GetVirtualWidth()/2) * tan(PlayerAngle[i] - 270)) CardAngle[i] = 0 CardIncrementX[i] = -12 CardIncrementY[i] = -12 Elseif ((PlayerAngle[i] >315 and PlayerAngle[i] < 360)) PlayerPosX[i] = (GetVirtualWidth()/2) - ((GetVirtualHeight()/2) * tan(360 - PlayerAngle[i])) - GetSpriteWidth(1) PlayerPosY[i] = 2 * GetSpriteHeight(1) CardAngle[i] = 0 CardIncrementX[i] = -12 CardIncrementY[i] = -12 Elseif (PlayerAngle[i] = 360) PlayerPosX[i] = (GetVirtualWidth()/2) - GetSpriteWidth(1) // - (GetVirtualHeight()/2) //- GetSpriteWidth(1) PlayerPosY[i] = 2 * GetSpriteHeight(1) CardAngle[i] = 0 CardIncrementX[i] = -12 CardIncrementY[i] = -12 endif Print("PlayerPosX: " + Str (i) + " " + Str ( Round(PlayerPosX[i]))) Print("PlayerPosY: " + Str (i) + " " + Str ( Round(PlayerPosY[i]))) Sleep(5000) sync() Next i //return */ /* Deal: For i = 1 to NumPlayers Move[i] = 1 Next i Do For i = 1 to NumPlayers OriginalX[NumberOfCards - i] = GetSpriteX(NumberOfCards - i) OriginalY[NumberOfCards - i] = GetSpriteY(NumberOfCards - i) DistanceX[i] = PlayerPosX[i] - OriginalX[NumberOfCards - 1] DistanceY[i] = PlayerPosY[i] - OriginalY[NumberOfCards - 1] DistanceFromAtoB[i] = Sqrt((DistanceX[i] * DistanceX[i]) + (DistanceY[i] * DistanceY[i])) if (DistanceFromAtoB[i] <> 0.0) DirectionX[i] = DistanceX[i] / DistanceFromAtoB[i] DirectionY[i] = DistanceY[i] / DistanceFromAtoB[i] endif if (Move[i] > 0 ) NewX = OriginalX[NumberOfCards - i] + DirectionX[i] * Move[i] NewY = OriginalY[NumberOfCards - i] + DirectionY[i] * Move[i] if (Move[i] < DistanceFromAtoB[i]) Move[i] = Move[i] + 2 else Move[i] = 0 endif SetSpritePosition((NumberOfCards - i), NewX, NewY) SetSpriteAngle(NumberOfCards - i, CardAngle[i]) endif Next i Sleep(500) sync() loop /* do Print ( "Touch or click the screen to move the" ) Print ( "sprite to that location" ) if GetPointerPressed ( ) = 1 x = GetPointerX ( ) y = GetPointerY ( ) if ( move = 0 ) move = 1 originalX# = GetSpriteX ( sprite ) originalY# = GetSpriteY ( sprite ) destinationX# = x destinationY# = y distanceX# = destinationX# - originalX# distanceY# = destinationY# - originalY# distanceFromAtoB# = sqrt ( ( distanceX# * distanceX# ) + ( distanceY# * distanceY# ) ) if ( distanceFromAtoB# <> 0.0 ) directionX# = distanceX# / distanceFromAtoB# directionY# = distanceY# / distanceFromAtoB# endif endif endif if ( move > 0 ) newX# = originalX# + directionX# * move newY# = originalY# + directionY# * move if ( move < distanceFromAtoB# ) move = move + 2 else move = 0 endif SetSpritePosition ( sprite, newX#, newY# ) endif Sync ( ) loop */ /* if ( move > 0 ) newX# = originalX# + directionX# * move newY# = originalY# + directionY# * move if ( move < distanceFromAtoB# ) move = move + 2 else move = 0 endif SetSpritePosition ( sprite, newX#, newY# ) endif Sync ( ) loop */ // if (GetSpriteX(NumberOfCards - i) <= 0) /* For i = 1 to NumPlayers CardLocationX[NumberOfCards - i] = GetSpriteX(NumberOfCards - i) CardLocationY[NumberOfCards - i] = GetSpriteY(NumberOfCards - i) //GetSpriteHeight(NumberOfCards - i) if (CardLocationX[NumberOfCards - i] - 12) <= 0 CardIncrementX[i] = 0 endif //GetSpriteHeight(i) if (CardLocationX[NumberOfCards - i] + 12) >= GetVirtualWidth() CardIncrementX[i] = 0 endif //GetSpriteHeight(NumberOfCards - i) if (CardLocationY[NumberOfCards - i] - 12) <= 0 CardIncrementY[i] = 0 endif //GetSpriteHeight(i) if (CardLocationY[NumberOfCards - i] + 12) >= GetVirtualHeight() CardIncrementY[i] = 0 endif repeat CardLocationX[NumberOfCards - i] = GetSpriteX(NumberOfCards - i) + CardIncrementX[i] CardLocationY[NumberOfCards - i] = GetSpriteY(NumberOfCards - i) + CardIncrementY[i] SetSpritePosition(NumberOfCards - i, CardLocationX[NumberOfCards - i], CardLocationY[NumberOfCards - i]) until (CardIncrementX[i] = 0) or (CardIncrementY[i] = 0) SetSpriteAngle(NumberOfCards - i, CardAngle[i]) sync() Next i sync() */ /* For i=1 to 25 Print ("We Got To Deal Cards") Next i NumPlayers = 2 //Setting an initial value. Will change to an input variable PlayerIncrement = 360/NumPlayers NumberOfCards = 13 //Set the angle for each player For i=1 to NumPlayers PlayerAngle[i] = i * PlayerIncrement Next i //Get X and Y values for each player For i=1 to NumPlayers If (PlayerAngle[i] >0) and (PlayerAngle[i]<= 45) PlayerPosX[i] = GetVirtualWidth()/2 + (GetVirtualHeight()/2 * tan(PlayerAngle[i])) - GetSpriteWidth(i) PlayerPosY[i] = GetSpriteHeight(1)/2 CardAngle[i] = 0 Elseif (PlayerAngle[i] >135 and PlayerAngle[i]<= 180) PlayerPosX[i] = GetVirtualWidth()/2 + (GetVirtualHeight()/2 * tan(PlayerAngle[i])) - GetSpriteWidth(i) PlayerPosY[i] = GetVirtualHeight() - GetSpriteHeight(i) CardAngle[i] = 0 Elseif (PlayerAngle[i] >315 and PlayerAngle[i] <= 360) PlayerPosX[i] = GetVirtualWidth()/2 - (GetVirtualHeight()/2 * tan(PlayerAngle[i])) - GetSpriteWidth(i) PlayerPosY[i] = GetSpriteHeight(1)/2 CardAngle[i] = 0 endif Next i //Deal 6 cards to each player For i=0 to 5 For k=NumberOfCards to NumberOfCards - (6 * NumPlayers) For j=1 to NumPlayers SetSpritePosition(k, PlayerPosX[j] + (i * 12), PlayerPosY[j]) SetSpriteAngle(k, CardAngle[k]) Sleep(2000) Next j Next k Next i // if getpointerpressed()=1 then exit //Do // If GetPointerPressed() = 1 then Return // Sync() //Loop // //If GetPointerPressed()=1 // For i = 1 to NumPlayers // CardX = // For i = 13 to 2 // SetSpritePosition(i, // // y = x * tan(a) */ Return