¿Por qué pasa esto? Comportamiento raro de un programa.

Programando el Amstrad en BASIC, C, etc.
Avatar de Usuario
sudoku
Megaforero
Megaforero
Mensajes: 292
Registrado: Sab 23 Jul , 2016 4:49 pm

¿Por qué pasa esto? Comportamiento raro de un programa.

Mensajepor sudoku » Dom 15 Dic , 2019 3:55 pm

Buenas...

Estaba intentando hacerme un jueguecillo chusto en BASIC para ver hasta dónde llegaba (en el BASIC, no en el juego), y me pasa esto:

- Este es el código que me da problema:

Imagen

- Y el problema es que al moverse la serpiente si lo hago deprisa se acaba el programa sin más... sale el mensaje de "ready"... Dejo una tecla pulsada, se mueve unas 6-7 posiciones y se corta... mientras que si voy despacito por ejemplo moviendo ahora 3 casillas, ahora 4, luego 1, luego 9 etc (no dejando pulsado, sino levantando y soltando).... puedo llegar hasta un elemento que hay en pantalla, colisiono y entonces sí que se corta el programa (porque no hay más).

¿Por qué pasa esto? (¿Y cómo se arregla?) :-k

Yo inicialmente quería poner "Si pulsas a la derecha, y no hay nada en el eje X en esa posición, avanzas"... pero al hacer eso, no valoraba si estaba en el mismo eje Y... es decir, en cualquier Y, para toda X en que estuviese el obstáculo, chocaba, aunque en esa Y (línea) no hubiera nada... y luego lo traté de arreglar poniendo "Si pulsas a la derecha, y no hay nada en el eje X, y no hay nada en el eje Y, avanzas"... pero no podía poner dos opciones AND (¿o sí se puede y no sé?), así que se me ocurrió poner lo de que se pusiera el puntero en la localización en la que quiere ir, y si la pantalla dice que ahí no hay nada que se ponga (pero entonces me ha pasado esto que comento de que si vas corriendo se acaba el programa pero si voy a cachitos sí que llego a la colisión).

Gracias :D

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: ¿Por qué pasa esto? Comportamiento raro de un programa.

Mensajepor Poliyo » Dom 15 Dic , 2019 5:58 pm

Un condicional admite varios and, eso sí, posiblemente tengas que priorizar con paréntesis.
Aunque lo que estás diciendo me suena más a or que a and.

Avatar de Usuario
sudoku
Megaforero
Megaforero
Mensajes: 292
Registrado: Sab 23 Jul , 2016 4:49 pm

Re: ¿Por qué pasa esto? Comportamiento raro de un programa.

Mensajepor sudoku » Dom 15 Dic , 2019 8:24 pm

Un condicional admite varios and, eso sí, posiblemente tengas que priorizar con paréntesis.
Aunque lo que estás diciendo me suena más a or que a and.
Traté de ponerlos entre paréntesis pero no me salió...

¿Cómo se podría poner?

Yo puse esto: IF (INKEY(1)=0 OR INKEY(75)=0) AND xs+1<>xf AND ys<>yf THEN muevete a la derecha

Esos son los 2 AND que quería añadir al IF , si pongo sólo uno de los dos sí funciona pero aparece el problema que comentaba para ese caso (que sólo lee el primero de los AND). He tratado a ponerles paréntesis de diferentes formas pero no me funciona.

Gracias =D>

(De todas formas ya es por curiosidad, porque me he dado cuenta que lo que quería hacer al colisionar con ese objeto no era esquivarlo, sino comerlo y hacer la serpiente más larga, pero si la hago más larga no puedo hacer luego el efecto de animación borrándola según se va moviendo <XX ). Creo que mejor tendré que pensar en algo más simple :P


EDITO: he seguido escribiendo líneas y ahora sí funciona el código de la foto que subí y el programa no se corta... además se mueve mucho más rápido... Cosas rarunas... :soccer_h4h:

gg
I am The Forum
I am The Forum
Mensajes: 2290
Registrado: Mié 13 Dic , 2006 10:48 am

Re: ¿Por qué pasa esto? Comportamiento raro de un programa.

Mensajepor gg » Mar 24 Dic , 2019 8:29 am

Súbelo cuando lo tengas listo.

Yo me pasé buena parte de mi niñez intentando replicar juegos como este. Hace algunos años me puse de nuevo y me saqué algunas espinitas. Una de ellas con la serpiente, que resultó admitir soluciones mucho más simples que las que yo imaginaba. Me pasa con frecuencia.
Saludos,
gg.


¿Quién está conectado?

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


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic