elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa miniwin
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa miniwin  (Leído 1,730 veces)
InkaSoldier

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Programa miniwin
« en: 24 Junio 2019, 08:16 am »

Buenas que tal, soy nuevo en el foro pero espero que me puedan ayudar con unas dudas. Hace poco me inicie en el mundo de c++ con el programa dev c++ ya que me es un requerimiento para mis clases etc etc. La cosa es que me dejaron un problema de miniwin que se me hace imposible de resolver. Si alguien pudiera ayudarme se lo agradeceria mucho.

https://imgur.com/nxvjk8O
ese es el problema. Agradezco de antemano :D


En línea

jmpesp

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Programa miniwin
« Respuesta #1 en: 24 Junio 2019, 19:06 pm »

Desconozco la API a la que te refieres, pero basicamente lo que debes hacer es lo siguiente:

Mostrar una ventana de 600x600 pixeles.

Pintar el cielo, de color azul, que tendria 600 pixeles de ancho y 400 de alto, y su posicion relativa a la ventana seria 0, 0.

Pintar el suelo, que tendria 600 pixeles de ancho y 200 de alto, y su posicion relativa a la ventana en 0, 400.

Deberas crear una arreglo de enteros que representara el ambiente (todos los rectangulos en la pantalla). Este deberia tener un tama;o fijo de 30:

Código:
int ambiente[30];


Cada elemento del arreglo representara a un rectangulo, cuyo valor sera la altura de este.

Debera ser inicializado con valores al azar entre 100 y 250, como dice la consigna.

Para simular el movimiento del ambiente, simplemente desplazar todos los valores de los elementos del arreglo hacia la izquierda, y asignarle un valor aleatorio entre 100 y 250 al ultimo elemento.

Algo como esto:

Código:

// recorremos desde el elemento 0 al elemento 28 (el anteultimo) y le asignamos el valor del elemento siguiente.

// saltamos el ultimo
for(int i=0; i<29; i++) {
      ambiente[i] = ambiente[i + 1];
}

// le asingamos un valor al azar al ultimo elemento
ambiente[29] = rand()%(250-100 + 1) + 100;

Para pintar los rectangulos es simple. Sabemos que el ambiente ocupa todo el ancho de la pantalla y en el caben 30 rectangulos. El ancho de cada rectangulo es 600 / 30 = 20 pixeles.
El alto del rectangulo es su valor correspondiente en la matriz (ambiente donde i es el numero del rectangulo que estamos pintando).

La posicion X del rectangulo sera el numero del rectangulo multiplicado por el ancho (20), y la posicion Y seria la diferencia entre la altura del cielo (400px) y la altura del rectangulo (ambiente).


Espero me hayas entendido y lo puedas implementar.
 
Saludos


« Última modificación: 24 Junio 2019, 19:09 pm por jmpesp » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines