Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Vergiss Farben, und vergiss auch solche Spielereien wie das automatische Umschalten in den Vollbild-Modus, bis du die wirklich wichtigen Grundlagen drauf hast. Zum Beispiel sollte sich die Funktion Spiel nicht selbst aufrufen. Das nennt man Rekursion, und es ist hier völlig unangebracht, weil eine einfache Schleife auch ausreichen würde. Dein Programm wird irgendwann abstürzen, wenn du nur lang genug spielst, weil der Stack überläuft. Versuch also, das Programm ohne diese Selbstaufrufe zu schreiben. Das ist viel wichtiger als irgendwelche Farben.
  2. Hinter der Entscheidung, ob man eine Variable in eine Klasse steckt oder nicht, und wenn ja, in welche, sollte eine Designüberlegung stehen, nicht Ausprobieren. Globale Variablen (Definition außerhalb der Klasse) sollten jedenfalls zu Linkerfehlern führen. Man definiert keine Variablen oder Funktionen (außer inline und Templates) in Headerdateien. Außerdem sind globale Variablen grundsätzlich nicht schön, weil keine Möglichkeit der Zugriffskontrolle besteht. Eine Definition, ggf. mit Initialisierung, wird benötigt. Dem Compiler ist das völlig egal, weil der jede Übersetzungseinheit für sich allein betrachtet. Der Linker beschwert sich, weil er mehrere Definitionen der Variablen findet. Zur Laufzeit ist das alles bereits erledigt. Globale Variablen haben immer automatisch externe Verlinkung. Das ändert nichts daran, dass eine Deklaration vorhanden sein muss, wenn man aus einer anderen Übersetzungseinheit darauf zugreifen will. Das Schlüsselwort extern erzeugt die oben beschriebene Deklaration, nichts weiter. "Super-Global" gibt's nicht. Ganz ehrlich, man sieht deiner Erklärung an, dass da kein solides Grundwissen dahintersteckt, und du dir das selbst zusammengebastelt hast. Deine Hilfsbereitschaft in allen Ehren, aber wenn du Halbwissen über fragwürdige Implementierungstechniken mit falsch verwendeten Begriffen und falschen Erklärungen an Anfänger weitergibst, finde ich das nicht so gut.
  3. Dann schau dir nochmal die Boardregeln an. Thread geschlossen.
  4. Glaubst du wirklich, dass es irgendwo ein generisches Spiel-Bot-Tutorial gibt? Tutorials sind für Anfänger gedacht, damit sie sich in eine Materie einfinden können. Irgendwann sollte man aber kein Anfänger mehr sein. Dann kann man sich an komplexe Themen wagen. Und dann braucht man auch keine Tutorials mehr, weil man sich Wissen selbst erarbeiten kann. Um welche Spiele geht's denn?
  5. Doch, Ruby kann das. Unter der Haube wird ein Array draus gemacht.
  6. Du solltest dich entscheiden, ob du C oder C++ lernen willst. Das sind zwei unterschiedliche Sprachen. Nim-Spiel ? Wikipedia Galgenmännchen ? Wikipedia Tic Tac Toe ? Wikipedia
  7. Du kannst es schreiben, wenn du überflüssigen Code magst, dem man sofort ansieht, dass er von einem Ahnungslosen stammt. Es bewirkt nichts. Es ist eine explizite Typumwandlung (Cast) des Zuweisungsausdrucks nach int. Aber erstens hat der Ausdruck bereits diesen Typ, und zweitens machst du mit dem Ergebnis dieser Umwandlung nichts. Der Compiler wird es vermutlich komplett ignorieren.
  8. Oder einfach zahl+=5; Das int dort ist Quatsch.
  9. Das sieht furchtbar aus. Bitte arbeite ein Grundlagentutorial durch.
  10. Muss es denn eine Umgebungsvariable sein? Oder tut's eine normale Variable auch? Was willst du später damit machen?
  11. Ich würde eher von C++ abraten. In C und C++ gibt es sehr viele Dinge, die zwar syntaktisch richtig sind, aber dann im Standard nicht definiert sind. Da heißt's dann schlicht "undefiniertes Verhalten", und dann kann alles passieren. Ein Laufzeitfehler oder auch gar nichts. Da gibt es ganz finstere Ecken. So erkaufen sich C und C++ ihre Performance: Konsistenzprüfungen zur Laufzeit finden nicht statt. In Sprachen wie Java oder Pascal gibt's das längst nicht so oft.
  12. Klotzkopp

    SQL in .NET

    ^ (Handle to Object on Managed Heap) Das sind aber eigentlich absolute Basics für C++/CLI.
  13. Klotzkopp

    Problem!!!

    Bat To Exe Converter - Free software downloads and software reviews - CNET Download.com Ein Compiler ist das allerdings nicht. Und natürlich lassen sich einfache Spiele auch mit Windows-Batchskripten erstellen.
  14. Zum Beispiel dort, wo man aus einer mehrfach verschachtelten Schleifenstruktur rausspringen muss, die sich nicht einfach in eine eigene Funktion packen lässt. Das ist manchmal besser, als eine zusätzliche Abbruchbedingung durch sämtliche Schleifenbedingungen zu ziehen, denn das erzeugt Redundanz. Mein Eindruck ist, dass Anfänger zu oft goto benutzen, und das meist aus Bequemlichkeit, oder weil sie einfach die Schleifenkonstrukte noch nicht drauf haben. Von fortgeschrittenen Entwicklern wird goto oft geradezu dogmatisch verweigert. Profis setzen goto dort ein, wo es angebracht ist.
  15. Klotzkopp

    Problem!!!

    :confused: Sequenz, Verzweigung, Wiederholung: Alles da.
  16. Klotzkopp

    Problem!!!

    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.
  17. Klotzkopp

    Problem!!!

    Wir schon, deswegen solltest du sie nicht weglassen. std::cin >> YoderN; ==
  18. Klotzkopp

    Problem!!!

    Nach dem aktuellen Standard ist das Programm falsch, der Compiler beschwert sich zu Recht. Der Code ist schlicht veraltet. Das Tutorial - oder zumindest dieser Teil - ist offenbar noch auf einem Stand von vor 1998. `endl' undeclared std::endl
  19. Klotzkopp

    Problem!!!

    Manchmal hilft's, wenn man die Fehlermeldungen einfach mal liest. Examples include substituting the <X> header for the <X.h> header for C++ includes, or [b]<iostream> instead of the deprecated header <iostream.h>[/b].[/code] <iostream> heißt der Header, nicht <iostream.h>. Und alle Bezeichner der Standardbibliothek befinden sich im Namensraum std, es muss also std::cout heißen. [code]`main' must return `int' Es heißt int main, nicht void main. Und lass dir beim nächsten Mal bitte einen aussagekräftigeren Threadtitel einfallen. Dafür kannst du ja die multiplen Ausrufezeichen weglassen, die bringen nämlich nichts
  20. Welchen Namen hat denn die Datei? Wird die vielleicht als C kompiliert?
  21. Klotzkopp

    SQL in .NET

    Mir ist kein Datenbanksystem bekannt, das eine Internetverbindung benötigt.
  22. Klotzkopp

    SQL in .NET

    Was meinst du denn damit?
  23. Nein, darum geht's nicht bei OOP. Wenn du deinen prozeduralen Code in eine Methode und diese wiederum in eine Klasse packst, hast du keinen objektorientierten Code. Aber das hier alles zu erklären, würde zu weit führen. Das Forum ist keine Tutorialmaschine.
  24. Wenn du unbedingt meinst, in die Texte der Helfer irgendetwas hereininterpretieren zu müssen, suchst du dir vielleicht doch besser einen Ort, an dem gegen Bezahlung geholfen wird, um mal den Taxi-Vergleich ins rechte Licht zu rücken. Dort hättest du dann ein Recht, an deiner Meinung nach unpassender Hilfe herumzumäkeln. Hier ist jedenfalls Schluss damit. Besinne dich auf deine Manieren, bevor du hier weitermachst.
  25. Ich glaube, was OOP ist, sollte hier durchaus die Frage sein. OOP heißt nicht, auf for-Schleifen zu verzichten, und for-Schleifen sind auch nicht "BASIC-artig". Auf unterster Ebene ist man mit OOP letzten Endes doch wieder prozedural - Sequenz, Schleife, Verzweigung. Du wirst wohl noch merken, dass man hier nur mit sehr viel Glück an fertigen Code kommt.

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...