C/Visual C - pasenmelo

 
Vista:

pasenmelo

Publicado por jesus (1 intervención) el 21/02/2003 21:38:38
tengo que hacer un programa en c++ que sea una grafia con un punto cuando yo de una cordenada el puento de mueva sin salirese del cuadro por favor si pueden pasarmelo se los agradezo buneop gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Programa en C++ para mover un punto en una ventana usando SFML

Publicado por Alejandro (1153 intervenciones) el 06/05/2025 20:46:15
Aquí tienes un ejemplo sencillo de un programa en C++ que utiliza la biblioteca **SFML** para crear una ventana donde puedes mover un punto (representado como un círculo) dentro de un cuadro, basado en las coordenadas que ingreses. Asegúrate de tener SFML instalada y configurada en tu proyecto.

Ejemplo de código en C++ usando SFML



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <SFML/Graphics.hpp>
#include <iostream>
 
int main() {
    // Crear una ventana de 800x600 píxeles
    sf::RenderWindow window(sf::VideoMode(800, 600), "Mover punto");
 
    // Crear un círculo que representará el punto
    sf::CircleShape point(5); // Radio de 5 píxeles
    point.setFillColor(sf::Color::Red); // Color del punto
    point.setPosition(400, 300); // Posición inicial en el centro de la ventana
 
    while (window.isOpen()) {
        sf::Event event;
        while (window.pollEvent(event)) {
            if (event.type == sf::Event::Closed)
                window.close();
        }
 
        // Obtener las coordenadas del punto desde el usuario
        int x, y;
        std::cout << "Ingrese las coordenadas (x, y) del punto (0-800, 0-600): ";
        std::cin >> x >> y;
 
        // Asegurarse de que el punto no se salga del cuadro
        if (x < 0) x = 0;
        if (x > 800) x = 800;
        if (y < 0) y = 0;
        if (y > 600) y = 600;
 
        // Actualizar la posición del punto
        point.setPosition(static_cast<float>(x), static_cast<float>(y));
 
        // Limpiar la ventana
        window.clear(sf::Color::White);
        // Dibujar el punto
        window.draw(point);
        // Mostrar el contenido de la ventana
        window.display();
    }
 
    return 0;
}

Explicación del código



1. Crear la ventana: Se crea una ventana de 800x600 píxeles utilizando SFML.

2. Crear el punto: Se crea un círculo que representa el punto, con un radio de 5 píxeles y color rojo.

3. Bucle principal: En el bucle principal, se manejan los eventos de la ventana. Se solicita al usuario que ingrese las coordenadas (x, y) del punto.

4. Validación de coordenadas: Se valida que las coordenadas ingresadas estén dentro de los límites de la ventana (0-800 para x y 0-600 para y). Si las coordenadas están fuera de estos límites, se ajustan a los valores permitidos.

5. Actualizar y dibujar: Se actualiza la posición del punto y se dibuja en la ventana.

Notas



- Asegúrate de tener SFML instalada y configurada correctamente en tu proyecto.
- Puedes ejecutar el programa y probar ingresando diferentes coordenadas para mover el punto dentro de la ventana.

¡Buena suerte, Jesús!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar