Anyone could help with this?

Hi everyone. Im trying to implemet this code to a whack-a-mole type game. What I want is to set balloons in specific positions. For example in the point Y 22, appear first a blue ballon and then a red balloon. Also I want to know how can I do for they appear at the same time randomly indiferent positions.

Thanks all.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
require "sprite"
 
function newExplosionSprite()
        local explosion = sprite.newSprite(explosionSet)
        explosion:prepare("default")
        explosion.isHitTestable = false
        return explosion
end
 
function onBoomEnd(event)
        event.target:removeSelf()
end
 
function getNewBalloon()
        if(balloonCount < maxBalloons) then
                randomNum = math.random(totalColors)
                colorName = colors[randomNum]
                local balloon = display.newImage("balloon-" .. colorName .. ".png")
                return balloon
        else
                return getBalloonFromPool()
        end
end
 
function addBalloonToPool(balloon)
        balloonPool[balloonCount] = balloon
        balloonCount = balloonCount + 1
end
 
function getBalloonFromPool()
        local balloon = balloonPool[balloonCount]
        balloonPool[balloonCount] = nil
        return balloon
end
        
function addBalloon()
        currentBalloonsShown = currentBalloonsShown + 1
        balloonsPerLevel = balloonsPerLevel - 1
        local balloon = getNewBalloon()
        balloon:addEventListener("touch", onTouch)
        balloon.y = display.contentHeight + balloon.contentHeight
        balloon.x = math.random(display.contentWidth)
        local tween = transition.to(balloon, {time=5000, y=-100, onComplete=onBalloonEscaped})
        currentBalloons[balloon] = {balloon=balloon, tween=tween}
        return balloon
end
 
function onBalloonEscaped(balloon)
        print("Balloon Escaped")
        removeBalloon(balloon)
end
 
function removeBalloon(balloon)
        currentBalloonsShown = currentBalloonsShown - 1
        local balloonObject = currentBalloons[balloon]
        transition.cancel(balloonObject.tween)
        balloonObject.tween = nil
        balloonObject.balloon = nil
        currentBalloons[balloonObject] = nil
        balloon:removeEventListener("touch", onTouch)
        addBalloonToPool(balloon)
end
        
function startBalloons()
        Runtime:addEventListener("enterFrame", onTick)
end
 
function onTick()
        if(balloonsPerLevel > 0) then
                if(currentBalloonsShown < balloonsShownPerLevel) then
                        addBalloon()
                end
        end
end
 
function onTouch(event)
        local balloon = event.target
        balloon.isVisible = false
        local explosion = newExplosionSprite()
        explosion.x = balloon.x
        explosion.y = balloon.y
        explosion:addEventListener("end", onBoomEnd)
        explosion:play()
        removeBalloon(balloon)
        audio.play(popSound)
end
 
local function init()
        level = 1
        colors = {"yellow", "blue", "green", "red", "purple", "white"}
        colorName = ""
        balloonPool = {}
        totalColors = 6
        randomNum = 0
        maxBalloons = 12
        balloonCount = 0
 
        balloonsPerLevel = 40
        balloonsShownPerLevel = 1
        currentBalloonsShown = 0
        currentBalloons = {}
 
        explosionSpriteSheet = sprite.newSpriteSheet("BigExplosion.png", 82, 117)
        explosionSet = sprite.newSpriteSet(explosionSpriteSheet, 1, 18)
        sprite.add(explosionSet, "default", 1, 18, 200, 1)
        
        popSound = audio.loadStream("pop.wav")
        startBalloons()
end
 
 
print("--- Balloon Pop Running ---")
init()
views:1476 update:2011/10/16 9:47:44
corona forums © 2003-2011