Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von bluedragon
Thema: Eine sinnvolle Basis für ein (beliebiges)gutes Browergame
Am im Forum: Rund um die Programmierung

Zitat von Abt
Und mit einem Wasserfallmodell übernimmst Du Dich in der Ressourcen-Planung ganz schnell.
Wie gesagt, deshalb ja kein Wasserfallmodell :D
Zitat von Abt
malignate sagt das schon richtig und Du musst das schon ernst nehmen.
Tue ich doch, sonst wäre ich nicht hier -.-
Zitat von Abt
Und auch wenn Webanwender immer wieder belächelt werden: es ist um längen komplizierter als eine App oder eine Desktopanwendung.
Wie gesagt, ich habe bereits 2 Projekte fertiggestellt. Eine App fürs iPhone und ein Browsergame mit PHP/HTML/CSS/(My)SQL/JavaScript und langsam will ich mich auch nichtmehr wiederholen müssen.
Klar sind die Beiträge lange, aber es ist nicht nur ein Error-Code um den es hier geht, also wäre es doch nur fair vor einer Antwort die Nachricht des Gegenübers ernst zu nehmen und komplett zu lesen oder ? :S
Zitat von Abt
Du musst das alleine alles drauf haben und das ist selbst mit zig Jahren im Web und Erfahrung kaum zu schaffen. Und wenn Du jetzt erst mit Web anfängst und dann auch noch mit WebForms; dann muss man Dich einfach etwas bremsen - sorry.
[...]
Du glaubst gar nicht, wie viel Aufwand in so einem Ding steckt. Ich denke das unterschätzt Du ziemlich.
Wir helfen Dir; versuchen aber auch Dich auf den Boden zu halten. Manchmal muss man die Erfahrung aber halt auch selbst machen.
Bremsen kann ich ja noch nachvollziehen, aber ich weiß nicht, für mich ließt sich das hier mehr&weniger wie eine Vollbremsung noch bevor ich wirklilch angefangen habe und das finde ich einfach schade :/
Zitat von Abt
Du musst erst mal ein Mock (Klickstrecke) erarbeiten.
Wenn es sich schei*e spielen lässt, dann kannste auch 10 Jahre entwickeln: wird halt nicht genutzt.
Ja das stimmt absolut, deshalb quetsch ich euch aus, bis mir keiner mehr antworten will oder ich alle Antworten habe , die nicht durch eigenrecherche auffindbar waren*gg*
Zitat von Abt
Und ich wiederhol mich gerne: WebForms ist die falsche Technologie.
Du begründest das aber nicht !? Immerhin steht bei der ganzen Literatur die ich bisher darüber gelesen habe, dass es gerade genau für mein Vorhaben geeignet ist.
Oder ich verstehe einfach nicht, warum du der Meinung bist das Web Forms das Falsche sind.
Zitat von Abt
Aber Du darfst Dir hier keinen Mentor erhoffen.
Das tue ich auch nicht, ich habe auf Leute gehofft die sich so sehr dafür interessieren wie ich, anstatt nur nebenbei semantische Nachteile meines Vorhabens aufzuzählen :(
Hätte ich nämlich das Wissen, sodass ich mir hier sämtlich Fragen erübrigen könnte, dann fänd ich es toll meine Erfahrungen an andere weiterzugeben auf so einem Portal. Aber das muss ja jeder selber wissen^^
Zitat von Abt
Dein Text ist wirklich sehr sehr sehr lang. Wenn das 10 Leute durchlesen ist das viel.
Das ergibt doch überhaupt keinen Sinn.
Entweder man nimmt hier dran Teil&nimmt es ernst(so wie du es zu mir meinst) oder man lässt es gleich ganz. Trotz meiner ernstgemeinten Entschuldigung kann ich auf Mitleser verzichten , die nur eine Morgenlektüre zwischen Kaffee und Aufbruch zur Arbeit wollen.

Wieso muss das hier eigentlich in Off-Topic ausarten ....
Zitat
Wenn ich eine Liste von "Technologien" nennen sollte (Das ist jetzt ein bunter Haufen), die ich verwenden würde, dann würde ich folgendes nennen:

C#
ASP.NET MVC
ASP.NET WebAPI
Owin / Katana
Owin Identity Framework
Async/await Tasks
Javascript
Angular
Angular-UI
Bootstrap
CSS, LESS
MongoDB
JSON
Redis
SignalR

Du siehst die Liste ist lange. Wenn du Durchschnitt nur ein Monate mit Lernen pro Punkt verwendest, bist du das erste Jahr schon beschäftigt ;)

Okay gut danke , ja einiges davon ist mir geläufig, manches gar nicht.
Zitat
Wo du vor allem daneben liegst ist alte Technologien wie IIS6 und WebForms zu verwenden.
Interessanter Einwand. Denn bei jeder Recherche via Google kam nur die eine Seite der Münze. Nachdem ich jetzt explizit nach "warum sind webforms veraltet?" gegoogled habe wird dein Punkt sofort mehrfach bestätigt, aber leider ohne Begründung.
Ich finde nur weil etwas alt ist muss es nicht schlechter sein oder weil etwas neuer ist muss es nicht besser sein, wie man bei vielen Linux packages sehen kann :D

lG
hoffi

Thema: Eine sinnvolle Basis für ein (beliebiges)gutes Browergame
Am im Forum: Rund um die Programmierung

Zitat von malignate
Verabschiede dich von dem Gedanken irgendwas planen zu können mit deinem Wissenstand.
Naja ich bin durch aus lernwillig ^^
Zitat von malignate
Schritt 1: Du fangst dann einfach mal an, hackst den Code runter und lernst viel dabei. Irgendwann wirst du dann deinen zuerst geschriebenen Code anschauen und feststellen, dass alles Müll ist und viel besser gelöst werden kann. Eventuell wirst du Performance-Probleme oder Designfehler in deiner Architektur feststellen. Du hast zwar das Gefühl du wärst schon sehr weit, bist aber maximal bei 5%. Also fangst du von vorne an.

Schritt 1.1: Das spiel wiederholt sich, du machst 5,6 Iterationen und lernst viel dabei.

Schritt 2: Irgendwann passt eine Iteration. Mit viel Motivation kommst du über die 5% hinaus und schaffst sogar die 100%. 3 Jahre später bist du dann vll. fertig. Eventuell spielt dann niemand mehr auf dem Browser, aber das ist ein anderes Thema.
Klingt für mich nach einem standart Wasserfall Modell. Aber das ist zum kotzen und auch wenn die einzelnen Modelle nur die Durchführung beschreiben und man sich prinzipiell nicht daran halten muss.

Generell wollte ich mich aber mit Prototypes in einem Spiralmodell an die Sache annähern, sodass ich nach dem Basis-Moduls des Spiels nach&nach modular Funktionen anbaue, die aber gekapselt testbar sind.
Ich habe durchaus die Erfahrung gemacht, dass bei einer scharf vertikal gerichteten Architektur einiges schief gehen kann. Natürlich lässt sich das nicht komplett vermeiden.
Nur werde ich sicher nicht 0815 'drauf los hacken' , sondern solide mit vorhandenen Mitteln das Projekt strukturieren, bis mir nichtmehr auffällt.
Einfache Ansätze:
  • Klassendiagramm
  • Kollaborationsdiagramm als Vorlauf für Sequenzdiagamme
  • evt. Use-Case-Diagramm
  • Zustandsdiagramm
  • evt. Aktivitätsdiagramm je nach Komplexität des Anwendungsfalls

Zitat von malignate
Mein Tipp: Fang einfach an und hoffe, dass du genug Durchhaltevermögen und Motivation hast, das zu Ende zu bringen.
Naja klingt etwas zynisch und finde eure Einstellungen schade.
Ich bin mir des Aufwands durchaus bewusst und das habe ich im ersten Beitrag genauso bewusst geschrieben.
Ich habe bereits im Alleingang 2 Spiele entwickelt, die nicht nur gerade der Trend-Idiotie, 95% aller Apps in den Stores oder sonstigen Anwendungen im Web, folgen.
Nun wollte ich gerne auf Web Forms umsteigen und sämtliche Dokumentation von MSDN überzeugt. Vor allem im direkten Vergleich zu Webanwendungen glänzen Web Forms für meine Bedürfnisse.

Und ich verstehe auch nicht wieso ich immer wieder Einwände darüber hören muss.

Ich dachte hier will man sich gegenseitig helfen und nicht runterziehen, dass etwas zu aufwändig wäre. Klar ist es aufwändig und kostet Zeit. Aber wer zu faul ist sich nach der Arbeit damit zu beschäftigen ist selber Schuld und findet immer eine Ausrede , warum 'jetzt gerade weitermachen' zu anstrengend ist.
Zumal ich auch während der Arbeitszeit effektiv an dem Projekt sitzen kann/werde.

Also ihr könnt mir gerne alles aufzählen wo ich sachlich gesehen völlig daneben liege, aber bitte schert nicht alle Threadersteller hier bzgl. großer Projekte über einen Kamm, danke.

Thema: Eine sinnvolle Basis für ein (beliebiges)gutes Browergame
Am im Forum: Rund um die Programmierung

Danke für die vielen Antworten, ich hab mir Zeit gelassen mit dem Beitrag um es so gut wie möglich zu beschreiben, damit ihr mir auch spezifisch euer Expertenwissen um die Ohren hauen könnt
Und zunächst möchte ich mich erst einmal entschuldigen, ich hab überreagiert :S .
Natürlich braucht ihr speziellere Infos wie ich es selber angehen würde, dann könnt ihr auch Kritik üben/Tipps geben/Verbesserungen vorschlagen *gg*

Abt & Coder007 haben aber schon die richtige Richtung eingeschlagen, in Bezug auf das worauf ich hinaus möchte

Alsooo noch mal alles auf Anfang, ich versuche so lückelos wie möglich mein Vorstellungen von dem Ganzen offen zu legen, ohne gleich ein Buch zu schreiben:

1. Grobe Anforderungen an die Anwendung
Ich möchte ein textbasiertes Multiplayer Kriegssimulations Spiel von mir neu aufsetzten.
Das Spiel wird mehrere Server/Welten/Runden mit unterschiedlichen Konfigurationen (Spielgeschwindigkeit, etc.) parallel bedienen.
Die Anwendung soll plattformunabhängig über jeden Browser spielbar sein.
(später sollen User eigene Runden (nicht-/endgeldlich) hosten können)

2. Programmier-/Sprachen & Plattformen
Ich möchte gerne mit Visual Studio arbeiten, weil ich mit dem System sehr vertaut bin.
Am bewandertsten bin ich im Bereich C#/.NET und dazugekommen sind dann irgendwann ASP.NET & X(A)ML.
Davor habe ich immer mit PHP/CSS/JS/HTML(5 seit kurzem) gearbeitet für zielgerichtete Webanwendungen, aber ich merke, dass ich mit C#/etc. viel schneller bin und deshalb möchte ich umsteigen und das vorerst am eigenen Projekt ausprobieren, bevor ich das professionell für Kunden anwende.

ASP.NET Web Forms+HTML5 für das Front-End aus 3 einfachen Gründen:

  • Server Controls, WebParts, Directives, ViewStates, Benutzterverwaltung
  • Plattformunabhängigkeit
  • Kompatibilität zu C#/.NET Back-End
Ein Bonus ist hier noch das Upgrade von ASP.NET in letzter Zeit und die Unterstützung von WCF Diensten.

Mir steht hauseigene Hardware zur Verfügung, darauf IIS6.0(und das WinServer2003 System kann gerne beliebig erweitert werden), um die Web Forms überhaupt zum laufen zu bekommen.
Dadurch, dass ASP.NET kompiliert und nicht interpretiert wird, brauch ich mir auch wenige Sorgen über Konformitäten machen. Es muss nur das .NET Framework auf meinem Server bereitstehen und der User brauch einen beliebigen Browser.

3. Feine Anforderungen an die Anwendung Front-End
-Der User kann sich auf einer Startseite registrieren/einloggen.
-Der User kann sich im Usercockpit die Server anschauen auf denen er gerade spielt/anfangen möchte zu spielen. Übersichten/Statistiken anzeigen, Profil bearbeiten, etc.
-Der User kann sich dann auf bestehenden Servern/Welten per OneClick einloggen/anfangen zu spielen.
-Der User kann dann Wirtschaft betreiben, anfangen Technologien freizuschalten und Truppen zu erstellen
-Der User kann durch Angriffe auf andere Spieler Materialien klauen oder das System des anderen Erobern, um sein Imperium weiter auszubauen
-Der User kann Freundeslisten erstellen und Allianzen beitreten/gründen mit entsprechender Oberfläche
-Der User wird je nach Rundeneinstellung mit einer KI zurecht kommen müssen, die sowohl Quest bereitstellt , als auch Attentate auf Spieler durchführt und für Spieler angriffstechnisch interaktiv ist (z.B. Rohstoffe erbeuten, das System erobern).

-Es wird eine Weltkate geben, die die Positionen der jeweiligen Spieler darstellt. In Kombination kann man sich verschiedene Anzeigemöglichkeiten zusammenstellen(Verbündete/Feinde/Freunde/Allianzmitglieder markieren, wichtige/strategische Punkte mit Notiz setzten, etc. ). Und das soll schon in Hinblick auf Grafik das Aufwändigste am ganzen Spiel sein


4. Feine Anforderungen an die Anwendung Front-End-Back-End-Grauzone
Durch die active Server Controls werde ich versuchen den Verkehr möglichst wenig zu belasten und ohne Umleitung die meisten Dinge abzufragen, so wie auf die Bestätigung durch modale Dialoge verzichten. Sondern entsprechende Einblendungen via CSS ansteuern, wenn es durch das Back-End bestätigt ist -sofern nötig. (So zumindest das grobe Vorhaben)

5. Feine Anforderungen an die Anwendung Back-End
-die Registrierung und den Login könnte ich mir vorstellen über die VS Vorlage zu realisieren. Natürlich muss ich es noch für meine Bedürfnisse erweitern, aber das stelle ich mir nicht all zu schwierig vor.
Ich habe schonmal in einer kleinen Sandbox damit rumgespielt und fand den Einstieg recht vielversprechend.
Was meint ihr dazu ? Gibt es gute Alternativen ? Ich muss nicht unbedingt das Rad neuerfinden
-durch den hohen Anteil an Wirtschaft und Truppenbewegungen wird kontinuierlich mehr Belastung bei der Ausführung der Berechnungen entstehen. Zumal ich nur indirekt beeinflussen kann, wann die Spieler aktiv sind. Deshalb wird es häufiger zu Belastungspunkten kommen, wenn ihr wisst was ich meine ^^ Ich kann natürlich die Algorithmen aufs Minimum verfeinern, aber auch da stößt man doch auch irgendwo an seine Grenzen oder?
-die komplette Spiel Mechanik/Architektur werde ich mir selber zusammenbasteln und vermutlich bereits vorhandene Bibliotheken von mir nutzen, fortlaufend mit C#/.NET arbeiten
-ein wesentlicher Punkt wird sein, die regelmäßige Streuung von NPCs und deren Interaktion mit den Spielern. Hier kommt für mich WCF ins Spiel. Da die Anfrage für Attentate & Quest zufällig generiert wird und auch das nur unter bestimmten Umständen -eben auf Anfrage.-, aber das Schema wird immer das selbe bleiben. Oder ist das unnötig ?



5. Datenverwaltung
Dadurch, dass die Anwendung auf meinem WinServer läuft wollte ich einfach auf den MS SQL Sever zurückgreifen, den ich einfach in der Systemverwaltung hinzufügen kann. Bin mir wegen eurer Einwände nicht sicher, ob es nicht eine bessere Möglichkeit gibt und sollte mir nochmal Gedanken über die Skalierbarkeit machen.
Ich muss sagen da habe ich in der Vergangenheit lästige Punkte entdeckt.

Eventuell könnte ich die stupide aber doch sehr große Datensammlung von Koordinaten über ein GIF lösen.
Da wären die ersten beiden Kanäle mit Koordinaten bis zu 250 (es gehen bis zu 256, aber ich verzicht auf 6 bit für die einfachere Handhabung der Zahl) drin zu speichern und den dritten Kanal kann ich für die Art der Koordinate festlegen.
z.B.Grasland (0), Hügel (1), Wald (2), NPC Stufe 1 System (3),NPC Stufe 2 System (4), NPC Stufe 3 System (5), Spieler Stufe 1 System(6), Spieler Stufe 2 System(7), etc...
Im 4. Kanal kann ich dann bis zu 256 Farbbelegungen anlegen, für die jeweiligen Felder & Markierungen.
256 sollten im 3. & 4. Kanal vollkommen ausreichend sein.
Selbst wenn ich für den 3. Kanal berücksichtige , dass viel mehr Elemente hinzukommen, teilweise für die Landschaft angepasst/gedreht sein müssen -damit die angezeigte Karte nicht fehlerhaft aussieht- dann kann ich immernoch unter der Grenze von 256 verschiedenen Elementen für die Karte bleiben.^^

Dann muss ich das GIF/die GIFs nur in sinnvolle Anzeige-/Ausgabe-Formate mappen und entsprechende Ausschnitte(je nachdem wo sich der User gerade auf der Karte befindet) zusammenlegen.
Einmal mappen in eine Minimap mit den intuitiven(&selbstdefinierten) Farben für den weitreichenden Überblick über die Weltkarte.
Und einmal mappen für die herangezoomte Ansicht eines kleinen Kartenausschnitts. Dabei soll die Zoomstufe von der Anwendung aus vorerst nicht skalierbar sein. Allerdings können die Größen der Ausschnitte von Karte&Minimap vom User festgelegt werden. Das beeinflusst aber nur das Mapping zur Anzeigen, nicht das eigentlich Quell-GIF.

Im Anschluss kann ich für verschiedene Nutzer die selbe Quelle gebrauchen, weil sich zu 100% manche Einstellungen überschneiden werden, das liegt alleine schon daran, dass bei jeder neuen Runde die Standarteinstellungen geladen sind.

Und kurz vor der Ausgabe muss ich nochmal den Einzelfall betrachten, der eigenen Systeme, die müssen am Ende noch drübergemalt werden, da die Speicherung in dem dritten Kanal zur Folge hätte, dass sich keine Quellen überschneiden würden.

Das Workaround mag erst Arbeit bereiten, aber das ungemappte GIF muss ja nur dupliziert&angepasst werden, wenn ein Spieler eine Einstellung vornimmt. Oder spare ich unterm Strich Nichts?
Sind jetzt aber z.B. 3 Spieler in der selben Allianz (und es wäre blau makiert), dann könnte jeder auf das selbe GIF zugreifen und es muss nicht lange herumgerechnet werden an welchem Platz blau/rot/grün/... sein muss.

----

Ich finde das reicht erstmal.

Jetzt an euch, was übersehe ich und wo erzähle ich totalen Unsinn ?(
(den Part mit der Verschlüsselung können wir erstmal bei Seite legen)

lG
Hoffi

Thema: Eine sinnvolle Basis für ein (beliebiges)gutes Browergame
Am im Forum: Rund um die Programmierung

Achso, vllt verstehe ich deinen Eindruck einer "Wunschliste".
Mir ging es eher um die Rahmenbedingungen. Mich nerven diese Threads wo man erstmal 20 Beiträge lang klärt wer über was Bescheid weiß und worum es überhaupt geht.
Das artet oft und Grundsatzdiskussionen aus.
Ich sehe kein einziges Thema, dass Mal ganz solide zusammenfasst was ich eigentlich suche. Man muss sich alles doppelt und dreifach zusammnesuchen und hat nach kurzer Zeit ausschließlich äquivalente Basis-Infos, bis man Mal wieder was gutes findet.

Also können wir doch die Initiative ergreifen und selbst so einen Thread produzieren, oder?

Ich werde sicherlich auf eure Ideen eingehen und nicht einfach nur alles aufsaugen.
Für mich dient so ein Forum doch zu Generierung genau solch einer Dynamik.
Tut mir Leid wenn ich den Nutzen eines Forums falsch verstanden habe

Thema: Eine sinnvolle Basis für ein (beliebiges)gutes Browergame
Am im Forum: Rund um die Programmierung

Schade, die Antwort habe ich erwartet und das zeigt mir pers. , dass du den Hintergrund nicht verstehst.
Ich will kein Basiswissen.
Ich möchte Expertenwissen.
Keine X-beliebigen Links, die man nach einer Stunde googlen selber findet.

Es ist auch keine Wunschliste. Sondern der inständige Versuch im Vorfeld alle Optionen auszuschöpfen und ich weiß aus eigener Erfahrung, dass es durch aus mitteilungsbedürftige User gibt, die mir gerne weiterhelfen wollen und die gerne lange Texte schreiben wenn Sie das Thema interessiert^^

Und ich lese mir nicht nochmal "Wie poste ich richtig?" durch, denn das habe ich nach meiner Erstanmeldung vor Jahren.

Sei mir nicht böse , aber gibts auch einen Beitrag für "Wie lese ich richtig?"....

Warum soll ich das Rad neu erfinden ? Zeitverschwendung, denn ich verstehe mein Handwerk, schau mir aber gerne neues Werkzeug an und heutzutage kommt alle paar Tage ein neues Produkt raus ;)

lG
blu3

Thema: Eine sinnvolle Basis für ein (beliebiges)gutes Browergame
Am im Forum: Rund um die Programmierung

Hallo Community,
ich möchte gerne vorweg nehmen, dass ich schon relativ grobe Literatur zu dem Thema gefunden habe. Auch Videos auf der Seite http://www.microsoftvirtualacademy.com waren sehr aufschlussreich.

Nun möchte ich, bevor ich mein Projekt hinsichtlich geschriebenen Codes von Grund auf angehe, nochmal euren Rat einholen in Hinblick auf die verschiedenen Möglichkeiten.

Ich hatte mir überlegt eine Kombination aus
-C#/.NET
-ASP.NET
-WCF+X(A)ML
zu wählen. Mit C# und einem großen Teil der .NET-Lib bin ich aufgewachsen und hab von da an ständig weiter gemacht.
Nur möchte ich mich vergewissern, dass ich nicht sinnvollere Methode verpasse, um schneller/effektiver/qualitativ besser an mein Ziel zu kommen.

Zuerst hatte ich mich an eine App fürs Win8 Phone entschieden, doch ein Spiel über den Browser kann man auch auf dem Handy zocken und eine "Mobile"-Version kurz nach dem ersten Release rausbringen.
Zudem bereitet den meisten Leuten die Flexibilität Freude, dass sie dann auch gemütlich am PC sitzen und spielen können(ohne einen doofen Emulator zu benutzten). Aber das können die Leute dann ja mit sich selber ausmachen =D

Dadurch, dass ich schon für den Apple-Store eine App rausgebracht habe, wird mir die Erweiterung dorthin später auch nicht schwerfallen, falls die Zielgruppe eine "Mobile"-App 'wünscht'.

Nun gut, also ich möchte ein Multiplayer fähiges Browsergames schreiben.
Ich bin mir des Aufwands zu 100% bewusst.
Die Arbeit mit den verfeinerten Grafiken werde ich auf alle Fälle outsourcen. Zu einem Teil weils mir nicht liegt und andererseits, weils mir keinen Spass macht/andere Leute Spass daran haben und gerne Geld damit verdienen.

Ein Multiplayer fähiges Browsergame hab ich vor ein paar Jahren auf Basis von PHP/HTML/CSS/(My)SQL/JavaScript geschrieben und ich möchte meine alte Version in einem Remake neu rausbringen. Nur eben mit mindestens C#/-.NET.

Hardware als eigener Server steht mir auch zur Verfügung. Unter der Vorraussetzung, dass das Spiel irgendwann bekannter wird und die Userzahlen monoton steigend sind, werde ich das Projekt wohl als Software ins Netz tragen. Einfach damit die Sicherheit gegeben ist (oder aber ihr habt dort auch noch Tipps zur Hochsicherheit , zuästzlich SSL^^)

Und hier kommt ihr ins Spiel :P ->

Ich würde gerne von euch unter gegeben Umständen um passende Tipps bitten.:
-ich bin fortgeschrittener Nutzer von VS10 bis 13
-ich lerne sehr schnell und gerne neue Themen, die im Bezug zur Sache stehen
-wie gesagt C#/.NET sollte die Grundlage sein, alles dazugehörige/kombinierbare schaue ich mir gerne an

-ich möchte ein Multiplayer fähiges Browsergame schreiben, dass pro Spielwelt eine Userzahl von (im späteren Verlauf) 500-8.000 problemlos handhaben kann

-es müssen viele Berechnungen stattfinden, dementsprechend wollte ich auf meinem Server einen eigenen Cronejob o.ä. ablegen/programmieren (dazu bitte auch Tipps wenns geht :) )

-ich möchte den Datenverkehr ordentlich verschlüsseln und nicht einfach nur so WischiWaschi durchs Netz schicken. Ich hab Erfahrung mit Krpytographie, würde mir dort aber auch nochmal gerne Expertenwissen einholen

-Animationen sind erstmal gar nicht so wichtig und kleine Bewegungen von Grafiken sind gar kein Problem, der größte (grafische) Aufwand wird eher noch die Weltkarte sein, dass das dann alles aneinander passt (im Rastermuster automatisch generiert)

-die Datenbank wollte ich in einem MS SQL Server verwalten

Wenn ihr neben euren eigenen Tipps noch externe Links habt, ist das auch super, vielleicht kreuzen sich ein paar mit meinen schon Besuchten, aber das ist egal. Vorziehen tue ich dabei Videos, dann kann ich immer noch nebenbei was machen.
Aber alles andere ist auch i.O. , solange es mich weiter bringt ^^

Gibt es sowas wie eine Projektverwaltung, wo ich einfach verschdiene Etappen mit "ToDo's" belegen kann und dann abharken, wenn die Aufgabe erledigt ist etc.? (ich hoffe ihr wisst was ich meine^^)

lG
blu3

PS.: ich weiß, dass es den perfekten Start und Fortlauf in einem Projekt nicht gibt, aber ich kann zumindest versuchen alle Fehler zu vermeiden, die sich vermeiden lassen ;)

Thema: Wie List<T> nach bestimmten Kriterium sortieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wenn ich mich Recht entsinne, dann meinte der Buchautor das in etwas so(kein Wortlaut oder Zitat, sondern eine sinngemäße Reflexion):
Ein Prototyp einer Methode (Delegate) ist nur eine temporäre Methode, die als solche nicht wirklich existiert sondern nur einer kurzen Funktion dient. Das Verlangen der Funktionsweise lässt es zu keine permanenten Methode notwendig zu machen.
Daher wird temporär ein Prototyp einer sonst exestierenden Methode erstellt, benutzt und wieder verworfen, da diese Methode nur diesen einen Moment einen Existenzgrund hat.

So in etwas würde ich 4-5 Seiten zusammenfassen.


Ich hoffe jetzt wird meine Frage aus dem letzten Beitrag klar

Wenn nicht hier nochmal in Kurzform: Was erlaubt es mir eine Delegate als Parameter an Sort() zu übergeben, wenn mir die Lib von MVS doch 4 ganz andere Konstruktoren preisgibt ?

lG bluedragon

Thema: Wie List<T> nach bestimmten Kriterium sortieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich muss erneut über die Hilfsbereitschaft stauen , die ihr hier wie immer an den Tag legt.Ein erneutes Danke sehr !

Nun fällt es mir wesentlich leichter zu verstehen was das ganze bedeutet und wie es funktioniert. Bzw. es ist mir überhaupt möglich zu verstehen was in dieser Zeile passiert.
Als ich mit C# begann hab ich mir das Buch "C# .NET mit Methode" von Heinrich Rottmann mehrmals durchgelesen und nie wirklich den Part mit den Delegaten verstanden. Das einzige was sich bei mir in den Kopf "gebrannt" hat, war zu diesem Thema das Stichwort "Prototyp" und desshalb ist mit euren beiden Lösungen die ganze Zeit bei mir im Kopf ein Zwiespalt enstanden, denn ich wusste nicht wie ich den möglichen Parameter "Comparison<Chatter> comparison" (den mir die Lib von MVS anzeigt) mit einem Prototyp in Verbindung bringen sollte :-(

Und ehrlich gesagt ist das lediglich die einzige Frage die ich noch habe, denn MSDN gibt darüber leider keinerlei Aufschluss. Warum funktioniert "das Ganze" ? Warum kann man eine Methode als Vergleichslogik an die Methode Sort() übergeben ?

Ich meine ich verstehe nun eure beiden Beispiele , bis auf die Tatsache das diese als Parameter an die Sort()-Methode übergeben werden können. Weil für mich ist es einfach nicht schlüssig, dass der Prototyp einer Methode mit einem Comparison<Chatter> - /IComparable<Chatter>-Objekt gleichziehen kann :-(

Tut mir auch Leid falls ich nerve und meine Frage für euch etwas elementares sind, aber ich möchte es gerne, wie vorhin schon erwähnt, verstehen und nicht einfach nur hinnehmen.
Und wie ebenfalls schon erwähnt gibt MSDN leider keinen Aufschluss darüber.

Es würde mich wirklich freuen, wenn sich noch einmal wer die Mühe gibt mir dieses partitielle Problem zu erklären

lG bluedragon

ps: bin wie immer für alle möglichen Verweise offen, die mir richtigen Aufschluss geben können

Thema: Wie List<T> nach bestimmten Kriterium sortieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke für eure Hilfen, muss aber ehrlich sagen das ich eure beiden Lösungen immernoch nicht verstehe, mir nun aber selber helfen konnte durch eure Stichwörter. Ich habe mir die schöne Literatur von MSDN zu dem Thema IComparable<T>-Schnittstelle einverleibt und konnte sie danach problemlos auf mein Vorhaben projezieren und mein Problem lösen :-)

Falls jemand später ein änliches Problem hat, hier mal mein Code:

Hier die Klasse "Chatter":



    class Chatter : IComparable<Chatter>
    {
        #region Eigenschaften/Klassenvariablen


        private string pNick = "";
        public string Nick
        {
            get { return pNick; }
            set { pNick = value; }
        }

       //Noch ein paar diverse andere Eigenschaften, die für die Lösung
       //unerheblich sind, habe ich rausgenommen, um es knapp zu halten


        #endregion


        #region Methoden


        public int CompareTo(Chatter chatComparer)
        {
            return pNick.CompareTo(chatComparer.pNick);
        }


        #endregion
    }

Hier die Art und Weise wie man dann ganz leicht sortieren kann:



//habe jetzt mal meinen 2. Code nicht gepastet und eben
//ein kürzeres, aber eben so effektives, Beispiel genommen

//tuen wir jetzt mal so als hätte eine Listbox keine eigene Sortiermöglichkeit

public void ListeSortieren(object sender, EventArgs e)
{
    List<Chatter> chatter = new List<Chatter>(); 
   
    foreach(string nicks in listBox1.Items)
    {
        Chatter chatTemp = new Chatter();
        chatTemp.Nick = nicks;
        chatter.Add(chatTemp);
    }

    chatter.Sort(); //hier wäre vorher eine Exception gekommen, weil es keine Sortiermerkmal ausser "Default" gab

    listBox1.Items.Clear();

    foreach(Chatter chatTemp in chatter)
    {
        listBox1.Items.Add(chatTemp.Nick);
    }

    //nun ist die Liste sortiert
}

Der 2. Codesnippet ist vielleicht unnötig, jedoch wollte ich damit nur nochmal zeigen, dass man dann nichts Weiteres mehr zu machen brauch als die normale Methode "Sort()" aufzurufen, ohne jegliche Parameter.


Danke nochmal für eure Denkanstöße und bis zum nächsten Mal.

lG bluedragon :-)

Thema: Wie List<T> nach bestimmten Kriterium sortieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wow ich muss sagen ich bin wieder überwältigt !
Die Lösung ist sowohl kurz als auch funktionell.
Ich würde nur gerne verstehen wie sie funktioniert. Denn mit dem was da steht weiß ich leider nicht viel anzufangen :-(
Ich für mich persönlich finde es doof eine Lösung einfach nur hinzunehmen, da ich ja hier bin um auch zu lernen und nicht nur für Copy&Paste :-)

Verweise auf andere Webseiten sind natürlich auch von Hilfe, wenn es nicht zuviel Mühe macht ^.^

lG blue

Thema: Wie List<T> nach bestimmten Kriterium sortieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo liebe MyCSharp Gemeinde :-)

Erst einmal wünsche ich frohe Feiertage :-)

Aber ich hab mal wieder ein , ich glaube, Elementares Problem wo ich hängen bleibe.

Und zwar weiß ich nicht wie ich mit den drei Überladungen von List<T>.Sort() umgehen soll, bzw was diese können.
Ich möchte z.B. eine Liste die voller Objekte vom Typ "Chatter" , anhand des "Nicknames" sortieren. Hier ein Bespiel.


Class Chatter
{
     public string Nickname;
}

List<Chatter> chatter = new List<Chatter>();
Chatter a = new Chatter();
Chatter b = new Chatter();
Chatter c = new Chatter();
a.Nick = "hallo";
b.Nick = "test";
c.Nick = "beispiel";

chatter.AddRange(new Chatter[]{a,b,c});

chatter.Sort(); //kommt natürlich eine Exception, weil .NET nicht weiß anhand welschem Merkmal es sortieren soll 

Nun gibt es ja 3 weitere Überladungen von List<T>.Sort() und ich frage mich ob die nicht irgend wie dazu beitragen können, dass es möglich ist beim sortieren von Objekten eine public Variable(dieser Objekte) anzugeben und anhand dieser sollen dann die Objekte der Liste sortiert werden.

Womöglich ne dumme Frage, aber ich mache es mir bisher so umständlich die Nicknames in eine seperate Liste als Strings zu packen, diese dann zu sortieren und dann entsprechend Damit weiter zu arbeiten.

Lg bluedragon

Thema: Application wird nicht komplett beendet
Am im Forum: Rund um die Programmierung

Danke für die weiteren Anworten !

Zitat von svenson

Korrekterweise müßte der Satz heissen:

"Zusätzlich erschüttert es mich ein wenig, dass ich dachte, dass es sich bei Thread-Programmierung um ein simples Problem handelt."

:)

Hehe :-)
Aber ich würde es dann eher so formulieren: "Zusätzlich erschüttert es mich, dass Thread-Programmierung nicht so umgänglich ist."
Ich kann ja wohl kaum an meinen eigenen Verstand appellieren, wo käm ich denn dahin ;-)


@rechner: Wenn ich ehrlich bin hat mir der Thread nicht wirklich weiter geholfen, weil es dort um was anderes geht. Ich habe ja kein Problem mit vermissten Packeten. Lediglich damit, dass ein Thread nicht beendet wird.

Habs nun aber nach der "unschönen" Methode gelöst, da es für mich wirklich das simpelste ist. Und warum schwer machen , wenns auch einfach geht. Ausserdem wüsste ich nicht so recht was daran sooo "unschön" sein soll, nur weil ich mich mit mir selber verbinde und damit die Blockade aufhebe, ist das doch kein "unschöner" Lösungsansatz. Zumindest ist das meine Meinung ;-)



        #region Programm beenden

        private void button1_Click(object sender, EventArgs e)
        {  Close();   }

        private void form_closing(object sender, FormClosingEventArgs e)
        {
            programRunning = false;
            TcpClient TcpEnd = new TcpClient();
            TcpEnd.Connect(Dns.GetHostAddresses(Dns.GetHostName()), 60000);
            TcpEnd.Client.Disconnect(false);

            Application.Exit();
        }

        #endregion


programRunning ist die Variable die bei mir die Endloschleife für ausstehende Verbindungsaufforderungen steuert. Somit wird die Schleife beendet und der Thread auch.


Bin aber für weitere Anregungen gerne offen :-)

MfG
bluedragon

Thema: Application wird nicht komplett beendet
Am im Forum: Rund um die Programmierung

Danke für die Antworten !
Ich muss sagen , dass ich wirklich noch eine Menge lernen muss, denn mir wird nicht so richtig klar was die Klasse jetzt vorteilhaftes bringt (was möglicherweise auch daran liegt, dass einige Codefragmente für mich unbekannte Dinge enthalten). Zusätzlich erschüttert es mich ein wenig, dass ein für mich simples Problem durch so einen Umstand behandelt werden muss und dass C# keine Möglichkeit bietet einfach einen Thread zu stoppen.

Trotzdem danke ich dafür und ich werde mich mal an den asynchronen Optionen die C# so zu bieten hat üben.

MfG
bluedragon

Thema: Application wird nicht komplett beendet
Am im Forum: Rund um die Programmierung

Ich glaube dann hatte ich den Sinn von asychronen Programmiertechniken nicht richtig verstanden. Ich habe mir das nur so vorgestellt, dass ich irgendwo den entsprechenden Code hinpacke und dann danach der nächste Code weiterverarbeitet wird in der CRL während im Hintergrund irgendwann ein Ereignis ausgestoßen wird, wodurch dann eine Methode aufgerufen wird. Mein Problem war dann immer (oder ist) - gedanklich, dass der Code, der dann weiterläuft, nichts mehr mit dem zu tuen hat was die Methode des Event-Handlers von dem ausgestoßenen Ereignis macht.

MfG
bluedragon

Thema: Application wird nicht komplett beendet
Am im Forum: Rund um die Programmierung

Danke sowas wollte ich doch hören :-))

Asynchrone Verbindungen kenne ich, aber mag ich nicht so Recht. Ich möchte genau wissen, was wann und wo in meinem Code passiert und nicht "könnte" ;-)
Aber werde mir mal die anderen Sachen anschauen.

MfG
bluedragon

Thema: Application wird nicht komplett beendet
Am im Forum: Rund um die Programmierung

Sorry für den Doppelpost, aber ich weiß immernoch nicht was ich dagegen tuen kann :-(

Und wie gesagt, ich find die Option im MSV Studio nicht.

MfG
bluedragon

Thema: Application wird nicht komplett beendet
Am im Forum: Rund um die Programmierung

Wo schaue ich mir die laufenden Threads während des debuggens an ?
Finde diese Option im MSV Studio nicht :-(

MfG
bluedragon

Thema: Application wird nicht komplett beendet
Am im Forum: Rund um die Programmierung

Hallo liebe myCSharp'ler,
ich habe mal wieder nen kleines Problem, was mich aber doch nervt und ich es alleine nicht behoben bekomme.

Es sieht wie folgt aus:
Ich schreibe zur Zeit an einem Chat mit Server und Client. Der Server horcht über einen ausgelagerten Thread mit den Klassen TcpListener & TcpClient nach eventuellen Verbindungsanfragen.
Nun ist das Problem, dass ich in dem Thread ne Endlosschleife habe, um nach einer eingegangenen Verbingungsaufforderung ein paar Dinge zu regeln und dann wieder erneut zu warten, und meine Application nichtmehr komplett beendet wird sobald ich auf das X oben rechts klicke oder auf meinen "Beenden"-Button.
Ich habe es auch schon mit Thread.Abort() oder Thread.Interrupt() probiert, damit er nichtmehr horcht und alles beendet wird, aber das klappt nichtmehr :-(


Hier mal die wichtigen Segmente:


    

//das hier ist die Methode für den Auslagerungsthread  
private void clientsHorchen()
{
    TcpListener listener = new TcpListener(60000);
    listener.Start();
    int chatterZähler = 0;

    while(true)
    {
        TcpClient client = listener.AcceptTcpClient();

        //noch ein paar Dinge machen, die 
        //aber auf keine Fall den Thread aufhalten        
    }
}  

///////////---------------------

//das hier ist der "Beenden"-Button
private void beenden_Click(object sender, EventArgs e)
{
     host.Abort();
     Application.ExitThread(); //auch bei Application.Exit();
}


Ich hoffe die Angaben reichen. Auf Jedenfall passiert es nicht, dass die Application nur halb beendet wird , wenn ich die Endlosschleife rausnehme.
Halb beenden heißt soviel, dass die Form geschlossen wird, jedoch der Debugger vom MS Visual Studio mir sagt, dass die Application noch nicht beendet ist.


MfG
bluedragon

Thema: [erledigt] PictureBox - Resize / SizeChanged unterschied ?
Am im Forum: Grafik und Sound

Hallo SeeQuark,

Danke für die ausführliche Anwort =)
Habe alles verstanden und meine Frage ist beantwortet :-)

MfG
bluedragon

Thema: [erledigt] PictureBox - Resize / SizeChanged unterschied ?
Am im Forum: Grafik und Sound

Guten Abend oder Morgen ;-)

