Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Chit chat general. Habla con los MojonTwins y con los amigos de los MojonTwins. Reza a Vah-ka. Delinque. Aviso: está PROHIBIDO tirarse peos fuerte. Si les cortas el pescuezo, vale.

Moderador: na_th_an

Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Mensajepor radastan » Vie, 21 Mar 2014, 00:09

Bien, necesito feedback para ver si voy bien encaminado. Bajaros este ficherito y leerlo:

http://www.bytemaniacos.com/ficheros/zxspectrum/cursoz88dkbasico.pdf

Necesitaréis estos dos ficheros, con el "SDK megapowa" y el "Z88DK ready to go":

http://www.bytemaniacos.com/ficheros/zxspectrum/cursoz88dk.zip
http://www.bytemaniacos.com/ficheros/zxspectrum/z88dk10.zip

Todavía tengo que terminar el curso con varios ejemplos de juegos, pero con lo que ya hay tenéis suficiente para empezar a hacer vuestros pinitos con poco esfuerzo. La parte de Amstrad CPC la realizaré cuando termine la de ZX Spectrum (la idea es poder hacer juegos en ambos ordenadores sin apenas cambiar nada).

El curso está enfocado al que no tiene ni pajoletillera idea de C, incluso creo que es fácil de seguir para el que no sabe programar, pero si sabéis BASIC u otro lenguaje os ayudará mucho.

¡Feeedback, feedback! tanto cosas buenas como cosas malas, por favor.
Avatar de Usuario
son_link
Mensajes: 467
Registrado: Mar, 01 Oct 2013, 11:49
Ubicación: Atlantis, Galaxia Pegaso
Contactar:

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Mensajepor son_link » Vie, 21 Mar 2014, 07:49

Mañana lo miro, que ahora por la mañana voy a estar liado y por la tarde tengo el curso.
LOAD TAPE ERROR
Imagen
Avatar de Usuario
jrodriguezv
Mensajes: 23
Registrado: Sab, 26 Oct 2013, 10:19

Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Mensajepor jrodriguezv » Vie, 21 Mar 2014, 15:33

Le he echado un vistazo rápido porque estoy hasta arriba, pero ya lo miraré con calma.

Está muy chulo, orientado a gente que no sepa c para nada. Moola :-)
Avatar de Usuario
elborra
Mensajes: 209
Registrado: Dom, 12 Ene 2014, 14:37

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Mensajepor elborra » Vie, 21 Mar 2014, 18:17

Y tamién le echaré un vistazo en profundidad que también estoy hiper liado (ha habido cambios en mi juego; habrá exteriores y otras sorpresas ¡¡maldigo los 128K XD!!)

Sólo me he leído el principio, aunque ya me ha surgido una duda al respecto (sinceramente no se si luego lo aclaras, si es un gazapo o es así y punto XD) comentas que #define LOQUESEA 32 es una variable global ¿no sería una constante?...
Tiene muy buena pinta como el resto de tus tutoriales, así que puedes contar con mi feedback. :corchoneta:
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Mensajepor radastan » Vie, 21 Mar 2014, 22:43

elborra escribió:Y tamién le echaré un vistazo en profundidad que también estoy hiper liado (ha habido cambios en mi juego; habrá exteriores y otras sorpresas ¡¡maldigo los 128K XD!!)

Sólo me he leído el principio, aunque ya me ha surgido una duda al respecto (sinceramente no se si luego lo aclaras, si es un gazapo o es así y punto XD) comentas que #define LOQUESEA 32 es una variable global ¿no sería una constante?...
Tiene muy buena pinta como el resto de tus tutoriales, así que puedes contar con mi feedback. :corchoneta:


Variable global -> existe en todas las funciones
Variable local -> sólo existe en la función en la que está definida
Avatar de Usuario
elborra
Mensajes: 209
Registrado: Dom, 12 Ene 2014, 14:37

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Mensajepor elborra » Vie, 21 Mar 2014, 23:10

radastan escribió:Variable global -> existe en todas las funciones
Variable local -> sólo existe en la función en la que está definida

No, no me refiero al termino global o local, sino a que lo llames variables. De hecho nunca consideré que los #defines fueran siquiera constantes, me lo imaginaba más como sustituciones de un literal por cualquier cosa. Un #define obviamente es algo "global" porque se sustituirá por su "valor" hasta el final del fichero; a no ser que se use #undef. Además una variable por definición debería de poder cambiar de valor en el transcurso del programa ¿no? y este no es tampoco el caso de los #defines.

No se si en z88dk se comportan los #defines de otra manera y por eso te lo señalaba, pero si es como en otros compiladores yo diría que no entran dentro de la terminología de variable ni constante porque son ajenas al programa en sí.

Edito: por ejemplo, si no hay alguna limitación (no he probado nunca esto obviamente), puedes hacer

Código: Seleccionar todo

#define BUCLE_SUMA for(i=0;i<5;i++) { a=a+b; };
y en cualquier sitio tener

Código: Seleccionar todo

char i,a,b;
a=2;
b=1;
BUCLE_SUMA
Nightwolf
Mensajes: 215
Registrado: Sab, 15 Oct 2011, 11:24

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Mensajepor Nightwolf » Sab, 22 Mar 2014, 00:20

¡Me he quedado con ganas de mas! :)

Está genial, muy al tema, como debe ser. ¡Sigue, sigue!
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Mensajepor antoniovillena » Sab, 22 Mar 2014, 01:08

Lo que dice elborra es verdad. No se pueden llamar ni constantes ni variables, el término correcto es macro del preprocesador (o macro a secas). El preprocesador es la primera etapa que ejecuta el compilador, y es una herramienta muy potente si se quiere escribir código rápido sin tener que repetir cosas, o compilación condicional (que un mismo programa use distintas llamadas en Windows que en Linux, por ejemplo).

Para "dar órdenes" al preprocesador se usan directivas específicas, que son esas órdenes que empiezan por #. La más conocida el la #define que crea las macros. Las macros más simples son las que reemplazan una secuencia por otra, pero también se pueden usar parámetros en las macros (a modo de funciones).

Para poner un ejemplo de cómo funciona el preprocesador, si tenemos este código:

Código: Seleccionar todo

#define PI 3.1416

int main(){
  printf("PI vale %f", PI);   // esto es un comentario
}


El preprocesador es una especie de filtro. Simplificando, éste le pasaría al compilador este otro programa. Digamos que ya ha digerido algunas cosas como la expansión de macros o la eliminación de comentarios.

Código: Seleccionar todo

int main(){
  printf("PI vale %f", 3.1416);
}


Es un concepto que cuesta entender al principio, si no se entiende bien recomiendo hacer el filtrado (transcribir lo que el preprocesador entrega al compilador) mentalmente hasta que te acostumbres.
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Mensajepor radastan » Sab, 22 Mar 2014, 15:35

Ok, tomo nota y lo cambio.
Lo mejor será llamar como globales a las que definamos en MAIN y locales a las que se definen en cada subrutina.


Enviao con un esmarfón
Avatar de Usuario
Lord Raptor
Mensajes: 17
Registrado: Mié, 09 Oct 2013, 22:52

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Mensajepor Lord Raptor » Mar, 10 Nov 2015, 23:31

Keda mucho para otro avance del curso ?
Hay mono y me he kedado a medias.... XD
Con un par de cosicas más... el motor ya sería la lesshe !! :corchoneta:

Volver a “General”

¿Quién está conectado?

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