Dies gestaltet sich kaum anders als bei normalen C#-Programmen. Für die Serveranwendung solltest du mit ASP.NET arbeiten. So kannst du einfach auf die Requests des Client reagieren. Wenn es bei dieser Anforderung bleibt, würde sogar ASP Web Forms völlig ausreichen und wohl auch am schnellsten umzusetzen sein.

...zur Antwort

Lege einfach zum Start ein Array mit der Größe eines Elements an.

int* numbers = malloc(sizeof(int));

Mit jeder neuen Zahl, die zum Array hinzukommen soll, vergrößerst du das Array einfach wieder um ein Element (realloc).

Oder du setzt anfangs schon eine größere Startgröße (bspw. von zehn Elementen) und vergrößerst nach zehn zugefügten Elementen das Array wieder um eine bestimmte Anzahl an Speicherplätzen.

...zur Antwort

Worum geht es? Objekte sollen von einem Punkt zu einem anderen patrouillieren oder wie? Beschäftige dich in dem Fall mit dem A*-Algorithmus.

...zur Antwort

Welche Befehle konkret meinst du? Die Funktionen und Klassen der Standardbibliothek? Die musst du nicht zwingend auswendig können. Wenn du dir die Parameterliste bestimmter Funktionen, die du aber häufig verwendest, nicht einprägen kannst, dann setzte dir im Browser ein Lesezeichen auf die jeweilige API-Dokumentationsseite.

Wenn du Probleme hast, dir Keywords und Standardkonstrukte (z.B. Schleifen) zu merken, musst du diese noch weiter üben und ständig auffrischen. Wenn du eine Sprache wie Französisch lernst, merkst du dir Vokabeln schließlich auch nicht mit einem Mal, sondern es kann vorkommen, dass du, wenn du weiter vorangeschritten bist und erneut auf sie triffst, sie bis dahin wieder aus deinem Kurzzeitgedächtnis verschwunden sind.

Möglicherweise hilft dir zum Üben eine Seite wie diese.

...zur Antwort
Node.js vllt? Oder HTML5?

Es gibt hier kein oder bzw. beide Technologien kannst du nicht gegenüber stellen, denn nodejs läuft serverseitig und HTML(5) ist die Markupsprache, mit der dein Seitenaufbau beschrieben wird. Das sollte in allererster Linie klar sein.

Also was brauche ich da für einen Server und welche Technologie soll ich dafür nutzen?

Ein nodejs-Server wäre hier, nicht zuletzt wegen der Performance, schon eine gute Wahl. Für die Clientseite kommst du an einem HTML-Dokument kaum vorbei, für das View würde ich wohl ein Canvas-Element nutzen. Zur schnellen Kommunikation zwischen Server und Client solltest du WebSockets verwenden oder zumindest Comet-Techniken wie long polling mit AJAX.

(...) dass da meinetwegen 15.000 Leute parallel Pixel anklicken können (...)

Angenommen, du würdest überhaupt so viele Nutzer mit einem Mal erreichen, wären mehrere Server schon angebracht. Außerdem solltest du dir generell überlegen, wie du die vielen Requests handhaben möchtest, die auch nur durch 10 Nutzer ausgelöst, auf den Server abgefeuert werden können. So etwas kann man mit verschiedenen Strategien versuchen, zu reduzieren. Zum Beispiel könnte man Requests bündeln (bspw. 1 Request alle 10 Klicks / Sekunden) oder Nutzer in ihren Fähigkeiten begrenzen.

...zur Antwort
(...) für Androide und apple, also nicht die Systemeigenen Programmiersprachen.

Auch wenn du für beide Plattformen entwickeln möchtest, schließt es die systemeigenen Programmiersprachen an sich nicht aus, nur dass du die Anwendung dann eventuell zweimal entwickeln müsstest.

Objective-C kann mit Cocos3D evt. auch Android bedienen - wie aktuell dies noch ist, kann ich nicht sagen.

Im Falle von Java gibt es neben der Multi-OS Engine auch einige Tools, die beide Plattformen erreichen:

  • libGDX
  • jMonkeyEngine
  • PlayN (GitHub-Projekt)
  • FXGL (2D)
  • OGRE (seit Version 1.10.8 sind die Java Bindings wohl sogar fest integriert, lies dazu hier).

Alternativ zu Java würde ich wohl C#, Lua, JavaScript, QML/C++ oder Python in Betracht ziehen. Zu all diesen Sprachen gibt es Frameworks oder Engines, die die Programmierung von Spielen für Android und iOS unterstützen / vereinfachen.

  • C#: Unity3D, mit Xamarin und 3rd-Party-Libraries
  • JavaScript: kiwiJS, Phaser, MelonJS, Quintus, Backbone, usw.
  • Python: kivy, PyGame, Ignifuga
  • Lua: Corona
  • QML / C++: V-Play

