Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Primera prueba en c
- //mueve alpersonaje con o y p
- //gracias a fran gallego y al grupo de telegram cpctelera
- #include "cpctelera.h"
- #include "sprites/hero_left.h"
- #include "sprites/joya.h"
- #define VMem (u8*)0xc000
- typedef struct{
- u8 x,y; //valores x y del personaje (0-255)
- }DefinicionPersonaje;
- typedef struct{
- u8 x,y; //valores x y del personaje (0-255)
- }Definicion_Joya;
- //empieza el programa
- void main(void){
- init();
- while (1) {
- menu();
- juego();
- }
- }
- //
- //menu
- //
- void menu(){
- u8* pvmem; // Pointer to video memory
- pvmem = cpct_getScreenPtr(CPCT_VMEM_START, 10, 56);
- cpct_setDrawCharM0(1, 0);
- cpct_drawStringM0("Prueba en C", pvmem);
- pvmem = cpct_getScreenPtr(CPCT_VMEM_START, 10, 120);
- cpct_setDrawCharM0(1, 0);
- cpct_drawStringM0("Pulsa espacio", pvmem);
- espera_espacio();
- cpct_clearScreen(0);
- }
- //
- //juego
- //
- void juego(){
- DefinicionPersonaje player = {10,10}; //mete losndatos x y del player
- u8* locate_player; //define un puntero donde guarda x e y delplayer
- Definicion_Joya joya = { 60,100};
- u8* Locate_joya;
- Locate_joya = cpct_getScreenPtr(VMem,joya.x,joya.y); //convierte x e y a posicion de memoria
- cpct_drawSprite(joya_sp,Locate_joya,4,8);
- while (1){
- cpct_waitVSYNC();
- locate_player = cpct_getScreenPtr(VMem,player.x,player.y); //convierte x e y a posicion de memoria
- cpct_drawSolidBox(locate_player,0,4,8);
- //Comprobacion de teclado
- cpct_scanKeyboard_f();
- if (cpct_isKeyPressed(Key_O) && player.x > 0 ){ //si tecla 'o' esta pulsada y x mayor que 0, decrementa x
- player.x -= 1;
- }
- else if (cpct_isKeyPressed(Key_P) && player.x <76 ){
- player.x += 1;
- }else if (cpct_isKeyPressed(Key_Esc)){
- return;}
- locate_player = cpct_getScreenPtr(VMem,player.x,player.y); //convierte x e y a posicion de memoria
- //dibujar personaje
- cpct_drawSprite(hero_left,locate_player,4,8);
- }
- }
- // fichero init.c
- #include "cpctelera.h"
- //
- //inicio de juego.
- //pone modo,desabilita firmware,borde
- void init(){
- cpct_disableFirmware();
- cpct_setVideoMode(0);
- cpct_setBorder(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement