Zum Inhalt springen

Problem!!!


Creazy231

Empfohlene Beiträge

diese sprache ist sehr gut und simpel finde ich... aber ich habe keinen plan wie man grafikspiele oder so damit programmiert... und da ich gelesen habe das c++ eine gut sprache ist habe ich mir dev-c++ gezogen und ausprobiert...

Spiele, die man mit 3D Systemen (wie OpenGL oder DirectX) programmiert, das geht nicht per Batch. Dafür gibt es entsprechende Libraries, die man unter C++ einbindet, aber davon bist Du noch sehr weit entfernt.

Außerdem recht dafür es nicht aus C++ zu beherrschen, sondern gewisse Konzepte zu verstehen und gerade der 3D Bereich erfordert mathematische Kenntnisse in der linearen Algebra.

heute habe ich aber gehört das dev-c++ veraltet ist oder so und mich nach einer neuen sprache dich ich lernen kann umgeschaut...

Diese Aussage zeigt, dass Du in keiner Weise die geposteten Links gelesen und vor allem verstanden hast. Dev-Cpp ist eine IDE / Entwicklungsplattform für C++. Dev-Cpp ist keine Sprache ! C++ ist eine Sprache.

aber am besten würde ich es finden wenn mir jemand ne seite geben kann wo beispiele zu spieleprogrammierung mit "Batch" ist...

Das ist nicht möglich, jedenfalls nicht in graphischer (2D / 3D) Hinsicht.

Du solltest Dich wirklich einmal mit der grundlegendsten PC- und Software-Architektur vertraut machen. Es scheint mir, als weißt Du noch nicht einmal was eine Batch-Datei ist (Windows Batch ? Wikipedia / Stapelverarbeitung ? Wikipedia). Bevor Du mit einer Sprache wie C++ anfängst und dort (3D) Graphik entwickeln willst, solltest Du die einfachsten Dinge erst einmal beherrschen

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also:

Im moment bin ich im Urlaub und weil ich da soviel langeweile habe habe ich mir gedacht:"Programmieren ist geil! Ich versuch es mal"!

In der Zeit ( 3 Wochen ) habe ich viel gelernt...

Egebniss:

Sobald ich wieder @ home bin ( am Freitag ) wede ich mir Bücher über die Programmiersprache C++ zu besorgen mit anfängerkursen...

Könnt ihr mir dazu ein gutes Buch vorschlagen?

Und nein... ich hab bissher keine Ahnung von Grundlagen...

aber ich behersche "Batch" und habe das bekommen:

( Verglei mit C++ Sprache und Batch Sprache )

C++-code:


#include <iostream>


using namespace std;


template<bool small, int I>

struct pretty_printer;


#define SMALL_PRETTY_PRINTER(num, string) \

template<>\

struct pretty_printer<true, num>\

{\

    static void print()\

    {\

        cout << string;\

    }\

};


SMALL_PRETTY_PRINTER(0, "No")

SMALL_PRETTY_PRINTER(1, "One")

SMALL_PRETTY_PRINTER(2, "Two")

SMALL_PRETTY_PRINTER(3, "Three")

SMALL_PRETTY_PRINTER(4, "Four")

SMALL_PRETTY_PRINTER(5, "Five")

SMALL_PRETTY_PRINTER(6, "Six")

SMALL_PRETTY_PRINTER(7, "Seven")

SMALL_PRETTY_PRINTER(8, "Eight")

SMALL_PRETTY_PRINTER(9, "Nine")

SMALL_PRETTY_PRINTER(10, "Ten")

SMALL_PRETTY_PRINTER(11, "Eleven")

SMALL_PRETTY_PRINTER(12, "Twelve")

SMALL_PRETTY_PRINTER(13, "Thirteen")

SMALL_PRETTY_PRINTER(14, "Fourteen")

SMALL_PRETTY_PRINTER(15, "Fifteen")

SMALL_PRETTY_PRINTER(16, "Sixteen")

SMALL_PRETTY_PRINTER(17, "Seventeen")

SMALL_PRETTY_PRINTER(18, "Eighteen")

SMALL_PRETTY_PRINTER(19, "Nineteen")


#undef SMALL_PRETTY_PRINTER


template<int ones>

inline void 

print_ones();


#define ONES_PRINTER(ones, string) \

template<> \

inline void \

print_ones<ones>() \

{\

  cout << string;\

}


ONES_PRINTER(0, " ")

ONES_PRINTER(1, " one")

ONES_PRINTER(2, " two")

ONES_PRINTER(3, " three")

ONES_PRINTER(4, " four")

ONES_PRINTER(5, " five")

ONES_PRINTER(6, " six")

ONES_PRINTER(7, " seven")

ONES_PRINTER(8, " eight")

ONES_PRINTER(9, " nine")


#undef ONES_PRINTER


template<int tens>

inline void

print_tens();


#define TENS_PRINTER(tens, string) \

template<> \

inline void \

print_tens<tens>() \

{\

  cout << string;\

}


TENS_PRINTER(2, "Twenty")

TENS_PRINTER(3, "Thirty")

TENS_PRINTER(4, "Forty")

TENS_PRINTER(5, "Fifty")

TENS_PRINTER(6, "Sixty")

TENS_PRINTER(7, "Seventy")

TENS_PRINTER(8, "Eighty")

TENS_PRINTER(9, "Ninety")


