Pantalla fecha version inicial

parent 028952ab
......@@ -8,11 +8,14 @@ Personaje Agapito;
PantallaPrincipal pant;
PantallaPrincipal2 pant2;
PantallaInicio pant3;
PantallaFecha pant4;
vector<shared_ptr<Pantalla>> colPantallas={
make_shared<PantallaPrincipal>(pant),
make_shared<PantallaPrincipal2>(pant2),
make_shared<PantallaInicio>(pant3)
make_shared<PantallaInicio>(pant3),
make_shared<PantallaFecha>(pant4)
};
shared_ptr<PantallaPrincipal> getPantalla1(){
......@@ -21,4 +24,6 @@ shared_ptr<PantallaPrincipal> getPantalla1(){
shared_ptr<PantallaPrincipal2> getPantalla2(){
return std::dynamic_pointer_cast<PantallaPrincipal2>(colPantallas[1]);
};
shared_ptr<PantallaFecha> getPantallaFecha(){
return std::dynamic_pointer_cast<PantallaFecha>(colPantallas[3]);
}
......@@ -5,6 +5,7 @@
#include "GestorPantallas.h"
#include "PantallaPrincipal.h"
#include "PantallaPrincipal2.h"
#include "PantallaFecha.h"
using namespace std;
......@@ -13,3 +14,4 @@ extern vector<shared_ptr<Pantalla>> colPantallas;
shared_ptr<PantallaPrincipal> getPantalla1();
shared_ptr<PantallaPrincipal2> getPantalla2();
shared_ptr<PantallaFecha> getPantallaFecha();
#include "PantallaFecha.h"
#include "ColeccionPantallas.h"
#include "Historia.h"
#include <iostream>
PantallaFecha::PantallaFecha() :
fuente1("assets/OpenSans-Italic.ttf", 100),
Fondo1("assets/PantallaPantalla.png"),
instrucciones(fuente1,"Pon la combinación de tu cumpleaños",{255,255,255}),
interfaz("assets/InterfazCinematica.png");
{
Sprite sprCarne("assets/carneNombre.png");
Hitbox hitCarne();
carne(sprCarne,sprCarne,sprCarne,hitCarne,0,0,0,0,normal,nullptr);
Sprite botonArriba("assets/flechaArriba.jpg");
Hitbox hitBA1();
Objeto botonArriba1(botonArriba,botonArriba,botonArriba,hitBA1,650,500,600,200,normal,nullptr);
botonesArriba[0]=botonArriba1;
Hitbox hitBA2();
Objeto botonArriba2(botonArriba,botonArriba,botonArriba,hitBA2,650,500,600,200,normal,nullptr);
botonesArriba[1]=botonArriba2;
Hitbox hitBA3();
Objeto botonArriba3(botonArriba,botonArriba,botonArriba,hitBA3,650,500,600,200,normal,nullptr);
botonesArriba[2]=botonArriba3;
Hitbox hitBA4();
Objeto botonArriba4(botonArriba,botonArriba,botonArriba,hitBA4,650,500,600,200,normal,nullptr);
botonesArriba[3]=botonArriba4;
Sprite botonAbajo("assets/flechaAbajo.jpg");
Hitbox hitBa1();
Objeto botonAbajo1(botonAbajo,botonAbajo,botonAbajo,hitBa1,650,500,600,200,normal,nullptr);
botonesAbajo[0]=botonAbajo1;
Hitbox hitBa2();
Objeto botonAbajo2(botonAbajo,botonAbajo,botonAbajo,hitBa2,650,500,600,200,normal,nullptr);
botonesAbajo[1]=botonAbajo2;
Hitbox hitBa3();
Objeto botonAbajo3(botonAbajo,botonAbajo,botonAbajo,hitBa3,650,500,600,200,normal,nullptr);
botonesAbajo[2]=botonAbajo3;
Hitbox hitBa4();
Objeto botonAbajo4(botonAbajo,botonAbajo,botonAbajo,hitBa4,650,500,600,200,normal,nullptr);
botonesAbajo[3]=botonAbajo4;
for(int i=0;i<4;i++){
combinacionActual.[i]=0;
}
combinacionBuena[0]=(1);
combinacionBuena[1]=(3);
combinacionBuena[2]=(0);
combinacionBuena[3]=(3);
}
void PantallaFecha::manejarEntrada(Handle &handle) {
SDL_Event event;
while (SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_KEYDOWN:
switch (event.key.keysym.sym) {
case 13:
break;
}
break;
case SDL_MOUSEBUTTONDOWN:
{
int xRaton=0;
int zRaton=0;
SDL_GetMouseState(&xRaton, &zRaton);
xRaton*=(1920.0/handle.getTamX());
zRaton*=(1080.0/handle.getTamY());
cout<<"Raton x "<<xRaton<<" Raton z "<<zRaton<<endl;
int contadorCorrectos=0;
for(int i=0;i<4;i++){
if(botonesArriba[i].colisiona(xRaton, zRaton)){
combinacionActual[i]=(combinacionActual[i]+1)%10;
}
if(botonesAbajo[i].colisiona(xRaton, zRaton)){
if(combinacionActual[i]==0){
combinacionActual[i]=9;
}else{
combinacionActual[i]=combinacionActual[i]-1;
}
}
if(combinacionActual[i]==combinacionBuena[i]) contadorCorrectos++;
}
if(contadorCorrectos==4){
}
}
break;
case SDL_QUIT:
handle.removeAll();
}
}
}
void PantallaFecha::renderizar(SDL_Renderer *renderer, int tamx, int tamy) {
Fondo1.renderizar(renderer, 0, 0,1920,1080, tamx, tamy);
for(int i=0;i<4;i++){
botonesAbajo[i].renderizar(renderer, tamx, tamy);
botonesArriba[i].renderizar(renderer,tamx,tamy);
if(AgapitoTieneCarne){
carne.renderizar(renderer,tamx,tamy);
}
interfaz.renderizar(renderer,tamx,tamy);
instrucciones.renderizar();
Texto num1(fuente1,std::to_string(combinacionActual[0]),{0,0,0});
Texto num2(fuente1,std::to_string(combinacionActual[1]),{0,0,0});
Texto num3(fuente1,std::to_string(combinacionActual[2]),{0,0,0});
Texto num4(fuente1,std::to_string(combinacionActual[3]),{0,0,0});
num1.renderizar(renderer,tamx,tamy);
num2.renderizar(renderer,tamx,tamy);
num3.renderizar(renderer,tamx,tamy);
num4.renderizar(renderer,tamx,tamy);
}
}
#pragma once
#include "GestorPantallas.h"
#include <vector>
#include "Objeto.h"
#include "Sprite.h"
#include "Texto.h"
#include "Fuente.h"
#include "Sonido.h"
class PantallaFecha : public Pantalla {
Objeto botonesArriba[4];
Objeto botonesAbajo[4];
vector<Hitbox> colisionesBotones;
Objeto carne;
Fuente fuente1;
Sprite Fondo1;
Sprite interfaz;
Texto instrucciones;
int combinacionActual[4];
int combinacionBuena[4];
bool AgapitoTieneCarne;
public:
PantallaFecha();
void manejarEntrada(Handle &) override;
void renderizar(SDL_Renderer *, int tamx, int tamy) override;
bool transparente() override {
return false;
};
};
\ No newline at end of file
CC = g++
CodeFiles = main.cpp Personaje.cpp Sprite.cpp Objeto.cpp Hitbox.cpp Texto.cpp GestorPantallas.cpp PantallaPrincipal.cpp PantallaPrincipal2.cpp ColeccionPantallas.cpp Video.cpp PantallaInicio.cpp PantallaMundo.cpp Sonido.cpp Historia.cpp
CodeFiles = main.cpp Personaje.cpp Sprite.cpp Objeto.cpp Hitbox.cpp Texto.cpp GestorPantallas.cpp PantallaPrincipal.cpp PantallaPrincipal2.cpp ColeccionPantallas.cpp Video.cpp PantallaInicio.cpp PantallaMundo.cpp Sonido.cpp Historia.cpp PantallaFecha.cpp
bin = Executable
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment