[Problema] ComputerCraft: Input e cambio delle variabili

Buonsalve,
ultimamente mi sono messo a giocare con la ComputerCraft, una mod bellissima a parer mio... ma arriviamo al dunque;

Nel disperato tentativo di creare un programma, date le mie infime conoscenze riguardanti questa mod, sono incappato in un problema:
Volevo fare in modo che il computer, una volta ricevuto un segnale di redstone dal lato sinistro, cambiasse la variabile "Open" da true a false o viceversa; e, solo dopo che il segnale se ne fosse andato, il computer scriva il risultato; successivamente cambierò l'ultima parte perché faccia ciò per cui ho voluto creare questo computer.

Di seguito vi scrivo il codice che ho scritto io (ovviamente sbagliato) nel tentativo di ciò:
Codice:
local Open = false
while true do
 local Input = redstone.getInput("left")
 if Input == false then
   if Open == false then
     Open = true
   elseif Open == true then
     Open = false
   end
 elseif Input == false then
   write (tostring(Open))
 end
 sleep(0.5)
end

Il mio obbiettivo sarebbe stato quello di far aspettare al computer il segnale di redstone, e quando lo riceve, cambiare Open da true a false o viceversa, scrive true o false e poi arresta il programma.

Se sapete aiutarmi ve ne sarei molto grato (magari anche un rep) xD

Ho risolto il problema, scusate per aver creato questa inutile discussione; potete chiudere. (Modificato 24/07/2015, 00:59 da Esso.)
Ciao di dimensioni adeguate Cit. Scottecs
24/07/2015, 00:22Ale3010 ha scritto: Buonsalve,
ultimamente mi sono messo a giocare con la ComputerCraft, una mod bellissima a parer mio... ma arriviamo al dunque;

Nel disperato tentativo di creare un programma, date le mie infime conoscenze riguardanti questa mod, sono incappato in un problema:
Volevo fare in modo che il computer, una volta ricevuto un segnale di redstone dal lato sinistro, cambiasse la variabile "Open" da true a false o viceversa; e, solo dopo che il segnale se ne fosse andato, il computer scriva il risultato; successivamente cambierò l'ultima parte perché faccia ciò per cui ho voluto creare questo computer.

Di seguito vi scrivo il codice che ho scritto io (ovviamente sbagliato) nel tentativo di ciò:
Codice:
local Open = false
while true do
 local Input = redstone.getInput("left")
 if Input == false then
   if Open == false then
     Open = true
   elseif Open == true then
     Open = false
   end
 elseif Input == false then
   write (tostring(Open))
 end
 sleep(0.5)
end

Il mio obbiettivo sarebbe stato quello di far aspettare al computer il segnale di redstone, e quando lo riceve, cambiare Open da true a false o viceversa, scrive true o false e poi arresta il programma.

Se sapete aiutarmi ve ne sarei molto grato (magari anche un rep) xD

Ho risolto il problema, scusate per aver creato questa inutile discussione; potete chiudere.
Siamo in un forum: devi spiegare come hai risolto.

Inviato dal mio SM Galaxy Paranormal 2 utilizzando Tapatalk
Immagino il problema fosse questo:

Codice:
if Input == false then
    ...
elseif Input == false then
    ...
end

Non ha senso, dunque dovrebbe essere così:

Codice:
if Input == false then
    ...
else
    ...
end
"Amo molto parlare di niente, è l'unico argomento di cui so tutto" - Oscar Wilde

NON OFFRO ASSISTENZA PRIVATA. NON SCRIVETEMI PER RISOLVERE UN PROBLEMA. CREATE UNA NUOVA DISCUSSIONE.
@DragonSpace23 Ho risolto il problema con questo codice:
Codice:
local Open = false
while true do
  repeat
    sleep(0.5)
    local Input = redstone.getInput("left")
  until Input == true
  ...
  repeat
    sleep(0.5)
    Input = redstone.getInput("left")
  until Input == false
  ...
end
Ciao di dimensioni adeguate Cit. Scottecs
Discussioni simili
Risposta di CoccodrillooXDS
20/07/2018, 14:41
Risposta di ReNext
05/07/2018, 21:25

Utente(i) che stanno guardando questa discussione: 1 Ospite(i)