Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola, quisiera que me recomendarais algun programa, gratuito si es posible, para compilar y programar en c, y saber si se puede hacer programas en c, que ademas de escribir texto en pantalla pueda manejar graficos, crear entorno grafico propio y similares (como los entornos graficos de un videojuego) y como se puede programar que se muestren imagenes en pantalla con c. Igualmente agradeceria cualquier referencia a manuales lo mas completos posibles sobre programacion en c, preferiblemente en castellano.
Gracias por cualquier ayuda que me podais ofrecer.
¿Como se usa el reloj del sistema, porque solo conozco la existencia de clock?
No entiendo lo de que solo borre el ultimo punto, eso es lo que hago en la matriz del tablero de juego, cambiando 1 por 0, cls lo uso para borrar toda la pantalla para escribir el nuevo tablero; si a lo que te refieres es a lo que he leido un poco por intenet de que mueven el cursor que escribe en la pantalla, pues no se como moverlo, y tampoco se por que a mi no me funciona la funcion clrcsr(), o algo asi creo que se llama, que borra la pantalla por lo que he leido. ¿como puedo mover el cursor para borrar y escribir caracteres en la pantalla esten donde esten?, ¿como podria hacer lo mismo para la puntuacion, hay alguna funcion que cuente el numero de cifras de un numero?, ¿por que no me funciona la funcion que borra la pantalla que creo que esta en conio.h?
Y una cuestion solo por curiosidad, los juegos como los de plastation o game cube, o wii, ¿son echos en c o c++ o alguna variante, o usan algun lenguaje ensamblador especifico?, ¿se pueden hacer juegos para las consolas mencionadas en C, se necesitaria alguna libreria especifica, un compilador especial, o con un compilador normal se puede, o se necesita un copilador normal pero con alguna libreria echa en ensamblador?, ¿los archivos de los juegos que hacen para las videoconsolas los graban de alguna forma especial o como se grabaria un juago de ordenador (se graban los archivos y listo)?, ¿un snake como el que hice se podria usar en alguna videoconsola, que habria que hacerle?
Esta ultima cuestion aunque parece algo larga, solo es por curiosidad, pero se resume en ¿como programan los juegos de videoconsolas, se usa C?
Disculpar que ponga otro mensaje para esto, pero se me olvido antes.
¿Como podria medir el tiempo para la velocidad del juego de forma mas precisa que pasando clock a segundos, porque usandolo me di cuenta que no iba mas rapido de a un segundo, como si clock dividido entre la constante para pasarlo a segundo diera siempre entero y no decimal, hay algo mas preciso, algo que use el reloj del sistema y llegue si no a las milésimas de segundo, al menos a las centésimas o a las décimas?
Me parece que la instrucción es time(), date() o algo por el estilo (mírate la descripción de la librería que seguro sale).
Hace mucho que hice el juego del snake y no se donde lo tengo (si es que todavía existe), sin embargo te puedo decir como lo hacíamos (bueno lo hice yo y mi compañero hizo el trabajo de economía).
Creábamos un buffer circular que contenía las posiciones x,y de la serpiente y con dos punteros (uno para la cabeza y otro para la cola) íbamos modificando la posición de la cabeza (según la dirección) y la posición de la cola. De esta forma sólo teníamos que dibujar la nueva posición de la cabeza y borrar la última posición de la cola.
Si nos comíamos un número (iban en orden del 1 al 0) aumentábamos la posición de la cabeza igual que siempre, pero durante ese mismo número de bucles no borrábamos la cola.
Para controlar los choques, controlábamos que la nueva posición de la cabeza no estuviera ocupada o si lo estaba que fuera por un número.
Nos quedó wapo, 9 niveles de dificultad diferenciados y a partir del 10 posiciones de bloques aleatorias que iban aumentando de densidad con cada nivel nuevo. Además se aumentaba la velocidad de la serpiente con cada nivel y esta velocidad era independiente de la velocidad de la CPU.
A ver si lo encuentro (supongo que tendré que desempolvar el 286 para buscarlo).
S2
Ranganok Schahzaman
Gracias Ranganok, time() se que es para saber el tiempo en segundos pasado desde una fecha que no me acuerdo cual es porque venia al final de aprende C como en primero, mirare si date es solo para la hora o da la hora.
Espero encontrar algo con lo que leer la hora del sistema con precision de milisegundos, porque en juegos para medir tiempo es bastante importante la medicion del tiempo, en mi caso el juego parece aburrido por no poder bajar la velocidad del segundo, pero lo mismo si encuentro algo con lo que leer los milisegundos mejora algo, jeje.
Si alguien sabe como borrar la pantalla con librerias estandar, sin tener que usar system(), lo agradeceria, pues no me gusta que lo que programe no sea portable, como usando system("cls"), prefiero la portabilidad entre sistemas.
lacabra25, pierdes mucho tiempo en borrar la pantalla y dibujarla de nuevo toda entera. Borra sólo la parte que hay que borrar (la cola de la serpiente).
S2
Ranganok Schahzaman