CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 16 Ago 2018 02:43

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 3 mensajes ] 
Autor Mensaje
NotaPublicado: 14 Ago 2018 20:53 
Desconectado
Archivero
Archivero

Registrado: 05 Abr 2014 17:40
Mensajes: 267
Saludos aventureros. Espero que todo vaya bien.
Estoy por aquí de nuevo en mis andanzas. Al fin tengo nuevamente red fija en casa.


Si bien he avanzado en mis proyectos, también he estado muy mal físicamente, hasta el grado de permanecer en cama días enteros y utilizando collarín.
Lo que me da gusto, es que estoy casi seguro de que para diciembre a mas tardar, podré enviar algo para que todos puedan jugar, disfrutar y opinar.


En esta oportunidad necesito ayuda acerca de llevar un control de cantidades. Tengo esta entrada que me permite recargar el arma.
Comprueba que tenemos el arma, que el arma esta equipada, que tenemos balas y que el arma esta descargada.


; Tabla de Respuestas
RECARGAR _
NOTEQ fArmaEquipada 255
COPYFF fArmaEquipada fArma
PROCESS 14
DONE


; Proceso 14
_ _
CARRIED objPistola
EQ fArma 2
EQ fArmaEquipada objPistola
NOTZERO fPistolaBalas
ZERO fPistolaCargada
WRITELN "Introduces un cargador con 15 balas en la pistola."
MINUS fPistolaBalas 15
LET fPistolaCargada 15
DONE


Como se puede ver, la entrada permite recargar el arma con un número predefinido de balas, en este caso, 15.
Ahora bien, sería interesante que el jugador pueda recargar el arma independientemente de cuántas balas le quedan al arma.


Es decir, que el jugador va disparando y digamos que le quedan 3 balas en el arma, pues bien, sería genial que al enviar la orden de RECARGAR, el sistema le rellene el arma tomando en cuenta de cuántas balas tiene de espacio el arma.
En este caso, que rellene tan solo 12 balas así quedando MAS + las 3 que quedan, el arma llena con sus 15 balas. Obviamente, habrá que hacer una comprobación para que el arma no se recargue indefinidamente pudiendo tener 20, 48, 79 balas.


De igual manera, si dispara tan solo una vez quedando 14 balas en el arma, al enviar la orden RECARGAR el sistema le recargue solo 1 bala para que se llene de nuevo a 15.
Por otra parte, también se debe hacer eso con la bandera que contiene las balas para dar coherencia. Si el jugador tiene 44 balas, al recargar el arma que recte x unidades sean 3, 15 o 1. Sobre todo cuidar que si apenas se tiene 1 bala en el total, cuando recargue el arma recte esa única bala y no se vea la bandera luego con MENOS -9 balas.


Me despido esperando que tengan un buen día tarde noche


Arriba
 Perfil  
 
NotaPublicado: 15 Ago 2018 12:05 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4625
Hola!

Si he entendido bien el flag fPistolaBalas contiene el número de balas "sueltas" que tienes para recargar, mientras que fPistolaCargada contiene el número de balas en el cargador de la pistola.

en ese caso:

Código:
_ _
CARRIED objPistola
EQ fArma 2
EQ fArmaEquipada objPistola
NOTZERO fPistolaBalas
ZERO fPistolaCargada
WRITELN "Introduces un cargador con 15 balas en la pistola."
MINUS fPistolaBalas 15
PLUS fPistolaBalas @fPistolaCargada
LET fPistolaCargada 15
DONE


Es casi lo mismo que tenías, solo que le restamos 15 a las balas sueltas, pero luego le sumamos el numero de balas que aun quedaban en el cargador.

En cualquier caso esta operación no es correcta en todos los casos, porque tanto antes como ahora, si el total de balas en el cargador mas las sueltas no llega a 15, este sistema no funciona bien.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 15 Ago 2018 12:19 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4625
Así creo que lo hará bien en todos los casos. Es un poco enrevesado porque Superglús no soporta colon/sharp condacts como ngPAWs, pero creo funciona:

Código:
_ _
COPYFF fPistolaBalas fAux         ; Copio el numero de balas que tengo en flag auxiliar
PLUS fAux @fPistolaCargada  ; le sumo el número de balas en la pistola
GT fAux 15
LET fAux 15                            ; Calculo cuantas balas habrá al final en el cargador, como máximo 15

_ _
COPYFF fAux fAux2               ; Copio el dato final de balas en otro flag auxiliar
MINUS fAux2 @fPistolaCargada ; Calculo cuantas balas voy a cargar realmente

_ _
CARRIED objPistola
EQ fArma 2
EQ fArmaEquipada objPistola
NOTZERO fPistolaBalas
ZERO fPistolaCargada
WRITE "Introduces  "
PRINT fAux2
WRITELN " balas en la pistola."
MINUS fPistolaBalas @fAux2
LET fPistolaCargada @fAux
DONE

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 3 mensajes ] 

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
cron
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM