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 m0rius
Thema: YAMG - Yet Another Maze Generator
Am im Forum: Projekte

Hallo Spontifixus,

nein, gibt es noch nicht. Ziel ist es aber (an der Lösung zu erkennen), von links oben nach rechts unten zu gelangen.


Hallo SeeQuark,

hm. Mal sehen ...

Seltsam, ich bekomme selbst bei größeren Bildern keine Exception.


Hallo pdelvo,

danke für den Hinweis ... Ich hatte das schonmal getestet, allerdings lief es da noch ...

m0rius

Thema: Irrgartengenerator: StackOverflow
Am im Forum: Rund um die Programmierung

Hallo nochmal,

jetzt könnt ihr sehen, wofür sich die Mühe gelohnt hat ;) ...
YAMG - Yet Another Maze Generator

m0rius

Thema: YAMG - Yet Another Maze Generator
Am im Forum: Projekte

Hallo SeeQuark,

die praktische Anwendung kommt mit dem Drucken ;).

Ja, ich glaube, ich sollte den Erstellungsprozess wirklich in nen anderen Thread auslagern. Wann genau kriegst du denn die Exception bzw. was sind "größere" Bilder?

Zum Icon: Gute Idee ...

m0rius

Thema: YAMG - Yet Another Maze Generator
Am im Forum: Projekte

Hallo pdelvo,

kommt noch :) ... Vielleicht hat jemand bei der Gelegenheit einen Vorschlag für ein Icon? Ich habe keins gefunden, was passt und mir gefallen hat ...

m0rius

Thema: YAMG - Yet Another Maze Generator
Am im Forum: Projekte

... und hier ein gelöster Irrgarten:

Edit: Bild angehängt :D ...

Thema: YAMG - Yet Another Maze Generator
Am im Forum: Projekte

Hier ein Screenshot von einem ungelösten Irrgarten ...

Thema: YAMG - Yet Another Maze Generator
Am im Forum: Projekte

Hallo,

hier möchte ich euch ein kleines Projekt vorstellen, was vorgestern entstanden ist: YAMG - Yet Another Maze Generator.

Mit diesem Programm könnt ihr Perfekte Labyrinthe erstellen - Irrgärten, die von einem beliebigen Punkt zu einem anderen genau einen Weg haben und keine Zyklen enthalten.
Natürlich könnt ihr diese auch lösen lassen ...

m0rius

Schlagworte: YAMG, Yet Another Maze Generator, Perfektes Labyrinth, Labyrinth, Irrgarten, Irrgärten, Maze, Perfect maze, Maze generator

Thema: Kopfrechnen & Tricks
Am im Forum: Smalltalk

Hallo SeeQuark,

Zitat von SeeQuark
Verallgemeintert wäre das dann IMHO so:
a * b = (a + c) * (a - c) - c²
... was schon wieder, zumindest so, wie es gerade dasteht, - sorry - Unsinn ist ;).

Du meintest mit der Formel sicher a * b = (a + b) * (b - c) - c², so, wie du es oben schon geschrieben hast.
Multipliziert man die rechte Hälfte aus, erhält man ab - ac + bc - c² - c² und damit insgesatm ab = ab - ac + bc - 2c².
Subtrahieren wir ab, multiplizieren mit -1 und klammern c aus, ergibt sich c * (a - b + 2c) = 0.
Diese Gleichung ist für c = 0 lösbar - klar -, sonst aber nur, wenn a - b + 2c gleich 0 ist, was bei dir der Fall war (8 - 12 + 2 * 2 = 0). Für z.B. c = 3 stimmt deine Rechnung hingegen nicht!

m0rius

Thema: Kopfrechnen & Tricks
Am im Forum: Smalltalk

Hallo winSharp93,

nein, es stimmt, was du sagst. Für die 3 gilt es so, wie Joetempes es sagt, für die 6 muss die Zahl zusätzlich gerade sein, für die 9 muss die Quersumme durch 9 teilbar sein, ...

m0rius

