Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Resta da siempre como resultado 0
#1
Hola,

este código no funciona más en todas las versiones de la 1.9.3 en adelante. Hasta la 1.9.2 funcionaba. Empleadas bajo Windows 10.

Debeo restar 1 de una variable a dos dimensiones, pero el resultado es siempre 0 aunque el valor inicial no es 1:

Code:
SUB addest()

  CLS

  ' Determina qué habilidad estamos entrenando (1-5)

  w = abi(7,n)

  ' -----------------------------------------------------------------------
  ' ACA ESTÁ EL PROBLEMA:

  ' Sube de 1 el número de turnos de entrenamiento requerido

  abi(6,n) = abi(6,n) - 1

  ' EL RESULTADO ES SIEMPRE 0 AUNQUE abi(6,n) EN ESTE CASO ESTÁ PUESTO A 5
  ' -----------------------------------------------------------------------

  ' Si el entrenamiento aún no ha terminado, sale

  IF abi(6,n) > 0 THEN PRINT AT 8,1; "TURNI: ";abi(6,n); AT 1,3; PAPER naz; "\{i7} PILOTA IN ADDESTRAMENTO ": GOTO esci3

  ' Calcula el resultado del entrenamiento

  pseudorand()

' risultadd:

  abi(w,n) = abi(w,n) + rand

  ' Nivel maximo 9

  IF abi(w,n) > 9 THEN abi(w,n) = 9

  ' Imprime el resultado

  PRINT AT 1,3; PAPER naz; "\{i7} RISULTATO ADDESTRAMENTO "

  ' Marca el piloto nuevamente como disponible

  pilost$(n) = "D"

esci3:

  PRINT AT 4,1; pilo$(n); AT 6,2; abl$(w); ": "; abi(w,n)

  premitasto()

END SUB


Si en lugar de la variable dimensionada empleo una variable fija, el código funciona como deseado:

Code:
SUB addest()

  CLS

  ' Determina qué habilidad estamos entrenando (1-5)

  w = abi(7,n)
  k = abi(6,n)

  ' Sube de 1 el número de turnos de entrenamiento requerido

  k = k - 1

  ' Si el entrenamiento aún no ha terminado, sale

  IF k > 0 THEN PRINT AT 8,1; "TURNI: ";k; AT 1,3; PAPER naz; "\{i7} PILOTA IN ADDESTRAMENTO ": GOTO esci3

  ' Calcula el resultado del entrenamiento

  pseudorand()

' risultadd:

  abi(w,n) = abi(w,n) + rand

  ' Nivel maximo 9

  IF abi(w,n) > 9 THEN abi(w,n) = 9

  ' Imprime el resultado

  PRINT AT 1,3; PAPER naz; "\{i7} RISULTATO ADDESTRAMENTO "

  ' Marca el piloto nuevamente como disponible

  pilost$(n) = "D"

esci3:

  abi(6,n) = k

  PRINT AT 4,1; pilo$(n); AT 6,2; abl$(w); ": "; abi(w,n)

  premitasto()

END SUB
Reply


Messages In This Thread
Resta da siempre como resultado 0 - by Alessandro - 10-20-2019, 05:08 PM
RE: Resta da siempre como resultado 0 - by boriel - 06-10-2020, 10:43 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)