Any tip to optimize my code?
Posted: Mon Jul 04, 2016 9:39 pm
Hi,
i've started learning Lua and Love about 4 days ago, so sorry if my code is bad.
Today i wrote this code
It works.... but for what it does it's very long and hard to read...
~Can anyone give me any advice on how to make a cleaner code?
~Is it well optimized?
~Any example of code which does the same things?
For any doubt just ask me and i'll reply.
Waiting for your kind reply, and sorry if it might look like a useless topic, but I hadn't found anything about this kind of subject...
i've started learning Lua and Love about 4 days ago, so sorry if my code is bad.
Today i wrote this code
Code: Select all
function love.load()
love.graphics.setBackgroundColor(50,50,50)
AltezzaFinestra = love.graphics.getHeight()
LarghezzaFinestra = love.graphics.getWidth()
Font1 = love.graphics.newFont( "pcsenior.ttf", 16 )
--Testo
Testo = ""
LunghezzaMassima = 3
--Pulsante1
FraseCasella1="Il valore inserito è: "..Testo
LarghezzaPulsante1=0
AltezzaPulsante1=0
XPulsante1 = (LarghezzaFinestra/2)-(LarghezzaPulsante1/2)
YPulsante1 = (AltezzaFinestra/2)-(AltezzaPulsante1/2)
ColorePulsante1=150
ValoreStandardAggiunto1=10
--Pulsante2
FraseCasella2=Testo
LarghezzaPulsante2=150
AltezzaPulsante2=25
ColorePulsante2=120
ValoreStandardAggiunto2=10
------------------
--Testo accettato
TestoAccettato={"1","2","3","4","5","6","7","8","9"}
Numeri=9
------------------
Pressione=0
Errore = false
end
function love.textinput(TestoInserito)
Verifica = ""
Verifica = Verifica..TestoInserito
Numeri2=Numeri
Controllo = false
while Controllo == false do
Numeri2=(Numeri2-1)
if Verifica == TestoAccettato[Numeri2] then
Controllo = true
Errore = false
end
if Numeri2 == 0 then
Controllo = true
Errore = true
end
end
if Errore == false then
Testo = Testo..Verifica
if string.len(Testo)>LunghezzaMassima then
Testo=""
end
end
end
function love.mousepressed(x, y, button, istouch)
if button == 1 and x>XPulsante1 and x<XPulsante1+LarghezzaPulsante1 and y>YPulsante1 and y<YPulsante1+AltezzaPulsante1 then
Pressione=Pressione+1
Attivato=true
if (Pressione%2==1) then
Testo=""
end
end
end
function love.draw()
--Pulsante1
FraseCasella1="Il valore inserito è: "..Testo
LarghezzaFraseCasella1=Font1:getWidth(FraseCasella1)
AltezzaFraseCasella1=Font1:getHeight(FraseCasella1)
LarghezzaPulsante1=LarghezzaFraseCasella1+ValoreStandardAggiunto1
AltezzaPulsante1=AltezzaFraseCasella1+ValoreStandardAggiunto1
XPulsante1 = (LarghezzaFinestra/2)-(LarghezzaPulsante1/2)
YPulsante1 = (AltezzaFinestra/2)-(AltezzaPulsante1/2)
love.graphics.setColor(ColorePulsante1,ColorePulsante1,ColorePulsante1)
love.graphics.rectangle("fill", XPulsante1, YPulsante1,LarghezzaPulsante1 , AltezzaPulsante1)
love.graphics.setColor(225,225,225)
TestoFraseCasella1 = love.graphics.newText( Font1, FraseCasella1 )
love.graphics.draw(TestoFraseCasella1, (LarghezzaFinestra/2)-(LarghezzaFraseCasella1/2), (AltezzaFinestra/2)-(AltezzaFraseCasella1/2) )
--Pulsante2
if (Pressione%2==1) then
FraseCasella2=Testo
love.keyboard.setTextInput( true )
ColorePulsante1=120
LarghezzaFraseCasella2=Font1:getWidth(FraseCasella2)
AltezzaFraseCasella2=Font1:getHeight(FraseCasella2)
LarghezzaPulsante2=LarghezzaFraseCasella2+ValoreStandardAggiunto2
AltezzaPulsante2=AltezzaFraseCasella2+ValoreStandardAggiunto2
XPulsante2 = (LarghezzaFinestra/2)-(LarghezzaPulsante2/2)
YPulsante2 = (AltezzaFinestra/2)-(AltezzaPulsante2-90)
love.graphics.setColor(ColorePulsante2,ColorePulsante2,ColorePulsante2)
love.graphics.rectangle("fill", XPulsante2, YPulsante2,LarghezzaPulsante2 , AltezzaPulsante2)
love.graphics.setColor(225,225,225)
TestoFraseCasella2 = love.graphics.newText( Font1, FraseCasella2 )
love.graphics.draw(TestoFraseCasella2, XPulsante2+(ValoreStandardAggiunto2/2), YPulsante2+(ValoreStandardAggiunto2/2))
elseif (Pressione%2==0) then
love.keyboard.setTextInput( false )
ColorePulsante1=150
end
end
~Can anyone give me any advice on how to make a cleaner code?
~Is it well optimized?
~Any example of code which does the same things?
For any doubt just ask me and i'll reply.
Waiting for your kind reply, and sorry if it might look like a useless topic, but I hadn't found anything about this kind of subject...