Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
José Pardo Madera
/
ProjectoMultimeda2025
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
c3003144
authored
Apr 06, 2025
by
Jaime de la Chica Bergillos
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
La magia de los punteros
parent
abb24053
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
17 additions
and
16 deletions
Executable
Objeto.cpp
PantallaFecha.cpp
Texto.cpp
Texto.h
Executable
View file @
c3003144
No preview for this file type
Objeto.cpp
View file @
c3003144
...
@@ -25,5 +25,5 @@ bool Objeto::interactuar(Handle& handle){
...
@@ -25,5 +25,5 @@ bool Objeto::interactuar(Handle& handle){
bool
Objeto
::
colisionaObjeto
(
int
x
,
int
z
){
bool
Objeto
::
colisionaObjeto
(
int
x
,
int
z
){
return
colision
.
colisiona
(
x
,
y
);
return
colision
.
colisiona
(
x
,
z
);
}
}
\ No newline at end of file
PantallaFecha.cpp
View file @
c3003144
...
@@ -12,16 +12,16 @@ PantallaFecha::PantallaFecha() :
...
@@ -12,16 +12,16 @@ PantallaFecha::PantallaFecha() :
carne
(
Sprite
(
"assets/carneNombre.png"
),
Sprite
(
"assets/carneNombre.png"
),
Sprite
(
"assets/carneNombre.png"
),
Hitbox
(
0
,
0
,
0
,
0
),
0
,
0
,
0
,
0
,
normal
,
nullptr
),
carne
(
Sprite
(
"assets/carneNombre.png"
),
Sprite
(
"assets/carneNombre.png"
),
Sprite
(
"assets/carneNombre.png"
),
Hitbox
(
0
,
0
,
0
,
0
),
0
,
0
,
0
,
0
,
normal
,
nullptr
),
botonesArriba
{
botonesArriba
{
Objeto
(
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Hitbox
(
0
,
0
,
0
,
0
),
300
,
200
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Hitbox
(
500
,
300
,
300
,
20
0
),
300
,
200
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Hitbox
(
0
,
0
,
0
,
0
),
600
,
200
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Hitbox
(
800
,
600
,
300
,
20
0
),
600
,
200
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Hitbox
(
0
,
0
,
0
,
0
),
1050
,
200
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Hitbox
(
1250
,
1050
,
300
,
20
0
),
1050
,
200
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Hitbox
(
0
,
0
,
0
,
0
),
1325
,
200
,
200
,
100
,
normal
,
nullptr
)
Objeto
(
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Sprite
(
"assets/flechaArriba.jpg"
),
Hitbox
(
1525
,
1325
,
300
,
20
0
),
1325
,
200
,
200
,
100
,
normal
,
nullptr
)
},
},
botonesAbajo
{
botonesAbajo
{
Objeto
(
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Hitbox
(
0
,
0
,
0
,
0
),
300
,
600
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Hitbox
(
500
,
300
,
700
,
60
0
),
300
,
600
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Hitbox
(
0
,
0
,
0
,
0
),
600
,
600
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Hitbox
(
800
,
600
,
700
,
60
0
),
600
,
600
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Hitbox
(
0
,
0
,
0
,
0
),
1050
,
600
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Hitbox
(
1250
,
1050
,
700
,
60
0
),
1050
,
600
,
200
,
100
,
normal
,
nullptr
),
Objeto
(
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Hitbox
(
0
,
0
,
0
,
0
),
1325
,
600
,
200
,
100
,
normal
,
nullptr
)
Objeto
(
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Sprite
(
"assets/flechaAbajo.jpg"
),
Hitbox
(
1525
,
1325
,
700
,
60
0
),
1325
,
600
,
200
,
100
,
normal
,
nullptr
)
},
},
combinacionBuena
{
1
,
3
,
0
,
3
},
combinacionBuena
{
1
,
3
,
0
,
3
},
combinacionActual
{
0
,
0
,
0
,
0
}
combinacionActual
{
0
,
0
,
0
,
0
}
...
@@ -47,11 +47,11 @@ void PantallaFecha::manejarEntrada(Handle &handle) {
...
@@ -47,11 +47,11 @@ void PantallaFecha::manejarEntrada(Handle &handle) {
SDL_GetMouseState
(
&
xRaton
,
&
zRaton
);
SDL_GetMouseState
(
&
xRaton
,
&
zRaton
);
xRaton
*=
(
1920.0
/
handle
.
getTamX
());
xRaton
*=
(
1920.0
/
handle
.
getTamX
());
zRaton
*=
(
1080.0
/
handle
.
getTamY
());
zRaton
*=
(
1080.0
/
handle
.
getTamY
());
cout
<<
"Raton x "
<<
xRaton
<<
" Raton z "
<<
zRaton
<<
endl
;
int
contadorCorrectos
=
0
;
int
contadorCorrectos
=
0
;
for
(
int
i
=
0
;
i
<
4
;
i
++
){
for
(
int
i
=
0
;
i
<
4
;
i
++
){
if
(
botonesArriba
[
i
].
colisionaObjeto
(
xRaton
,
zRaton
)){
if
(
botonesArriba
[
i
].
colisionaObjeto
(
xRaton
,
zRaton
)){
combinacionActual
[
i
]
=
(
combinacionActual
[
i
]
+
1
)
%
10
;
combinacionActual
[
i
]
=
(
combinacionActual
[
i
]
+
1
)
%
10
;
}
}
if
(
botonesAbajo
[
i
].
colisionaObjeto
(
xRaton
,
zRaton
)){
if
(
botonesAbajo
[
i
].
colisionaObjeto
(
xRaton
,
zRaton
)){
if
(
combinacionActual
[
i
]
==
0
){
if
(
combinacionActual
[
i
]
==
0
){
...
@@ -64,7 +64,8 @@ void PantallaFecha::manejarEntrada(Handle &handle) {
...
@@ -64,7 +64,8 @@ void PantallaFecha::manejarEntrada(Handle &handle) {
if
(
combinacionActual
[
i
]
==
combinacionBuena
[
i
])
contadorCorrectos
++
;
if
(
combinacionActual
[
i
]
==
combinacionBuena
[
i
])
contadorCorrectos
++
;
}
}
if
(
contadorCorrectos
==
4
){
if
(
contadorCorrectos
==
4
){
historiaPrincipal
.
pasarDeEstadoA
(
Historia
::
CalendarioQuitado
,
Historia
::
PuzlePantallaResuelto
);
handle
.
removeme
();
}
}
}
}
break
;
break
;
...
@@ -75,13 +76,13 @@ void PantallaFecha::manejarEntrada(Handle &handle) {
...
@@ -75,13 +76,13 @@ void PantallaFecha::manejarEntrada(Handle &handle) {
}
}
void
PantallaFecha
::
renderizar
(
SDL_Renderer
*
renderer
,
int
tamx
,
int
tamy
)
{
void
PantallaFecha
::
renderizar
(
SDL_Renderer
*
renderer
,
int
tamx
,
int
tamy
)
{
Fondo1
.
renderizar
(
renderer
,
0
,
0
,
1920
,
1080
,
tamx
,
tamy
);
Fondo1
.
renderizar
(
renderer
,
0
,
0
,
1920
,
1080
,
tamx
,
tamy
);
for
(
int
i
=
0
;
i
<
4
;
i
++
){
for
(
int
i
=
0
;
i
<
4
;
i
++
){
botonesAbajo
[
i
].
renderizar
(
renderer
,
tamx
,
tamy
);
botonesAbajo
[
i
].
renderizar
(
renderer
,
tamx
,
tamy
);
botonesArriba
[
i
].
renderizar
(
renderer
,
tamx
,
tamy
);
botonesArriba
[
i
].
renderizar
(
renderer
,
tamx
,
tamy
);
}
if
(
AgapitoTieneCarne
){
if
(
AgapitoTieneCarne
){
carne
.
renderizar
(
renderer
,
tamx
,
tamy
);
carne
.
renderizar
(
renderer
,
tamx
,
tamy
);
}
}
...
@@ -97,7 +98,5 @@ void PantallaFecha::renderizar(SDL_Renderer *renderer, int tamx, int tamy) {
...
@@ -97,7 +98,5 @@ void PantallaFecha::renderizar(SDL_Renderer *renderer, int tamx, int tamy) {
num3
.
renderizar
(
renderer
,
1125
,
300
,
tamx
,
tamy
);
num3
.
renderizar
(
renderer
,
1125
,
300
,
tamx
,
tamy
);
num4
.
renderizar
(
renderer
,
1400
,
300
,
tamx
,
tamy
);
num4
.
renderizar
(
renderer
,
1400
,
300
,
tamx
,
tamy
);
}
}
}
Texto.cpp
View file @
c3003144
...
@@ -14,7 +14,7 @@ SDL_Texture *Texto::get_textura(SDL_Renderer *renderer) {
...
@@ -14,7 +14,7 @@ SDL_Texture *Texto::get_textura(SDL_Renderer *renderer) {
SDL_Surface
*
Texto
::
get_surface
()
{
SDL_Surface
*
Texto
::
get_surface
()
{
if
(
surface
==
nullptr
)
{
if
(
surface
==
nullptr
)
{
surface
=
TTF_RenderUTF8_Solid
(
*
fuente
,
text
,
fg
);
surface
=
TTF_RenderUTF8_Solid
(
*
fuente
,
text
.
c_str
()
,
fg
);
if
(
surface
==
nullptr
)
{
if
(
surface
==
nullptr
)
{
throw
std
::
runtime_error
(
SDL_GetError
());
throw
std
::
runtime_error
(
SDL_GetError
());
}
}
...
...
Texto.h
View file @
c3003144
...
@@ -5,10 +5,11 @@
...
@@ -5,10 +5,11 @@
#include <SDL2/SDL.h>
#include <SDL2/SDL.h>
#include <SDL2/SDL_surface.h>
#include <SDL2/SDL_surface.h>
#include <SDL2/SDL_ttf.h>
#include <SDL2/SDL_ttf.h>
#include <iostream>
class
Texto
{
class
Texto
{
Fuente
fuente
;
Fuente
fuente
;
const
char
*
text
;
std
::
string
text
;
SDL_Color
fg
;
SDL_Color
fg
;
SDL_Surface
*
surface
=
nullptr
;
SDL_Surface
*
surface
=
nullptr
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment