Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

MrZylox1998

Treue Seele

  • »MrZylox1998« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bayern

Beruf: Schüler(9.Klasse)

  • Private Nachricht senden

31

24.09.2013, 15:05

main.cpp

C-/C++-Quelltext

1
2
3
4
5
6
#include "goldmine.h"#include "shop.h"
int main(){sf::RenderWindow window(sf::VideoMode(800, 600), "Click it!");
    Goldmine    goldmines("goldmine.png");Shop      shop(&goldmine);//...//...//...window.clear(sf::Color::Black);
        goldmines.Update(window);   goldmines.Render(window);
        shop.Update(window);    shop.Render(window);
        window.display();}    return 0;}


shop.h

C-/C++-Quelltext

1
2
3
#include <SFML\Graphics.hpp>#include <iostream>#include <sstream>#include "goldmine.h"
using namespace sf;
class Shop{public:  void Update         (RenderWindow &window); void Render         (RenderWindow &window); //...       Shop                (Goldmine* goldmine);private:   //...


shop.cpp

C-/C++-Quelltext

1
2
3
4
5
6
#include "shop.h"
Shop::Shop(Goldmine* goldmine){ ...}
void Shop::Update(RenderWindow &window){    Goldmine goldmine("goldmine.png");  if (sf::Mouse::getPosition(window).x > 650 && sf::Mouse::getPosition(window).y > 100 && sf::Mouse::getPosition(window).y < 125 && MouseTimer.getElapsedTime().asMilliseconds() > 100)   {       AddOneClickGoldCostBool = true;     if (sf::Mouse::isButtonPressed(sf::Mouse::Left) && goldmine.getGold() > AddOneClickGoldCost)        {           goldmine.setClickGold(goldmine.getClickGold() + 1);         goldmine.setGold(goldmine.getGold() - AddOneClickGoldCost);         AddOneClickGoldCost *= 2;       }   }   else    {       AddOneClickGoldCostBool = false;    }
    if (sf::Mouse::getPosition(window).x > 650 && sf::Mouse::getPosition(window).y > 200 && sf::Mouse::getPosition(window).y < 225 && MouseTimer.getElapsedTime().asMilliseconds() > 100)   {       AddOneGpsCostBool = true;       if (sf::Mouse::isButtonPressed(sf::Mouse::Left) && goldmine.getGold() > AddOneGpsCost)      {           goldmine.setGps(goldmine.getGps() * 2);         goldmine.setGold(goldmine.getGold() - AddOneGpsCost);           AddOneGpsCost *= 3;     }   }   else    {       AddOneGpsCostBool = false;  }}
void Shop::Render(RenderWindow &window){    window.draw(AddOneGpsRec);  window.draw(AddOneClickedGoldRec);  window.draw(AddOneClickGoldText);   window.draw(AddOneGpsText);
    if(AddOneClickGoldCostBool == true) {       window.draw(AddOneClickGoldCostText);   }   if(AddOneGpsCostBool == true)   {       window.draw(AddOneGpsCostText); }}


PS: ich formatiere den code wieder neu und es kommt trotzdem das hier raus... Sorry D: Und der Error ist: error C2065: 'goldmine': nichtdeklarierter Bezeichner
Jetzt -- ist schon vorbei.

Rechtschreibfehler sind Spezialeffekte meiner Tastatur!

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »MrZylox1998« (24.09.2013, 15:16)


Thunetoft

Frischling

Beiträge: 10

Wohnort: Brechen

Beruf: SW-Developer

  • Private Nachricht senden

32

24.09.2013, 15:23

auf den ersten Blick würde ich mal vermuten, dass es an der Tatsache

goldmines != goldmine

liegt (in der main()) ;)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

33

24.09.2013, 15:30

Durch die Formatierung kommt man da echt nicht wirklich durch grad. Das mit den Unterschiedlichen Schreibweisen habe ich auch schon überlegt. Da sind aber allgemein merkwürdige Dinge die du tust. In Update von Shop wird am Anfang immer eine Instanz von Goldmine erstellt? Warum? Ich glaube du musst noch mal einen Schritt zurück gehen und solltest dir Klassen noch mal von Vorn ansehen. So bringt das hier wenig. Wenn dich C++ einfach überfordert, dann denk möglicherweise darüber nach die Sprache zu wechseln. Überstürze das nur nicht. Manchmal beißt man sich halt die Zähne an etwas aus.
@TGGC:
Das Problem ist doch, dass es sich hier um einen Anfänger handelt. Dieser kann mit den C++ Fehlermeldungen halt noch nicht unbedingt viel anfangen. Das war bei mir auch mal so und vermutlich wird es bei vielen so gewesen sein. Ist ja möglich dass du ein Überflieger warst und dir da direkt alles klar war. Ich denke so weit sollte man Rücksicht nehmen können.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

MrZylox1998

Treue Seele

  • »MrZylox1998« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bayern

Beruf: Schüler(9.Klasse)

  • Private Nachricht senden

34

24.09.2013, 15:43

Ja die Fehlermeldung ist jetzt weg, danke aber der Wert ändert sich immer noch nicht^^
Ich denke C++ überfordert mich wirklich ein wenig.. D:

Ich glaube ich sollte wirklich die Sprache wechseln :s
Danke für eure rücksicht, und welche Sprache ist eurer meinung nach für mich geeignet?

PS: Ich möchte erstmal 2D Spiele programmieren
Jetzt -- ist schon vorbei.

Rechtschreibfehler sind Spezialeffekte meiner Tastatur!

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »MrZylox1998« (24.09.2013, 15:52)


TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

35

24.09.2013, 15:46

Dieser kann mit den C++ Fehlermeldungen halt noch nicht unbedingt viel anfangen.
Darum weisse ich ihn ja daraufhin, das er es lernt. Anstatt die Ausgabe einfach als "irgendwas unverstaendliches" zu ignorieren.

Werbeanzeige