Vircon JAM

carra

Aparte te va a dar otro error: printf existe en C normal, pero no en este compilador.
Para mostrar un número tendrías que tener una función como la de mostrar_puntos que te escribí aquí: #143

carra

#180 Para acceder a las funciones de las librerías estándar, las tienes que incluir en tu programa.

Lo que te falta es poner una primera linea en el programa que sea: #include "input.h"
Y así con lo que quieras usar.

Para mostrar cosas en pantalla necesitarás también #include "video.h"
EDIT: Y en el caso de texto mejor incluye también "string.h"

1 respuesta
Soltrac

Le estáis echando huevos a intentar usar esto sin tener papa de C eh?

2 respuestas
Jastro

#183 Yep, hay muchos por aqui que no hemos tocado C (como mi caso).

Pero asi es como se aprende xDD

1 respuesta
Soltrac

#184 al menos vas a salir aprendido con la sintaxis básica de C, míralo por el lado bueno xdddd

1
carra

#183 La verdad que es valiente el chaval sí.
Pero aquí nos tiene para ayudar :wink:

Jastro

#180 justo lo que ha dicho -> #182

Debería acabar asi, mas o menos

#include "video.h"
#include "input.h"
#include "string.h"

void debug( int x, int y, int variable )
{
    int[ 10 ] StringToShow;
    itoa(variable, StringToShow, 10);
    print_at(x, y, StringToShow);
}

void main( void )
{
    int AsInteger;
    select_gamepad(0);
    debug(320, 180, gamepad_left())
}
2 respuestas
carra

#187 Bueno veo que Jastro ya va controlando! Sí señor :thumbsup:
No sé para que sirve esa variable AsInteger, parece que no se usa

1 respuesta
Jastro

#188 despues de 4h para hacer rotar un sprite con movimiento, la he pasado putas, al menos las bases ya las tengo xD

edit: yo tampoco lo se, pero se lo he dejado ahi, porque entiendo que es para algo mas adelante

Cierto, lo copié de su codigo y no lo toque xDD

1
Soltrac

#180 en C (y CPP), para declarar una función, tienes 2 opciones:

1) Implementarla antes de llamarla.
2) declararla antes de llamarla e implementarla después.

El primer caso es como tú lo has hecho, la función está justo antes del main.

Otra forma es en un archivo .h o en el mismo .c preparar la declaración poniendo:

void debug(losparametrosquesean);

Entonces el compilador ya sabe que tarde o temprano la función debug se va a implementar, lo que te permitiría crearla por ejemplo debajo del main.

El segundo método al final es el que se usa para tener varios archivos, ya que C no tiene clases y tener todas las funciones en el mismo archivo es la muerte a pellizcos.

1 respuesta
carra
#190Soltrac:

en C (y CPP), para declarar una función, tienes 2 opciones:

1) Implementarla antes de llamarla.
2) declararla antes de llamarla e implementarla después.

En C normal sí. En mi compilador actual sólo existe la opción 1.
Aunque en un futuro haré también la 2.

1 respuesta
AikonCWD

Es un poco lío. He puesto el ejemplo de #187 pero tampoco compila, se queja de la función itoa que tampoco está declarada.

Gracias por la ayuda igualmente! A parte de las guias y la api, os habéis leido algo más? porque creo que me falta algo previo y todo eso de la librería me lo he saltado así por la cara.

3 respuestas
carra

#192 itoa está declarada en "string.h"
Faltaba en el ejemplo de Jastro, inclúyela también

1 1 respuesta
carra
#192AikonCWD:

A parte de las guias y la api, os habéis leido algo más? porque creo que me falta algo previo y todo eso de la librería me lo he saltado así por la cara.

El lenguaje C, como otros, viene de serie con una serie de librerías estándar para funciones comunes. Una librería en este caso no es más que un archivo de código .h que está en la carpeta del propio compilador. Y cuando lo incluyes en tu código es como si copiaras todas esas definiciones que hay en el archivo y las pegaras en ese punto (donde haces el #include). Y entonces, como ya se han definido todas esas funciones que contiene, tu programa ya las puede usar.

Las librerías se organizan normalmente por funcionalidades: la de audio, la de video, la de strings, etc...

Si quieres también puedes dejar todas incluidas por si acaso, aunque no las uses, y listo.

Jastro

#193 listo

#192 Me faltaba el import, como lo he puesto sin probar, pasan estas cosas

Lo que he hecho yo:

  • Mirar los tutoriales que tiene carra, he mirado como formaba los archivos, como hacia su estructura y demas
  • Mirar los .h para ver que hacian exactamente

despues de eso, cuando queria usar algo en concreto, miraba el api de la web, por ejemplo, estuve todo el rato calculando en grados, hasta que vi en la api que decia "the new rotation angle givens in radians" y ahi ya me cague en todo xD

Soltrac

#191 ohhh. Did not know jajaja

1 respuesta
carra

#196 Es normal jeje.

El compilador de C para la consola me lo he tenido que hacer yo de forma más bien artesanal, por eso tiene algunas limitaciones. Otras vienen de la arquitectura de la propia consola, como por ejemplo el hecho de no poder tratar bytes individuales sino solo words completas.

1 respuesta
Soltrac

#197 sea como sea es una auténtica pasada el curro que tiene.

1 1 respuesta
Jastro

#198 no te animas a hacer algo?

1 respuesta
Soltrac

#199 no soy game dev. Sería auténtico negado. no he hecho un juego en mi vida hulio.

1 respuesta
carra

Hombre para esta jam no le iba a dar tiempo a aprenderlo. Si lo va cotilleando un poco, igual para otra vez sí jeje

Ridote

#200 copia algún juego antiguo facilón

carra

Hoy empiezo con la parte que más me suele costar: dibujar sprites... :rolling_eyes:. Bueno quizá me cuesta más componer música, pero para el gameplay he buscado una pública. Las otras que son cortitas sí las he hecho ya.

Jastro

que pereza me esta dando la vida, cuando habia que entregar? xD

2 respuestas
newfag

Ánimo desde la grada, sois cracks, si alguien necesita mano con la carátula mp ;)

1
r2d2rigo

#204 el 20 antes de medianoche, a mi me esta pasando como siempre y es que estoy atascado en el gameplay. Pereza me da.

1 respuesta
carra

#204 #206 Claro, es la típica pereza mediavidera de acabar algo jejeje.
A mi tambien me pasa, encima voy con retraso pero eso me pasa por querer hacer demasiado supongo

Encofrado

#87 Virconiano, you nailed It 👏👏💯

carra

Bueno había prometido enseñaros gameplay pero es que he tardado más de lo que pensaba en tenerlo listo. Aquí lo podéis ver:

El juego ya está terminado en cuanto a lo importante: la historia, la pantalla de título, el botón de pausa... ya solo me quedan detalles tontos como poner algo a lo que puedas disparar :rofl:

12
carra

Bueno pues ya estamos en la recta final. De más de uno tengo cierta idea del juego que estáis haciendo, pero hay alguno que no ha soltado prenda de lo que está preparando jeje