Hab mal ne kleine Frage. Und zwar habe ich eine Resizeklasse programmiert, mit der ich sämtliche Controls meiner Form (auch "Marke Eigenbau"), bei Bedarf (wenn ich die Klasse auf die Control anwende), resizen und verschieben kann. Nun soll beim resizen ein Event ausgelöst werden, bei dem die das Control der neuen größe angepasst wird. Und hier meine Frage: wo ist der Unterschied zwichen den beiden Events Control.Resize und Control.SizeChanged ?
Merkwürdigerweise funktioniert alles wunderbar, wenn ich Control.SizeChanged verwende. Bei Control.Resize, passiert nichts.

MfG
bluedragon :-)

Thema: (User)Control für Uhr erstellen
Am im Forum: GUI: Windows-Forms

Tja das ist wieder mal reine Frage der Ansicht, ich sagte, dass ich nicht annähernd gut bin in C#. Ich verstehe grundsätzliche Semantik durch bisherige Sprachen, aber die Syntax ist noch mal ne andere. Und zeige mir bitte eine Klasse in .Net die meine gewünschten Funktionen bereitstellt.
Man kann jetzt noch etlich Stunden darüber philosophieren, ob es sinnvoller ist, ne eigene Uhr zu machen oder eine vorhandene zu nehmen, aber Tatsache ist einfach, das es ja hier um mein Projekt geht, dass ich selber machen will, wenn ich mir Sachen einfach downloade (wegen des Linkes), dann brauch ich erst gar nichts machen. Ich programmiere ja wegen des programmierens, nicht damit ich einfach schnell schnell schnell an mein Ziel komme !! Und wenn ich dann irgendwann an meinem Ziel angekommen bin, kann ich sagen, dass ich was geschafft habe und bei Bedarf kann man mit leichtigkeit Kleinigkeiten verändern und muss nicht, wenn es schon beinahe zuspät ist und man merkt, dass von .Net bereitgestellte Klassen nicht ausreichen, dann erst anfangen hier und da ne eigene Klasse zu erstellen, lediglich die eigene erweitern.
Wenn ich dann mit dem Studium anfange nächstes Jahr und danach eine Ausbildung zum Anwendungsprogrammierer mache, werde ich sicher oftmals, entgegen meiner eigenen Strebung, schon vorhanden Komponenten benutzten, aber nur weil es dann vom Arbeitgeber so verlangt wurde und nicht weil ich das so für richtig halte.
Aber wie gesagt: Ansichtssache !

MfG
bluedragon

PS: Man muss nicht darüber streiten, regelrecht alles selber zu machen, das wäre schwachsinn, dann bräuchte man .Net ja nicht. Aber solche Dinge wo es merklich lohnt, ansonsten gäbe es ja noch immer die tolle Vererbung.

Thema: (User)Control für Uhr erstellen
Am im Forum: GUI: Windows-Forms

Ich weiß nicht warum ich Timer nicht so mag, irgendwie habe ich immer das Gefühl, dass da etwas im Hintergrund meine Ressourcen aufbraucht, aber wahrscheinlich bin ich nur paranoid Werds dann wohl so machen.

Und zu deiner Frage: Es ist einfach so, das es mir viel mehr Spass macht solche Dinge selber zu programmieren, zusätzlich möchte ich einige mehr Funktionen zur Verfügung stellen. Z.B. Alle 36 Zeitzonen stehen zur Verfügung (optional), die Anzeige(nur Uhrzeit oder Uhrzeit+Zeitzone), analoge oder digital Anzeige, zur Laufzeit per Drag&Drop die Uhr verschieben. Denn wenn ich auch so kleine Dinge selber mache und noch erweitere, dann habe ich nicht nur eine tolle Klasse die ich auch in anderen Projekten wiederverwenden kann, sondern dadurch erweitere ich auch mein Programmierkontingent. Leider bin ich noch nicht mal annähernd gut in C# und arbeite mich seit ich anfing damit, von Tutorial zu Tutorial und von Buch zu Buch. Ich programmiere zwar seit 6 Jahren in allen möglichen Sprachen (ca 14 an der Zahl, auch unter UNIX) aber mein Hauptaugenmerk sind PHP(und Co) und C#(seit ca 1 Jahr). Also auch so kleine Sachen selber zu programmieren ist nur förderlich um mein , ich sag mal, "Können" zu verbessern. Man könnte auch sagen, dass ich dadurch, nach und nach, erlerne eine gewisse Routine bei solchen "Problemen" zu erhalten und stehe später bei wirklichen Problemen nicht vor verschlossener Tür, weil es schon beim Start hapert. Ausserdem ist die Uhr nur ein kleiner Teil des Projektes das ich mit einem Freund programmiere, d.h. wissen wir beide woran wir sind und müssen uns später nicht um fehlende Funktionen ärgern, sondern brauchen schon vorhandenen Komponenten nur geringfügig zu erweitern.

MfG
bluedragon

Thema: (User)Control für Uhr erstellen
Am im Forum: GUI: Windows-Forms

Danke hat wunderbar geklappt, hatte vergessen ne größe zu deklarieren und die Control hinzuzufügen =)

Jetzt hab ich noch eine Frage:
Und zwar wie würdet ihr es am besten realisieren, das die Uhr sich selbst neu zeichnet. Also klar OnPaint wird ja durch Sachen aufgerufen wie, wenn man jetzt die Form deselektiert und wieder selektiert oder wenn man die ausserhalb das Bildschirmrandes zieht. Dadurch aktualisiert sich die Uhrzeit ja, aber wie kann ich am besten die Uhr kontinuierlich aktualisierbar machen. Selbstverständlich habe ich bereits an Timer gedacht, aber ich mag Timer nicht so gerne und Threading in Kombination mit Thread.Sleep(), weiß ich nicht ob sich das dafür lohnt.
Wie würdet ihr das realisieren ?

MfG
bluedragon

Thema: (User)Control für Uhr erstellen
Am im Forum: GUI: Windows-Forms

Alles klar, jetzt war es verständlicher =)

