ciao a tutti, oggi ho provato ad avvicinarmi a questo nuovo linguaggio e mi è stato consigliato questo SDK dopo aver provato dei semplici programmi, ho provato a scrivere un piccolo gioco che funziona in questo modo: ho scelto due loghi, ogni secondo dovrebbe apparire uno dei due loghi in una posizione casuale, se si distrugge(cliccandolo) il logo1 si perde 1 punto, se invece si distrugge il logo2 si guadagna 1 punto, il gioco va avanti finchè non si ragiungono i 10 punti(vittoria) o i -10 punti(sconfitta).
nelle prime prove sono riuscito a far funzionare il punteggio, ma da quando ho provato ad aggiungere le altre caratteristiche(apparizione loghi e condizione di fine) c'è un problema: lo schermo pare non aggiornarsi più e i due loghi vengono disegnati solo dopo 5 iterazioni (condizione posta da me per provare).
vi posto il codice:

codice:
local logo1=display.newImage("logo1.png")
logo1.x=display.contentWidth/2
logo1.y=display.contentHeight/2
logo1.isVisible=true
local logo2=display.newImage("logo2.png")
logo2.x=display.contentWidth/4
logo2.y=display.contentHeight/4
logo2.isVisible=true
local p=0                                        --punteggio
local pText=display.newText(p, 0, 0, nil, 30)

function logo1:tap( event )
	media.playEventSound("logo1.mp3")
	p=p-1
	pText.text=p
end


function logo2:tap( event)
	media.playEventSound("logo2.mp3")
	p=p+1
	pText.text=p
end

logo1:addEventListener( "tap", logo1 )
logo2:addEventListener( "tap", logo2)

function wait(seconds)
  local start = os.time()
  repeat until os.time() > start + seconds
end


function logo1Visible(event)
	transition.to( logo1, { time=1000, alpha=1, x=math.random(0, 300), y=math.random(0, 500) } )
	print(logo1.x)
	print(logo1.y)
	logo1.isVisible=true
	wait(1)
	logo1.isVisible=false
end


function logo2Visible(event)
	transition.to( logo2, { time=1000, alpha=1, x=math.random(0, 300), y=math.random(0, 500) } )
	print(logo2.x)
	print(logo2.y)
	logo2.isVisible=true
	wait(1)
	logo2.isVisible=false
end

local i=0

while (p>-10 and p<10) and i<5 do
	if math.random(2)==1 then
		logo1Visible()
	else
		logo2Visible()
	end
	i=i+1
end


if p<=-10 then
	local endText=display.newText("HAI PERSO!!!", display.contentWidth/4, display.contentHeight/2, nil, 70)
else
	local endText=display.newText("HAI VINTO!!!", display.contentWidth/4, display.contentHeight/2, nil, 70)
end
qual'è il problema?

PS scusate se il codice è un pochino rozzo, ma sono proprio alle prime armi, e non riesco a trovare un buona guida in italiano....