Visual C++ .NET - Juego SEnku

 
Vista:

Juego SEnku

Publicado por Lorena (1 intervención) el 02/11/2014 23:49:05
Hola!
Queria saber si alguien tiene el juego SENKU programado en algún lenguaje de programación orientado en Objetos.? en especial en .NET
' Ya que lo necesito porque lo estoy haciendo y no se como hacer los movimientos con los eventos.
Saludos!
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

Implementación básica de Senku game con SFML

Publicado por Alejandro (265 intervenciones) el 13/02/2024 23:10:30
Lorena, no tengo conocimiento específico de la existencia de una implementación del juego SENKU en lenguaje de programación orientado a objetos, especialmente en .NET. Sin embargo, puedo proporcionarte un ejemplo básico de cómo podrías comenzar a implementar el juego SENKU en C++ utilizando la biblioteca gráfica SFML. Ten en cuenta que este ejemplo no es en .NET, pero puede darte una idea de cómo podrías abordar los movimientos y eventos en un juego.

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <SFML/Graphics.hpp>
 
class SenkuGame {
public:
    SenkuGame();
    void run();
 
private:
    sf::RenderWindow window;
    sf::CircleShape marble;
    bool isMarbleSelected;
    sf::Vector2f selectedMarblePosition;
 
    void handleEvents();
    void update();
    void render();
};
 
SenkuGame::SenkuGame() : window(sf::VideoMode(800, 600), "Senku Game"), isMarbleSelected(false) {
    marble.setRadius(20.f);
    marble.setFillColor(sf::Color::Red);
    marble.setPosition(100.f, 100.f);
}
 
void SenkuGame::run() {
    while (window.isOpen()) {
        handleEvents();
        update();
        render();
    }
}
 
void SenkuGame::handleEvents() {
    sf::Event event;
    while (window.pollEvent(event)) {
        if (event.type == sf::Event::Closed) {
            window.close();
        }
        else if (event.type == sf::Event::MouseButtonPressed) {
            if (event.mouseButton.button == sf::Mouse::Left) {
                sf::Vector2i mousePosition = sf::Mouse::getPosition(window);
                sf::Vector2f worldPosition = window.mapPixelToCoords(mousePosition);
 
                // Verificar si se hizo clic en la bola
                if (marble.getGlobalBounds().contains(worldPosition)) {
                    isMarbleSelected = true;
                    selectedMarblePosition = marble.getPosition();
                }
            }
        }
        else if (event.type == sf::Event::MouseButtonReleased) {
            if (event.mouseButton.button == sf::Mouse::Left) {
                isMarbleSelected = false;
            }
        }
        else if (event.type == sf::Event::MouseMoved) {
            if (isMarbleSelected) {
                sf::Vector2i mousePosition = sf::Mouse::getPosition(window);
                marble.setPosition(window.mapPixelToCoords(mousePosition));
            }
        }
    }
}
 
void SenkuGame::update() {
    // Lógica de actualización del juego (si es necesario)
}
 
void SenkuGame::render() {
    window.clear();
    window.draw(marble);
    window.display();
}
 
int main() {
    SenkuGame game;
    game.run();
 
    return 0;
}

Este es un ejemplo simple utilizando SFML en C++, donde puedes seleccionar una bola con el clic izquierdo del mouse y moverla mientras mantienes presionado el botón. Puedes adaptar esta lógica a tu implementación de SENKU en .NET, tomando en cuenta las diferencias en la manipulación de eventos y gráficos.
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