Thema: Kopfrechnen & Tricks
Am im Forum: Smalltalk

Hallo SeeQuark,

deine letzte Formel funktioniert nicht ...

m0rius

Thema: Speicherbedarf einer Anwendung steigt ständig an
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo herbivore,

ich hatte trotzdem vermutet, dass es an der Rekursion liegt, und deshalb nochmal auf den Thread verwiesen, in dem die Lösung per Iteration gezeigt ist. Und da der - recht lange - Beitrag um 12:03 geschrieben wurde, zommis Lösung hingegen erst um 12:00, gehe ich nicht davon aus, dass JCDenton diese bereits gesehen hat.

m0rius

Thema: Speicherbedarf einer Anwendung steigt ständig an
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo JCDenton,

Rekursion beansprucht den Stack extrem stark. Edit: Gemeint ist die Verwendung von Rekursion im gezeigten Link ...
s. Irrgartengenerator: StackOverflow => 8 Minuten alt ;) ...

m0rius

Thema: Irrgartengenerator: StackOverflow
Am im Forum: Rund um die Programmierung

Hallo zommi,

bis auf die beiden Klammern in der drittletzten Zeile hast du gerade das gepostet, was ich im Programm stehen habe ;).


Hallo herbivore,

das habe ich auch nie abgestritten!

Edit: Mein Problem war eher dieser Gedankenfehler:

Zitat von JAck30lena
um speicher geht es hierbei nicht. es geht um den stack und wenn du rekursion vermeidest, hast du auch keine probleme mit dem stack.

m0rius

Thema: Irrgartengenerator: StackOverflow
Am im Forum: Rund um die Programmierung

Hallo MrSparkle,

huhu, der 1000. Beitrag ;).

Ah, jetzt verstehe ich ... Ich glaube, das mache ich ...

m0rius

Thema: Irrgartengenerator: StackOverflow
Am im Forum: Rund um die Programmierung

Hallo JAck30lena,

gut, dann schreibe ich halt eine iterative Variante. Danke!


Hallo MrSparkle,

ich verwende bereits Stack<Cell>!

m0rius

Thema: Irrgartengenerator: StackOverflow
Am im Forum: Rund um die Programmierung

Hallo JAck30lena,

genau, das war meine Überlegung, aber ist diese Lösung wesentlich speichersparender?

m0rius

Thema: Irrgartengenerator: StackOverflow
Am im Forum: Rund um die Programmierung

Hier noch ein Screenshot und der Code der rekursiven Methode (hoffe, er ist dennoch verständlich).

/// <summary>
/// Expands the way from a given cell.
/// </summary>
private void Expand(Cell currentCell)
{
    if (_visitedCells ≥ TotalCells)
    {
        return;
    }
            
    Cell neighborCell = null;
    int[] directions = RandomHelper.GetDirections();
    bool connected = false;

    for (int index = 0; index < directions.Length; index++)
    {
        neighborCell = GetNeighborCell(currentCell, directions[index]);

        if (neighborCell != null && !neighborCell.Visited)
        {
            currentCell.Connect(neighborCell);
            connected = true;

            _visitedCells++;
            _cellStack.Push(neighborCell);

            break;
        }
    }

    if (!connected)
    {
        neighborCell = _cellStack.Pop();
    }

    Expand(neighborCell);
}

Thema: Irrgartengenerator: StackOverflow
Am im Forum: Rund um die Programmierung

Hallo,

ich schreibe gerade an einer Anwendung, die zur Erstellung von Irrgärten regen Gebrauch von Rekursion macht und damit entsprechend viel Speicher im Stack benötigt. Ab einer gewisseen Größe bzw. Zellenanzahl ist Schluss. Natürlich könnte ich eine Art Obergrenze festlegen, aber die müsste relativ niedrig liegen, um die StackOverflowException zu vermeiden ...

Ist eine iterative Lösung wesentlich speichersparender als die rekursive?
Edit: Oder ist der Code im folgenden Post ungünstig in Hinblick auf Rekursion geschrieben?

