NUM_BALLS = 3 NUM_HOLES = 4 BallGameSettings = { --el acelerometro me da un valor en +-1 --estos param son el maximo de inclinacion al que va a ser sensible el juego. xAmplitude = 0.7, --mayor que cero y hasta 1 yAmplitude = 0.5, -- mayor q cero y hasta 1 --estos valores (en el rango +-1) se mapean con una funcion exponencial --en valor absoluto, y este es el exponente. xExponent = 1, -- 3 yExponent = 1, -- 3 --estos valores se traducen en movimiento en los ejes vertical y horizontal del ojo de la camara multiplicando por: --velocidad en que se mueve la camara: 30 camSpeed = 60.0, -- 60 --multiplica a la anterior en cada eje camXSpeedMultiplier = 1.0, camYSpeedMultiplier = 1.0, --cada posicion del eyeoffset se interpola dsde el paso anterior linealmente con t = 0.15 por defecto para que no haya vibracion interpolator = 0.2, -- 0.3 significa 0.3 del incremento actual y 0.7 del anterior --valores de la fisica gravity = 1.0, ballMass = 8.0, -- 10 ballFriction = 0.15, -- 0.15 ballRestitution = 0.2, -- 0.2 ballAngularDamping = 0.9, -- 0.9 } ball_colour = 0 g_timesCompleted = 0 hole_colours = { {{0.755, 0.0, 0.0, 1.0},{0.098, 0.106, 0.11, 1.0}}, {{0.0, 0.824, 0.102, 1.0},{0.098, 0.106, 0.11, 1.0}}, {{0.0, 0.0, 0.82, 1.0},{0.098, 0.106, 0.11, 1.0}}, {{0.986, 0.971, 0.0, 1.0},{0.098, 0.106, 0.11, 1.0}}, } ball_scenes = {} ball_scenes[E_LEVEL_EASY] = "gameCaramelos/gamecaramelosbg.mesh" ball_scenes[E_LEVEL_NORMAL] = "gameCaramelos/gamecaramelosbg2.mesh" ball_scenes[E_LEVEL_HARD] = "gameCaramelos/gamecaramelosbg3.mesh" function hole(_ndx) if IsMenuState() then return end log("Entra la bola en el agujero " .. _ndx .. "!!!!!!!!!!!!!!!!!!!!") --Salgo del estado!! if ball_colour == _ndx then g_timesCompleted = g_timesCompleted + 1 if isGame4Ended() then log("Correct! Game ended") g_currentState:setNextState(TGame4CongratulationsState:new()) else log("Correct! Game NOT ended") g_currentState:setNextState(TGame4GreatState:new()) end else log("Wrong!") g_currentState:setNextState(TGame4FailState:new()) end FinishBallGameState() end function triggerHole(_ndx) log("creando trigger del agujero " .. _ndx .. "!!!!!!!!!!!!!!!!!!!!") return { name = "hole".._ndx , inScript = [[ Sound.PlaySound(g_Sound.fx.game4.ballInHole) EnqueueTimeExecuteScript('hole(]] .. _ndx .. [[)',1)]]} end function random_and_setup_game4() ball_colour = math.random(NUM_HOLES) scramble_colours() assign_colours() end function assign_colours() log("\n<<<<<<<<<