Suchergebnisse
Suchergebnisse 1-30 von insgesamt 38.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
Zitat von Schmandal: „Bis auf die Karten nutze ich schon die Paint Methode.“Aber genau da wäre sie angebracht. Wenn Du natürlich im Paint-Event des Hauptfensters selbst alle Karten malen willst, wirst Du nicht froh werden. Löse das objektorientiert: Mach Dir eine Karten-Klasse, wenn Du sie nicht schon hast. Gib dieser Klasse eine Paint-Prozedur, die nix anderes tut, als sich selbst zu zeichnen. Erforderliche Informationen wäen da nur die Karte selbst, also Farbe und Wert (Pik-Dame oder Schell-Lu…
-
Zitat von Schmandal: „Ist das soweit sinnvoll?“Nicht ganz. Die Klasse Cards darf nix wissen von game.brett und game.MImages. Gib ihr kein Pain-Event, sondern eine Draw-Prozedur, der Du das Graphics-Objekt als Parameter übergibst. Eine Funktion, die nur True zurückgibt, taugt nix, mach da ne Sub draus.Das Bild selbst übergib im Konstruktor. Wenn Du die Karten später bewegen willst, übergib die Koordinaten an die Draw-Prozedur direkt.Die Instanz invalidisieertr kein äußeres Objekt. So etwa: VB.NET…
-
Zitat von Schmandal: „ständig alle Koordinaten berechnen“Das ist eine Frage der Organisation. Du hast iwo eine List(Of Cards) und Du machst Dir einfach eine DrawAllCards()-Routine. Dort per For Each durchgehen und die Koordinate der nächsten Karte per Offset zur letzten Karte berechnen. Und für die Zukunft: Gib Deinen Karten ein Deckblatt, da kannst Du sie auch anders herum zeichnen (also die Rückseite).
-
Zitat von Schmandal: „Bastel alle noch vorhandenen Karten wieder als List(of Object) zusammen ohne "Lücke"“ist dahingehend nicht sinnvoll, da in einer List(Of Card) keine Lücke vorkommt. Als Alternative zur ObservableCollection(Of Card) vom @ErfinderDesRades : vielleicht machst Du Dir eine Klasse Kartenstapel, wo alle Karten eines Spielers oder der "Stapel" in einer List(Of Card) enthalten sind. Diese weiß dann, wie die Karten darzustellen sind, so dass keine Lücken dargestellt werden.
-
Seh ich nicht so. Von irgendwo kommt gesagt, dass die Schell-7 oder die 4. Karte im Stapel abgelegt wird. Die Klassen-Instanz reagiert darauf, entfernt diese Karte und malt alles / das meiste / das richtige neu. Oder Ich sage der Collection, dass sie diese Karte entfernen soll und löse damit ein Event aus, infolge dessen alles / das meiste / das richtige neu gemalt wird.
-
Zitat von ErfinderDesRades: „und feddich“is aber meine Formulierung. @Schmandal Das Beste wäre gewesen, Du hättest mit einer ordentlichen Aufgabenstellung angefangen, die all dies bescxhreibt, ohne dass Du eine einzige Zeile Code geschrieben hättest. Dann hätten wir das gemeinsam perfektionieren können und Du härrest dann der einen oder der anderen Variante den Vorzug geben können. Nun sitzt Du sozusagen zwischen zwei Stühlen und denkst, Du seiest Buridans Esel.
-
Zitat von Schmandal: „ihr Euch in Ruhe zurückziehen“der @ErfinderDesRades und ich - das wird nicht unbedingt gut gehen, da wir in einigen Dingen sehr verschiedene Meinungen vertreten. Das macht uns hier im Forum absolut nix aus, denn hier im Forum müssen das die Thread-Ersteller "ausbaden" und wir lachen intern darüber . Bei einer unmittelbaren Projektzusammenarbeit sähe das möglicherweise anders aus, allerdings lassen sich da die Aufgaben disjunkt verteilen.
-
@Schmandal Da gibt es grundsätzlich 2 Möglichkeiten.1. Du ermittelst die Dauer einzelner Teil-Abläufe, dazu gibt es die Klasse StopWatch. 2. Du generierst an beliebigen Stellen Deines Programms TimeStamps und berechnest die äquivalenten Dauern, dazu gibt es die Klasssen DateTime und TimeSpan. Am besten, Du machst die Ausgaben in die Console: Console.WriteLine(bla), die erscheinen dann im Ausgabebereichs des Studios.
-
@Schmandal Du musst Dein Spiel nicht unbedingt sofort perfekt programmieren. Lerne mit Deinen Aufgaben, lerne an Deinen Fehlern. Stell iwann fest, dass das malen halt zu lange dauert und dann zerpflückst Du das ganze. Im Vorfeld dies alles perfekt planen zu wollen ist nur schwer möglich, da musst Du einfach schon ein paar ähnliche Projekte gestemmt haben, bevor Du das alles sofort überblickst. Lass Dir einfach noch ein paar feine Verbesserungen für die 2. Version.
-
Zitat von Schmandal: „VB.NET-Quellcode (1 Zeile)“ist in zweierlei Hinsicht ein NoGo.- Karten invalidisieren sich nicht selbst, sie stellen sich selbst dar, wenn sie von außen invalidisiert wurden. - Karten dürfen nix von der GUI wissen, auf der sie dargestellt werden. So kannst Du die Klasse einfach ins nächste Spiel kopieren und feddich.