Mit C, C# , C++ Bots erstellen?

4 Antworten

Von den dreien würd ich C# nehmen, C ist viel zu hardwarenah und C++ macht auch viele Sachen unnötig kompliziert. Zum Einstieg empfehle ich http://www.uni-trier.de/index.php?id=22777 oder wenn es ein Buch sein soll, "C# von Kopf bis Fuß" aus dem O'Reilly-Verlag. Achja, und das mit dem Bot solltest du hinten anstellen, erstmal wirst du die Grundlagen der Programmierung brauchen.


valvaris6 
Beitragsersteller
 14.10.2012, 22:31

was sind die unterschiede bei den dreien? und wie lange wirds dauern bis ich z.b. mit der diese Programmiersprache beispielweise ein eigenes kleines Spiel zusammen bastel kann und würde der umstieg von C# zu C/C++ schwer werden? Ach und wie lange würde es dauern bis ich ein Minesweeper Bot programmieren kann^^. Danke^^.

0
ceevee  14.10.2012, 23:03
@valvaris6

C ist im Prinzip eine hardwarenahe Sprache, die man heutzutage nur benötigt, wenn man Mikrocontroller oder sehr systemnahe Programme erstellt, C++ erweitert C um Objektorientierung und andere Methoden, welche die Programmierung ein wenig erleichtern und C++ auch zur Anwendungsentwicklung effizient nutzbar macht und C# ist quasi eine C++-ähnliche Sprache von Microsoft, welche einige Umständlichkeiten von C/C++ besser löst (beispielsweise wird hier eine grafische Oberfläche gleich mitgeliefert) und daher für Einsteiger am ehesten zu empfehlen ist. Der Umstieg von C# zu C/C++ ist dementsprechend gar nicht mal mehr so schwer. Wenn ich das richtig in Erinnerung habe, dann sind in dem C#-Buch sogar ein paar Spiele als Projektaufgaben drin, ansonsten würde ich für ein kleines eigenes Spiel mal so 6 Monate bis 1 Jahr veranschlagen - du wirst den Tag über ja noch was anderes zu tun haben. Zu der Sache mit dem Minesweeper-Bot kannst du die andere Antwort hier konsultieren - CrystalixXx hat schon recht gut ausgedrückt, was ich mit "hinten anstellen" meinte. Irgendwas Unvorgesehenes in fremde Applikationen zu implementieren ist nicht ohne, zumal du dir auch noch ein paar Gedanken zum Algorithmus machen musst, da können schonmal ein paar Jahre vergehen. Fang erstmal an, kleine Brötchen zu backen.

0
CrystalixXx  14.10.2012, 23:15
@ceevee

Endlich mal jemand, der zwischen C/C++ (auch C++/CLI genannt) und C# unterscheiden kann. Sehr schöne Ausführung und das wichtigste kurz zusammengefasst.

0

Probiere es doch mal mit einem TicTacToe. Das ist in allen Programmiersprachen eines der beliebtesten Einsteigerprojekte. Weil es gleichzeitig eines der einfachsten Probleme darstellt, wenn man nur eine überhaupt irgendwie geartete Lösung anstrebt, um nur ein paar Programmiertechniken kennenzulernen bzw. zu üben, aber auch zu einem nahezu beliebig komplexen System ausgebaut werden kann, wenn man sich an Multiplayer-Systeme und künstliche Intelligenz sowie Komfortfunktionen macht.

Eventuell versuchst Du es auch mal mit Einstieg über Webprogrammierung. In dem Fall könnte ich unmittelbar unter die Arme greifen: http://harryboeck.dyndns.org/Bildungswerk/?thema=A-PHP-HTML


valvaris6 
Beitragsersteller
 16.10.2012, 15:31

Danke die Seite sieht auch gut aus.

0

Natürlich. Ein Anfänger, der absolut keine Ahnung hat, möchte eine vollständig automatisierte Anwendung schreiben, die noch dazu mit anderen kommuniziert und sogar die Steuerung übernimmt.

Tue dir selbst einen Gefallen und vergiß dein Vorhaben ganz schnell. Entweder du fängst von klein auf an und lernst alle Grundlagen (das dauert für gewöhnlich Monate bis Jahre) oder du wirst nie richtig programmieren können und bist nur in der Lage fertigen Code zusammenzukopieren, der dann mehr schlecht als recht funktioniert. Du wirst ständig Fragen stellen, die du mit ein wenig Grundlagenstudium hättest selbst beantworten können, ohne stunden- oder tagelang auf eine fertige Lösung zu warten.


valvaris6 
Beitragsersteller
 14.10.2012, 22:49

Ich habe null Ahnung von sowas und ich will früher oder später sowieso eine Programmiersprache lernen und wollte erstmal ein Minesweeper Bot erstellen.< Naja man hätte raus lesen können, dass ich vor habe eine Programmiersprache richtig zu lernen, ich hab den Teil mit Bot deshalb dort hin geschrieben, weil ich klar machen wollte welche Richtung ich auch gehen möchte. "Auch" deshalb weil ich eigentlich in erster Linie selbst kleiner Spiele und später größere Spiele basteln will. Nur zuzeit interessieren mich Bots mehr, deshalb hab ich nur das erwähnt.

Keine Ahnung weshalb das alles in dieser Box steht^^.

0
CrystalixXx  14.10.2012, 22:57
@valvaris6

Mit der Einstellung "früher oder später" wirst du nicht kommen. Wenn du schreibst, dass du einen Bot erstellen willst, dann erweckt das den Eindruck, als erwartest du, dass dir jemand Code schreibt, den du kopierst und nicht, dass es in die Richtung gehen soll.

Spieleentwicklung ist auch ein Bereich, in den jeder Anfänger gehen will, weil er keine Ahnung hat, was das für Ausmaße annehmen kann. Ein Bot hat damit aber auch relativ wenig zu tun. Kommt aber immer auf die zu automatisierende Anwendung an. Soll heißen, dass du jede Zielanwendung kennen musst. Die benötigten Informationen zu besorgen wird schwierig werden.

Als Programmiersprache solltest du dich für C bzw. C++ entscheiden. Denn in dieser Richtung wäre es sinnvoll, wenn du direkten Speicherzugriff hast (je nach Zielanwendung des Bots). Für Grafik und Spieleanwendungen bist du damit ebenfalls gut aufgehoben, wobei C# mit dem XNA Framework ebenfalls möglich wäre. Da wird es aber mit Bots schwieriger, denke ich.

0
valvaris6 
Beitragsersteller
 14.10.2012, 23:03
@CrystalixXx

"früher oder später"< weil ich in letzter Zeit wenig Zeit hatte^^, aber jetzt denke ich kann ich endlich anfangen^^. Als Programmiersprache solltest du dich für C bzw. C++ entscheiden < Ist C eine vorstufe von C++ und wie lange meinste würde das dauern, wenn ich jeden tag 1 bis 2 Stunden ins lernen investieren würde?

Schon wieder diese Box^^. Ich will doch einfach nur 1 Satz zitieren^^.

0
CrystalixXx  14.10.2012, 23:09
@valvaris6

C++ ist eine Erweiterung zur C. Wie lange du zum Lernen brauchst kann ich nicht sagen. Jeder lernt auf unterschiedliche Art und verschieden schnell.

Zum Lernen gehört aber mehr als die Theorie. Die praktische Erfahrung ist das, was einen viel voranbringt im Umgang mit Programmier-Paradigmen und Pattern. Meines Erachtens sind 1 bis 2 Stunden viel zu wenig. Speziell bei der Programmierung an sich braucht man viele Stunden. Da ist es schwierig mitten drin Pause zu machen oder aufzuhören. Du wirst insgesamt aber einige Jahre brauchen um gut programmieren zu können.

0
Unsinkable2  15.10.2012, 10:43
@CrystalixXx

Die benötigten Informationen zu besorgen wird schwierig werden.

Nope. Ein nicht intrudierender Bot wäre hier der erste Lernschritt, den man relativ schnell und relativ erfolgreich realisieren kann.

Als Programmiersprache solltest du dich für C bzw. C++ entscheiden.

Zwei Mal "Nein!"

Erstens ist C/C++ wahrlich nur etwas für Einsteiger mit einer extrem hohen Schmerzschwelle. Und zweitens ist es nicht erforderlich, sich derart tiefgreifend mit "nicht zielrelevanten Arbeiten und Informationen" abplagen zu müssen. Das bremst nicht nur das Entwicklungsziel sondern auch den Mut, sich dauerhaft damit zu beschäftigen, deutlich aus...

wobei C# mit dem XNA Framework ebenfalls möglich wäre

Möglich, aber nicht notwendig. Das Standard-Framework leistet bereits herausragende Dienste...

0
CrystalixXx  15.10.2012, 18:46
@Unsinkable2

Vorsicht: Das Framework bietet vielleicht genug für einen simplen Bot (was auch immer es da für Unterscheidungen zu treffen gäbe), aber keinesfalls eine gute Grundlage für Spieleprogrammierung. In meinem Beitrag habe ich beides vermischt und versucht eine gemeinsame Grundlage zu schaffen. Unter Bots verstehe ich computer- und automatisierte Anwendungen, die andere Anwendungen kontrollieren alá Farmbots in diversen Online-Spielen. Da dürfte C oder C++ sinnvoll sein, vorallem wenn es später in die Spieleentwicklung gehen soll, bei der möglicherweise DirectX eine Rolle spielen wird.

Ob die Sprache für Anfänger geeignet ist oder nicht, hängt von der jeweiligen Person ab. Für mich war es keine Schwierigkeit die ersten Schritte damit zu machen oder einfache Anwendungen zu schreiben (und es ging über die damalige Schul-Informatik sehr weit hinaus). Ich weiß aber auch, dass es für viele Probleme darstellt. Es eignet sich eben nicht jeder als Programmierer.

0

Es wird viel übers Programmieren diskutiert.

Allerdings es gibt grundlegende Punkte, die keiner streiten kann. Um ein richtiger Programmierer werden zu können braucht man mathematische und logische Fähigkeiten. Eine Affinität zu Fremdsprachenlernen ist von Vorteil.

In der Unis, sogut ich mich erinnern kann, wird die Programmiersprache C bzw. C++ als Grundlage fürs Programmieren eingesetzt.

Wenn Du diese Grundsätze beherrschst, wird Dir die Tore für die Welt der Programmierung leichter geöffnet.

Zum Schluss möchte ich es nicht ausschließen, dass es Quersteiger gibt, die es in idealer Zeit schaffen, als Profiprogrammierer zu gelten. Wie sie es schaffen, nur Gott weiß es )