Dabei gehören in dieser Auflistung wohl Lua und Python zu den am einfachsten erlernbaren Sprachen.

Grundsätzlich ist allerdings anzuraten, dass du dich erst mit den Grundlagen der gewählten Programmiersprache befasst, bevor du auch nur daran denkst, ein Spiel zu beginnen bzw. eines der oben genannten Tools zu installieren. Dies senkt das Risiko, dass du an deinen dir gesetzten Projektzielen scheiterst oder andere schlechter Software ausgesetzt werden.

Soll ich dafür OpenGL verwenden. (...)

Welche Ressourcen du letztendlich für deine Projekte benutzt, solltest du selbst entscheiden. Prüfe in so einem Fall gegen, was du überhaupt benötigst und was nicht.

Ist C++ dafür geeignet.

Ja, du kannst auch mit C++ Spiele entwickeln. Oben habe ich bewusst die etwas einfachere Kombination mit V-Play und QML benannt, doch es gibt auch Engines wie die Unreal Engine 4, Cocos2D oder Ogre3D.

Wie muss ich das angehen mit dem Programmieren wenn ich ne Idee habe (...)

Lies hier.

PS.: Fragesätze werden mit einem Fragezeichen beendet.

...zur Antwort
  1. Öffne das Startfenster in der Main-Methode.
  2. Ordne dem Button einen Event-Handler (OnClick) zu. In dem öffnest du das nächste Programmfenster. Zum Schließen gibt es die Methode Close. Arbeite mit der Dokumentation.
...zur Antwort
  • https://docs.microsoft.com/de-de/dotnet/visual-basic/
  • https://msdn.microsoft.com/de-de/library/bb979414.aspx
...zur Antwort

Nicht nur dein Fragetitel ist unverständlich, dein Text ist es ebenso. Bearbeite ihn nochmals. Behebe die Grammatikfehler und überlege dir, wie du dich besser ausdrücken kannst.

...zur Antwort

Dimension ist eine AWT-Klasse. Der Import dazu fehlt noch:

import java.awt.Dimension;

(oder pauschal: java.awt.*).

...zur Antwort

Nutze Escape-Sequenzen wie \n.

Beispiel:

Console.WriteLine("\n\n\n");
...zur Antwort

Als Anfänger solltest du prinzipiell erst einmal die Grundlagen einer Programmiersprache lernen. Erst mit genügend Kenntnissen solltest du dich mit Spielen beschäftigen, andernfalls ist die Erfolgschance eher gering. Von einer Game Engine wie Unity3D würde ich für den Anfang daher auch abraten. Sie ist eher für Programmierer, die in die Spiele-Entwicklung einsteigen möchten - nicht für Einsteiger, die noch gar keine Erfahrung haben.

Als Programmiersprache empfehle ich sehr gern Processing, da die Sprache extra für Designer konzipiert wurde, einen einfachen Einstieg in die Programmierung zu erhalten, jedoch dennoch schnell grafische Erfolge erzielen zu können. (Was nun nicht bedeuten soll, dass es wie bei Scratch grafische Spielerei wäre!) Schau dir ruhig ein paar Beispielprogramme an, die mit Processing bereits erstellt wurden.

https://www.openprocessing.org/browse/#

Mit Processing solltest du daher auch recht früh mit einfachen Spielen wie Pong, Breakout, Game Of Life oder Snake umsetzen können.

Weitere Tipps zu der Sprache und Alternativen habe ich hier schon einmal vorgeschlagen. Am besten lernst du das Programmieren, wenn du viel praktisch versuchst und dich in Problemlösungen übst, selbst viel recherchierst und dabei bestenfalls auf vertrauenswürdige Quellen setzt (dies sind meist Bücher oder die offizielle Dokumentation des Entwicklers).

...zur Antwort

Die Wartebank braucht einen Zugriffspunkt auf alle Helden, bspw. via Array / Liste / .... Diese kannst du dann mittels Schleife durchlaufen, um nach dem Held mit dem gegebenen Wert zu suchen.

Pseudocode:

for hero in heroes
  if hero.name eq nameOfHeroSearchedFor
    return hero
return null

Das Suchverfahren entspräche einer linearen Suche. Optimieren kannst du dies, indem du Helden beim Einspeichern in die Liste bereits richtig einsortierst. Dann könnte eine binäre Suche eingesetzt werden.

Bezüglich des Sortierens hilft dir der Wikipedia-Artikel zu Sortierverfahren weiter. Einfach wäre der Bubblesort zu implementieren. Effektiver sind Verfahren wie Quicksort oder Mergesort.

...zur Antwort