Bewegenden Punkt generieren



  • Hi,

    ich brauche unbedingt Hilfe:

    Ich habe leider nur C++ Konsolenerfahrung, muss aber etwas grafisches programmieren. Es soll ein Punkt in dem Programmfenster erscheinen der sich bewegt (je nach Winkel den man eingeben kann fliegt er weiter oder eben nicht so weit, außerdem ist noch die Stärke mit der er weggeschossen wird veränderbar) natürlich soll das ganze etwas umfangreicher werden aber mir fehlt einfach dieser anfang. Es soll noch einiges dazu kommen, was ich dann aber selber versuche.

    Was brauche ich? (Welche bibliotheken sind dafür geeignet, dann habe ich noch von verschiedenen Varianten gehört: OpenGL und DirectX. Was ist in sehr kurzer Zeit schneller zu lernen oder allgemein einfacher?...)

    Ich habe nur minimale MSVC Kenntnisse

    Kann mir da bitte jemand helfen?

    Mit freundlichen Grüßen, Complex



  • Bezahlung?



  • evtl...

    Kommt auf den Aufwand auf. Dauert doch nich lang wenn man es kennt oder? Vll is ja auch jm so nett und machts umsonst :)?



  • Was brauche ich? (Welche bibliotheken sind dafür geeignet, dann habe ich noch von verschiedenen Varianten gehört: OpenGL und DirectX. Was ist in sehr kurzer Zeit schneller zu lernen oder allgemein einfacher?...)

    Ich würde es mal mit SFML versuchen.
    http://www.sfml-dev.org/

    Oder mit einer ganz anderen Sprache als C++, z.B. Blitz Basic.

    Langfristig hat man sicher mehr davon C++ zu lernen als Blitz Basic o.ä., dafür kommt man mit Blitz Basic und Konsorten vermutlich (viel) schneller zu einem Ergebnis. (Bei so einfachen Projekten wie diesem hier meine ich. Es gibt sichlerlich Projekte, wo man mit Blitz Basic o.ä. schnell ansteht, weil gewisse Dinge gar nicht gehen, oder dann viel zu schwierig/langsam/... würden. Es geht aber schon einiges, wie man auch an den ganzen Projekten erkennen kann, die damit umgesetzt wurden.)

    Es soll ein Punkt in dem Programmfenster erscheinen der sich bewegt

    Das ist überhaupt kein Aufwand.

    (je nach Winkel den man eingeben kann fliegt er weiter oder eben nicht so weit, außerdem ist noch die Stärke mit der er weggeschossen wird veränderbar)

    Das ist schon mehr Aufwand, abhängig davon, wie du dir die Eingabe vorstellst.
    Ich nehme an du möchtest nicht, dass man die Parameter als Command-Line Argumente mitgeben muss 😉

    p.S.: ich bin in keiner Weise mit den Herstellern von Blitz Basic verbandelt 🙂 Wenn jemand ein gratis Tool kennt, was vergleichbar ist, würde mich das sehr interessieren.



  • Hey danke für die antwort!

    Hab leider eine Vorgabe - es muss in C++ geschrieben werden.

    Die Bibliothek sieht ganz gut aus, ich versuchs mal bis sich jemand meldet alleine hinzubekommen wobei ich es bestimmt nicht mehr schaffe.

    Die 2 Daten müssen ja nich per Maus eingelesen werden. Es reicht wenn man sie in Edit-Fenstern eingibt und so sollte es ja kein großer aufwand sein.
    Die Kraft die man eingibt soll im endeffekt also die Geschwindigkeit sein. Mehr Speed = längerer Flug. Im Endeffekt (je nach Winkel) eine sinusförmige Flugbahn. Also der Luftwiderstand ist noch nicht wichtig. Der Punkt soll einfach nur einen Bogen fliegen, je nachdem wie er geworfen wird.

    Kannst du (oder jm anderes, bitte melden!) mir dabei helfen?
    Wie viel Aufwand wäre es denn? Ich denke wenn man sich auskennt kann man es innerhalb von einer Stunde evtl 2 Stunden schreiben, oder?

    MfG, Complex



  • Lol, der nächste der seine Hausaufgaben gemacht haben will.

    Und ich dachte du willst spasseshalber ein kleines Spiel angehen.

    BTW: wenn man ohne Luftwiderstand etc. rechnet, ergibt sich keine Sinuskurve, sondern eine Parabel.



  • Wieso glaubt ihr immer das irgendjemand hier euch die Hausaufgaben von der Schule/Uni einfach so programmiert? 🙄
    Und dann noch für umsonst? 🤡



  • Wieso glaubt ihr immer das irgendjemand...

    Wieso glaubst du dass es keine Bezahlung für gibt?



  • Also zum ersten:
    Da du ja an Vorgaben gebunden bist würden die zunächst einmal wichtig sein,
    muss das ganze in OpenGL oder DX geschrieben sein oder reicht eine abstraktare Sichtweise?

    SOll das ganze 2-dimensional sein und bleiben oder 3-dimensional?

    Bei 2-D Würde ich SFML empfehlen , bei 3-D SFML-OpenGL, das ist aber Geschmackssache, oder besser gesagt kommts drauf an wo du das ganze verwenden willst?
    Plattformunabhängig ? Nur Windows?

    Da fehlt einiges an Vorgaben



  • Complex schrieb:

    Wieso glaubt ihr immer das irgendjemand...

    Wieso glaubst du dass es keine Bezahlung für gibt?

    Weil nichtmal der Tot umsonst ist! 😃

    Edit: oh da steht "keine" - nvm



  • ravenheart schrieb:

    Also zum ersten:
    Da du ja an Vorgaben gebunden bist würden die zunächst einmal wichtig sein,
    muss das ganze in OpenGL oder DX geschrieben sein oder reicht eine abstraktare Sichtweise?

    SOll das ganze 2-dimensional sein und bleiben oder 3-dimensional?

    Bei 2-D Würde ich SFML empfehlen , bei 3-D SFML-OpenGL, das ist aber Geschmackssache, oder besser gesagt kommts drauf an wo du das ganze verwenden willst?
    Plattformunabhängig ? Nur Windows?

    Da fehlt einiges an Vorgaben

    Erstmal danke für die Antwort,

    Plattformen sind eig egal. Ich machs mit XP denn bei "nicht exe" programmieren habe ich so ziemlich garkeine Erfahrung (außer etwas Bash was jetzt nicht hilft)
    Und es soll natürlich 2d sein. Einem Lehrer der mir nicht hilft (obwohl er helfen sollte bin also auf mich allein gestellt), dem lass ich keine Vorgaben mitzubestimmen ich machs einfach, hauptsache C++ da dies sein Fach ist.

    Wie fange ich mit SFML an?

    MSVC öffnen, dann win application oder wie das heißt.
    einbinden und bei den tutorials hab ich mich schon umgeguckt:

    sf::Window App(sf::VideoMode(800, 600, 32), "SFML Window");
    

    Dieses Rendering zeug brauch ich auch?
    Und dann gibt es hier noch was zu dem Punkt den ich brauch:
    http://www.sfml-dev.org/tutorials/1.5/graphics-shape.php

    Ich will erstmal die überlegung haben, außerdem weiß ich nicht so richtig wie ich anfangen soll. Der Punkt soll dann nach Eingabe von einem Winkel (maximal 90°) steuerbar sein.
    Wie kombiniert man das jetzt? Ich will dass der Punkt sich nachdem man 45 eingibt mathematisch eine Einheit nach rechts eine nach oben... bewegt.
    Man muss den alten also löschen und einen neuen auf den neuen Koordinaten erstellen. Wie ist das ganze kombinierbar?
    Was meint ihr, wie lang werde ich brauche wenn mir keiner hilft? Ich habe so ziemlich garkeine Erfahrung. Wird es über 10-15 Stunden arbeit sein alleine das aus dem 1. Beitrag hinzubekommen?

    Danke nochmal für eure hilfe. Und geflame kann ich hier nicht wirklich brauchen. Beiträge wie der von "phlox81" helfen nich wirklich weiter

    MfG Complex



  • Wird es über 10-15 Stunden arbeit sein alleine das aus dem 1. Beitrag hinzubekommen?

    wenn du nichts "abschreiben" willst, wesentlich mehr.

    BTW: mit SFML kannst du keine "buttons" und "text boxen" machen. vonwegen input. entweder du machst die dann "zu fuss" (direkt mit WinAPI), oder du brauchst ein windowing toolkit ala wxWindows oder MFC.

    als ich SFML empfohlen hatte dachte ich auch noch dass du zum spass ein spiel programmieren willst. hätte ich gewusst dass es um eine aufgabe geht, hätte ich es vermutlich nicht empfohlen.

    BTW: wenn der Lehrer keine Vorgaben bezüglich Windowing-Toolkit etc. macht, und nichtmal Vorschläge dazu hat/Hilfe anbietet, dann würde ich dem mal ganz schön was erzählen.



  • Complex schrieb:

    Wieso glaubt ihr immer das irgendjemand...

    Wieso glaubst du dass es keine Bezahlung für gibt?

    Complex schrieb:

    ... und machts umsonst :)?

    Weil du genau das schon "erwähnt" hast?
    Sorry, aber die Anzahl der Leute dir hier mal eben umsonst oder billigst ihre Hausaufgaben gemacht haben wollen fällt langsam schon auf. Is also nix gegen dich.

    phlox



  • OK, wenn du dich schon mal entschieden hast das ganze mit sfml zu machen dann ist zumindest der graphische teil geklärt,
    für eine GUI (Buttons und CO) würde ich dann QT vorschlagen oder WinAPI.

    Dann schreibst du eine Klasse die deinen springenden Punkt darstellt und bindest die ein... ^^
    Du kannst noch eine kleine Physik-Klasse schreiben und diese mit einbinden (Visitor-Pattern könnte da helfen um Physik und Graphik auseinanderzuhalten)

    Im Grunde ist das ganze wenn du die SFML-Beispiele kopierst gar nicht so schwer.
    Framereate und Doublebuffering oder solche Sachen brauchen dich ja bei SFML nicht weiter interessieren.



  • Weil du genau das schon "erwähnt" hast?
    Sorry, aber die Anzahl der Leute dir hier mal eben umsonst oder billigst ihre Hausaufgaben gemacht haben wollen fällt langsam schon auf. Is also nix gegen dich.

    Aha du hast dir aber schon mehr als nur die 2 Wörter "machts umsonst" durchgelesen?
    Würdest du dir den Satz davor mal anschauen dann wüsstest du, dass ich eine Bezahlung nicht ausgeschlossen habe jedoch (so wie jeder andere auch) froh wäre, wenn jemand etwas mehr Hilfe auch so anbietet.

    Ok aber bei dir muss ich mich jetzt nichmehr zu äußern.

    Hab jetzt also 2 Beiträge die gegeneinander sprechen..
    @ravenheart: Hört sich ja ganz easy an so wie du es hier erzählst :D. Um es noch unkomplizierter zu machen lass ich erstmal Buttons weg und ich gebe den Winkel direkt in den Quellcode ein.
    Das Wort Klasse habe ich leider nur mal so gehört. Und ich weiß noch dass es Public und Private gibt 😃
    Das ganze ist also wie eine Funktion bei dem Konsolenzeug?
    Ich will das ganze so einfach haben wie es geht. Kannst du mir bitte einen Ansatz als Quellcode geben? Also dass sich z.B. ein Fenster öffnet in dem ein Punkt erscheint. Dann werde ich es viiel einfacher haben.

    Danke, MfG Complex



  • Also, entweder du hast bisher nur C gemacht oder...
    nein kein oder

    Ich empfehle hier ganz dringendst den Griff zu einem C++ Buch
    ohne die nötigen Grundlagen wirst du nicht weit kommen.

    Auch wenn dein Beispiel noch keine allzu komplizierten Sachen verlangen sollte... tu dir selbst den Gefallöen und lern C++ wenn du musst.

    Mit es gibt doch sowas wie private und public oder War da nicht mal was wie std::irgendwas wird das nie was werden.
    Klar gibts Sachen die man nachfragen kann (Wer kapiert des Zeug mit wfstreams?!)
    aber du musst noch einiges tun bevor ein Punkt auf deinem Bildschirm springen wird^^

    Nichts für ungut, fragen kann ja nicht schaden aber hier ist eindeutig Grundlagentraining an der Reihe (Ich will ja nicht mal behaupten dass ich sie alle hätte aber mit etwas Eigeninitiative und dann kurzem Nachfragen gehts meistens schon)



  • Ja nur das Problem ist dass es wohl nicht innerhalb weniger Tage gehn wird



  • Mail angekommen?

    Gruss
    frank


Anmelden zum Antworten