Posts

Posts mit dem Label "Bibliothek" werden angezeigt.

Tool Lagerverwaltung (Teil 6) Umzug nach .NET MAUI

Bild
Irgendwann ist immer was Neues da und dann sind Runde Ecken dran. Ich las die aktuelle .NET Pro (2/23) und stellte fest, dass .NET MAUI, die neue Zukunft für Frontend Technologie wird. Oder zumindest vermute ich dies stark, da diese Technologie ein sehr guter Nachfolger zu WPF und Xamarin sein könnte. Natürlich ist .NET MAUI noch sehr neu und sicherlich sind im Bereich für Plattformübergreifende Abdeckung noch das eine und andere Problem da. Für mich bedeutet das, dass ich mein ‚Application Framework' umziehe in die neue Welt von .NET MAUI. Benötigt Visual Studio 2022 GitHub   Umzug Eigentlich sag der Titel des Absatzes schon alles. Aber vielleicht gehen einige Sachen noch nicht so wie ich mir das Vorstelle. Daher ist das erste Ziel das alle Grundlegende Funktionen aus dem 'Codexzier's Application Framework' zu übernehmen. Die speziellen Benutzerdefinierten Steuerelemente werden später migriert.   Neues Projekt und Struktur aktualisieren So g

Tool Lagerverwaltung (Teil 2) Neue Solution

Bild
Welche Architektur oder welche Form soll das Projekt haben. Am liebsten setze ich auf die Drei-Schichten-Architektur. Klinkt abstrakt und hochtrabend, aber kompliziert ist die Sache nicht. Sich dran halten ist anfangs schwierig. Vorzugsweise setze ich auf Desktop Anwendung. Benötigt Visual Studio 2022 oder anderen Compiler .NET 6.0 Codexzier's Application Framework GitHub   Ziel für diesen Blog-Eintrag Eine neue Solution und die benötigten Projekte einrichten mit dem Ansatz der Drei-Schichten Architektur..   Drei-Schichten Wenn ich Rückblicke, in welchen Formen ein Drei-Schichten Modell aussieht, dann waren diese immer unterschiedlich gestaltet und hielten dennoch erkennbar Drei Schichten. Grundlegen haben wir das Frontend oder auch Benutzeroberfläche genannt, dann die Service-Schicht in der die Daten verarbeitet werden und als drittes die Datenhaltung in einer

Tool Lagerverwaltung (Teil 1) Wiki anlegen in GitHub

Bild
Für das Tool soll das eigene Framework verwendet werden, dass ich in den letzten Jahren immer weiter ausgebaut hatte. Jedoch ist noch offen, eine Dokumentation anzulegen, die den Funktionsumfang sowie Verwendung des Applikation Framework zeigt.   Benötigt Visual Studio 2022 oder anderen Compiler .NET 6.0 Codexzier's Application Framework GitHub   Was ist mein Ziel? Primär soll ein einfaches Tool entwickelt werden, dass zur Lagerverwaltung verwendet werden kann. Mit der der Entwicklung möchte ich beschreiben, welche Vorgehensweisen und Lösungen ich verwende. Zudem soll zu jeder Funktion aus dem Applikation Framework dokumentiert werden, das ich für den aktuellen Schritt verwendet wird.   Neben Produkt Immer wenn ich eine neue Anwendung geschrieben habe, benötigte ich Grundlegende Inhalte für eine WPF Anwendung mit bestimmten Funktionen die ich selbst

Von Händlern, Kisten und Münzen (Arduino Esplora, Part 8)

Bild
Ok, so richtiger Handel wird hier nicht stattfinden. Dafür reicht der Speicher nicht. Oder? In erster Linie sollen nur Grund Funktionen Umgesetzt werden. Ziel wird sein, wenn die Figur vor dem Händler oder einer Kiste steht, dann sollte sich der Inhalt Zeigen. Anschließend kann ein Objekt Ausgewählt und in die eigene Tasche übertragen werden. Leider passt das nicht alles in einen Blogpost, so dass der Inhalt mit der Waren Anzeige in einem späteren Post kommt. Anforderung Beim Händler können Gegenstände erworben werden und diese in Kisten abgelegt werden. Das erfordert einige mehr Programmcodezeilen und daher muss an der Stelle wieder eine neue Seite  mit dem Namen 'TraderComponent' angelegt werden. Am Anfang werden die Werte für Händler und Kisten hinterlegt, die später über den Flashspeicher abgerufen werden. Die Münzen werden hier ebenfalls abgelegt als Funktionsvariable, wird aber erst in einen späteren Post weiter behandelt. (im Folgender Program

Ich packe in meinen Rucksack (Arduino Esplora, Part 7)

Bild
Was wäre ein Abenteuer ohne einen Rucksack, in dem man seine Gefundenen Gegenstände einsammeln kann. Um diese Funktion Übersichtlich zu halten, wird der Rucksack sechs Plätze haben. Im Vorfeld muss festgelegt werden, wie zunächst die Informationen im Rucksack gehalten werden. Auch hier wird weiterhin eine Datenbanklose Lösung erzielt. Die Gegenstände müssen als Abstrakt betrachtet werden, so dass diese auf wesentliche Informationen eingeschränkt wird. Ein wichtiger Punkt wird sein, die Funktionsvariablen entsprechend zu kommentieren. Das wird später hilfreich sein, die Informationen auch wieder zu zuordnen. Ein Objekt sollte Grundlegende Eigenschaften haben: Name Bild (ein 16x16 Pixel Sprite) Beschreibung (sollte nur für bestimmte Gegenstände verwendet werden) Verwendungszweck Damit der Gegenstand Zugeordnet werden kann, ist zusätzlich eine Identifikationsnummer erforderlich oder auch kurz ID. Diese wird z.B. für den Rucksack Funktion verwendet. Allerdings

Du kommst hier nicht vorbei (Arduino Esplora, Part 6)

Bild
Sicherlich habt ihr entweder am Programcode oder beim Testen der Spielfunktionen bemerkt, dass die Kollisionsabfrage nur bedingt funktioniert. Sie ist zwar einfach, aber hier fehlt die Einschränkung, dass man sich nur von Block zu Block bewegen kann. Offen gestanden war ich kein Fan davon, das sich die Figur weiter bewegt bis der nächste Feld oder Kachel erreicht wurde. Zu dem Thema Spieleprogrammierung und Kollisionsabfrage für 2D Spiele, können verschiedene Lösung im Internet gefunden werden. Ein Beispiel wird hier auf spieleprogrammierer.de/wiki beschrieben, wie man mit Geometrischen Objekten die Kollision Abfragen kann. Die simple Form für die Kollisionserkennung ist das Verwenden von zwei Rechtecken. Im folgenden Code zeigt die Methode die wesentliche Abfrage von überschneidenden Rechtecken. // Kachel Position mit zukuenftiger Position der Figur abgeleichen, // durch ansetzten von Rechtecken und ob diese sich ueberschneiden. boolean checkCollide(byte

Voller Arbeitsspeicher (Arduino Esplora, Part 5)

Bild
Der Arduino oder auch vielmehr der verwendete Mikrocontroller hat für viele Anwendungen genügend Arbeitsspeicher. Im ersten Teil der Blogpost Reihe verwendete ich einen Arduino Nano, der einen ATmega328 hat und einen Arbeitsspeicher von 2kByte besitzt. Der Arduino Esplora verwendet den ATmega32u4 der wiederum 2,5kByte Arbeitsspeicher aufweist. Trotz des etwas größeren Arbeitsspeichers muss für dieses Projekt dennoch sparsam damit umgegangen werden. ATmega328P und ATmega32u4 Arbeitsspeicher verbrauch Ein Sprite Bild besteht selbst aus 160 Bytes. Das klingt jetzt nicht viel, aber verbraucht den Arbeitsspeicher bereits mit über 6%. Würde man die Sprite Animation der Figur nicht mit dem Trick einzelner Bilder spiegeln, dann würden insgesamt 2,92kByte Arbeitsspeicher anfallen. Stattdessen werden momentan 1,12kB verwendet, dass allerdings für das Ziel immer noch zu viel ist. Und dann kommt noch die Karte mit 160 Bytes hinzu, die noch sehr grob ist. Da bleibt am Ende nic