So nun habe ich das hier in meiner Klasse (ist von Control abgeleitet):


//diff, zone, x,y sind verfügbar, weil sie für die oberste Ebene private deklariert sind
protected override void OnPaint(PaintEventArgs e)
{
    //base.OnPaint(e);
    dt = DateTime.Now + new TimeSpan((int)diff, (int)((diff % 1) * 60), 0);
    MessageBox.Show(dt.ToShortTimeString());
    
    e.Graphics.DrawString(zone.PadLeft((int)(e.ClipRectangle.Width/2), ' ') + ":\n" + dt.ToShortTimeString(), new Font(new FontFamily("Arial"),12 ), new SolidBrush(Color.Black) , x,y );
}

Und das hier in der Form um es zu testen:


public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        TimezoneClock t = new TimezoneClock(50, 30);
        t.Invalidate();
    }
}

Aber er zeichnet den angegebenen String bei 50, 30 nicht.
Es kommt auch keine Fehlermeldung. Wenn ich jetzt testweise eine MessageBox in die OnPaint-Methode schreibe, kommt auch diese nicht. D.h. muss es irgendwie am Aufruf liegen.

MfG
bluedragon

Thema: (User)Control für Uhr erstellen
Am im Forum: GUI: Windows-Forms

Danke erstmal für die Antworten, werde mich daran probieren, und was genau ist der unterschied zwichen UserControl und Control. Denn "einzelne" und "neue" (deine Argumente) treffen ja beide zu oder nicht ?

MfG
bluedragon


**EDIT** schon gut. Habe deinen Post falsch gelesen. Ich habe jetzt verstanden was du meinst :)

Thema: (User)Control für Uhr erstellen
Am im Forum: GUI: Windows-Forms

Hallo Leute,
irgendwie konnte ich keinen aussagekräftigen Titel finden [EDIT=herbivore]Titel geändert[/EDIT], was wahrscheinlich auch daran liegen kann, dass ich es nicht wirklich gut beschreiben kann. Naja egal

Es geht darum, dass ich für ein großes Projekt, dass ich mit einem Kumpel zusammen mache, gerade eine Klasse TimezoneClock erstelle. An diese Klasse kann man entweder nur Koordinatan (x,y) oder Koordianten und eine Zeitzone übergeben, sodass eine Digitale (per Methodenaufruf auch analog) Uhr generiert werden soll.
Nun die Berechnung der entsprechenden Zeitzonen habe ich bereits gelöst. Nun möcht ich, dass die Uhr an den Koordinaten angezeigt wird und weiß leider nicht genau wie ich es anstellen soll. Also mir ist klar, dass ich eine Methode dazu verwenden muss, aber mich würde interessieren ob es so etwas, wie Invalidate, für Klassen gibt, sodass intern dann die Methode (die ich dann überschreiben werde) OnPaint aufgerufen wird und sich die Klasse quasi selbst aktualisiert.
Ich habe schon häufiger gesehen, dass man einzelne Abschnitte oder Steuerelemente per Invalidate erneuern kann. Wüsste aber nicht ob das bei Klasse so möglich ist. Ich möchte es z.B. auch später ermöglichen, dass per Drag&Drop die Uhr verschiebbar wird (aber das kann warten) und da müsste ich die Uhr dann auch komplett neu zeichnen und die alte Stelle aktualisieren.

Ich weiß nicht genau wie ich mein Problem noch näher erläutern soll, aber ich hoffe es ist halbwegs verständlich gewesen, was ich vorhabe und wo ich nicht weiter komme.

MfG
bluedragon

Thema: Datenbank einbinden/aus dem Internet beziehen
Am im Forum: Datentechnologien

Danke sehr, werde mir die Seiten nachher mal verinnerlichen.

MfG
bluedragon


***EDIT***
Danke sehr, habe mir mal den MySQL-Link angeschaut und das scheint genau das zu sein was ich gesucht habe, testen tu ich es aber Morgen, nach der Schule

Thema: Datenbank einbinden/aus dem Internet beziehen
Am im Forum: Datentechnologien

Hallo Leute,
ich weiß nicht genau ob das hier der richtige Themenbereich ist, aber ich glaube mal schon

Es geht sich um folgendes, da ich mal Lust hatte mit was neuem anzufangen und meine Mutter großhändlerin über Ebay ist, wollte ich mal "ganz einfach" ein Verwaltungsprogramm für sie schreiben. Das soll so Sach wie Lagerbestand, Userverwaltung etc. enthalten.
Und nun mein Problem: ich habe mir schon ein paar mal verinnterlicht wie man Querys formt und Daten ausgibt. Jedoch wurde noch nie erklärt wie ich eine Datenbank in mein Programm einbinde. Eventuell möchte ich sogar eine MySQL-Datenbank benutzten da diese ja schon online sind, da frage ich mich allerdings ob das überhaupt möglich ist (ich glaube schon, wüsste nur nicht wie).

Also bitte jetzt keine Standartantwort, dass ich möchte das mir hier jemand was programmiert und ich nen Jobangebot mache oder so, dafür bin ich hier schon zulange in dem Forum, um das zu wissen :-) (SuFu hat auch nix ausgespuckt )

Ich möchte lediglich ein paar Infos wie ich es anstelle - optimal wären Links zu Infoseiten/Tutorials - , wenn ich jetzt eine fiktive Datenbank hätte phpmyadmin.test.funpic.de (da ich immer alle Programme (programmiere selber ein Browsergame) auf Funpic teste und diese Seite sehr stabil läuft und sehr gute Ladezeiten vorweisen kann, würde ich es (wenn es den geht) damit testen)

MfG
bluedragon

Thema: Pinvoke kennt Funktionen...
Am im Forum: Smalltalk

Allein das zwichen "combat" und "arms" ein Leerzeichen ist, zeigt schon, dass es diese Funktion nicht gibt. Oder hast du schonmal eine Funktion mit Leerzeichen gesehen ? Ich lasse mich gerne belehren :-)

Thema: Sortieralgorithmen (bubble sort, insertion sort, selection sort + eigener algorithmus)
Am im Forum: .NET-Komponenten und C#-Snippets

Sowohl HeapSort und Radixsort/Bucketsort (beide sehr ähnlich), kenne ich auch und finde ich wie du ebenfalls interessant eben wegen dieser Strukturunabhängigkeit(Radixsort/Bucketsort) der zu sortierenden Elemente. Ich habe die drei in meinem letzten Post nur nicht erwähnt, weil ich nicht zu sehr von dem eigentlichem Code abweichen wollte =)
Aber du hast Recht, wenn du sagst, das diese beiden auch sehr interessant und schnell sind !

MfG
bluedragon


PS: so etwas wie 'swap' gibt es nicht, aber lässt sich ja leicht realisieren/implementieren.