#undef TENS_PRINTER


template<int I>

struct pretty_printer<false, I>

{

    static void print(){

        print_tens<(I - I%10)/10>();

        print_ones<(I%10)>();

    }

};


template<int I>

void pretty_print()

{

    pretty_printer<(I<20), I>::print();

}


template<int I>

inline void

BottlesOfBeer()

{

    pretty_print<I>();

    cout << " bottles of beer" ;

}


template<>

inline void

BottlesOfBeer<1>()

{

    pretty_print<1>();

    cout << " bottle of beer" ;

}


template<int I>

inline void

BottlesOfBeerOnTheWall()

{

    BottlesOfBeer<I>();

    cout << " on the wall";

}


template<int I>

inline void stanza()

{

    BottlesOfBeerOnTheWall<I>(); 

    cout << ",\n";

    BottlesOfBeer<I>(); 

    cout <<",\n";

}


template<int I>

inline void bridge()

{

    cout   << "Take one down, pass it around," << endl;

    BottlesOfBeerOnTheWall<I-1>();

    cout <<",\n";

}


template<>

inline void bridge<0>()

{

    cout << "Go to the store and buy some more," << endl;

    BottlesOfBeerOnTheWall<99>();

}


template<int I>

inline void verse()

{

    stanza<I>();

    bridge<I>();

}


template<int I>

inline void sing () 

{

    verse<I>();

    cout << endl;

    sing<I-1>();

} 



template<>

inline void sing<0> ()

{

    verse<0>();    

}


int main () {

  sing<99>();

}
Batch-code: (hab ich in 2 min selbergeschrieben):

@echo off

set bottles=99


:gogogo

echo.

echo.

echo %bottles% bottles of beer on the wall,

echo %bottles% bottles of beer.


set /a bottles=bottles-1


echo Take one down and pass it around, 

echo %bottles% bottles of beer on the wall.

echo.

echo.

if "%bottles%"=="1" goto ende

goto gogogo


:ende

echo.

echo.

echo No more bottles of beer on the wall, 

echo no more bottles of beer.

echo Go to the store and buy some more, 

echo 99 bottles of beer on the wall.

echo.

echo.

pause >nul

exit /b

Und das geile ist, es kommt beides aufs selbe raus und "Batch" hat einen kleineren code. (auser das ich nicht ausgeschriebende Zahlen genommen habe sondern zahlen)

Also was haltet ihr von dem, was ich nach meinem Urlaub machen will?

Danke, Tobias!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Und das geile ist, es kommt beides aufs selbe raus und "Batch" hat einen kleineren code.
Ich hoffe, dir ist klar, dass das kein normaler C++-Code ist. Das ist Beispielcode für Templatemetaprogrammierung, eine sehr fortgeschrittene Technik in C++, und für die vorliegende Aufgabe totaler Overkill. Ein auf die tatsächliche Anforderung zugeschnittenes C++-Programm wäre viel kürzer.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Also in meinen Augen ist "hangman" in Batch bzw. "Batchman xD" Schon ein spiel... und ich finde das man wenn man mit Batch ein spiel wie hangman pogrammiert das ein großer erfolg als anfänger ist... und dieser erfolg kann einen dann dazu bringen dann bessere sprachen wie c++ zu lernen und beesere spiele zu programmen...

Tobi

PS: Muss mich jetzt Zwischen Java und C++ entscheiden :P

was würdet ihr von dem beiden nehmen wenn es nur die beiden geben würde?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ob man C++ oder Java als Anfänger lernt, ist auch ein bisschen die Frage des Geschmacks. C++ ist im Gegensatz zu Java ein kompilierter Code, der für eine Architektur kompiliert wurde. Java Bytecode, der durch die VM ausgeführt wird. Viele Bibliotheken können ohne weiteres in C++ genutzt werden, bei Java wäre dies nur mit JNI möglich. Dafür ist Java rein OOP und eben cross-plattform fähig. Weiterhin sind manche Strukturen in Java etwas leichter wie in C++. Performance gerade im 3D Bereich liefert aber immer noch C++.

Generell solltest Du Programmieren lernen und nicht eine Sprache. Die Sprache ist nur das Handwerkszeug

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Viele Bibliotheken können ohne weiteres in C++ genutzt werden, bei Java wäre dies nur mit JNI möglich.

Java-Bibliotheken ohne weiteres in C++? Sicher?

Performance ist doch da sicher eher gering.

Hast du da paar Links?

Für plattformübergreifende Bibliotheken ist doch Qt und Boost besser geeignet. :floet:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Java-Bibliotheken ohne weiteres in C++? Sicher?

Bitte lies mein Posting richtig !

Es geht nicht um darum, dass man Java Bibliotheken in C++ einbindet, sondern C++ Bibliotheken in Java, sonst hätte ich sicherlich nicht JNI erwähnt (bzw es handelt sich um shared Libs, die meistens OS spezifisch in C oder C++ vorliegen)

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte lies mein Posting richtig !

Ich hab den jetzt noch drei mal durchgelesen. :D

Ich les da immer raus, dass Bibliotheken in C++ genutzt werden können, nur nirgends in welcher Sprache die Bibliotheken sind.

Meintest du vielleicht Java-Bibliotheken, welche in C++ geschrieben wurden? Wenn ja, dann ist das klar, dass die dann auch in C++ verwendet werden können.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...