m0rius

Thema: Trackbar, Slider, Thumb; Wie verändere ich den Regler und die Leiste
Am im Forum: GUI: Windows-Forms

Hallo Animal21,

ich würde keine TrackBar für die Fortschrittsanzeige verwenden; dafür ist die ProgressBar gedacht.

m0rius

Thema: Wie cookie entfernen?
Am im Forum: Web-Technologien

Hallo zusammen,

langsam, aber sicher gerät das Ganze ins Offtopic ...

m0rius

Thema: [gelöst] Zeichnen langsam - Warum?
Am im Forum: Grafik und Sound

Hallo nebler,

gewöhn dir die Verwendung von Control.CreateGraphics() am besten gleich wieder ab ;).

Zitat von herbivore
Control.CreateGraphics braucht man auch an anderen Stellen kaum und sollte es am besten gleich wieder vergessen.

m0rius

Edit: Da war wohl jemand schneller ;) ...

Thema: Wie cookie entfernen?
Am im Forum: Web-Technologien

Hallo pdelvo,

Zitat von pdelvo
Ich schreibe gerade eine Alternative zu php
Eine weitere Skriptsprache? Ob die wirklich nötig war ;) ...

m0rius

Thema: YAYA - Ein weiteres Kniffel-Programm
Am im Forum: Projekte

Hallo Merlin_S,

Zitat von Merlin_S
Das Problem, dass mir beim erneuten Würfeln die selbe Zahl wieder erscheint, habe ich auch ab und zu.
Das "Problem" tritt ja auch in einem von 6 Fällen natürlicherweise auf ;).


Hallo Spontifixus,

ja, darfst du - solange die About-Anzeige nicht rausgenommen wird :).

m0rius

Thema: YAYA - Ein weiteres Kniffel-Programm
Am im Forum: Projekte

Hallo,

und wieder eine neue Version.
Korrigiert wurden der Bug der Small Straight, die About-Anzeige und das unnütze Anzeigen des Highscores.

m0rius

Thema: YAYA - Ein weiteres Kniffel-Programm
Am im Forum: Projekte

Hallo MasterMax,

vielen Dank für den Hinweis, der Bug ist behoben ... Die neue Version kommt heute Abend.


Hallo Spontifixus,

nette Idee ... Ich überlegs mir ;).

m0rius

Thema: YAYA - Ein weiteres Kniffel-Programm
Am im Forum: Projekte

Hallo eveN,

stimmt, ist wirklich sinnlos :P.

Eigentlich sollten diese Häufungen nicht passieren. Weil mir das bei einer älteren Version öfter passiert ist, habe ich jetzt die stärkeren Zufallszahlengeneratoren aus System.Security.Cryptography verwendet ... Seltsam.

m0rius

Thema: Klasse ordnen bzw. unterteilen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo gdata,

wenn ich dich richtig verstanden habe, willst du in einer Unterklasse auf eine Methode der Elternklasse zugreifen, richtig? Das würdest du auf die Weise erreichen:

base.MyMethodToCall();
(Was natürlich nur funktioniert, wenn MyMethodToCall() nicht als private markiert ist.)

Nebenbei solltest du für jede Aufgabe bzw. Verantwortlichkeit eine eigene Klasse verwenden (s. Kohäsion).

m0rius

Thema: [gelöst] Boolscher Parser
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo pdelvo,

okay, per Reflection funktioniert das sicher, aber ich halte es weder für einen eleganten noch für einen performanten Ansatz.

m0rius

Thema: [gelöst] Boolscher Parser
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo pdelvo,

Zitat von pdelvo
vieleicht code erzeugen, den ausführen, und dann das ergebnis abfangen
Zeig vielleicht mal ein Beispiel.

m0rius

Thema: Interface nur Methodennamen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo chrische5,

Stichwort "optionale Parameter" (.NET 4.0). Es sind alle Parameter vorhanden, jedoch können Standardwerte überschrieben werden.

m0rius