Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Phili

unregistriert

221

24.11.2007, 15:50

So, jetzt möchte ich auch mal wieder was von mir hören lassen.

In diesem Forum hatten wir ja schon eine Menge selbst programmierter Taschenrechner, die jedoch leider meistens an komplizierteren Aufgaben scheiterten...

Das soll jetzt mal ein Ende haben. Ich hab nämlich einen Taschenrechner programmiert, in den man ich ganz normaler, gewohnter Syntax die Rechnung eingeben kann (z.B. "3+(4*cos(4*tan(4))-tan(3))+pow(4,5)").
Das Einzige was gelegentlich noch probleme macht ist, dass das Programm bei ungültigen eingaben manchmal abstürzt.

http://phili.empty-game.de/Taschenrechner.rar

Bisher habe ich folgende Funktionen implementiert:
cos, sin, tan, acos, asin, atan, pow
folgende Operatoren:
+ - * / > < & | ~ !
dabei steht & für UND, | für ODER, ~ für gleich und ! für ungleich

//Edit: Punkt-vor-Strich Rechnung wird nich berücksichtigt

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

222

24.11.2007, 16:31

der taschenrechner funzt prima. alle funktionen kann man prima kombinieren ohne das was passiert, wie absturz oder ähnlichem. ;)

was ich aber immer ein wenig schade finde, warum programmiert ihr das immer mit einer konsole. wäre doch mal cool, wenn man einen richtigen dialog hat....

Phili

unregistriert

223

24.11.2007, 17:08

@BlackSnake

Zitat

was ich aber immer ein wenig schade finde, warum programmiert ihr das immer mit einer konsole. wäre doch mal cool, wenn man einen richtigen dialog hat....

Lass dich überraschen... In ein, zwei Tagen hört ihr nochmal von mir ;-)

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

224

24.11.2007, 18:55

Kurz und Knapp: Ein Filesystem für WinAPI.

Man wird über Verzeichnise Iterieren können, Zugriffsrechte Verändern können(etc), Dateien erstellen, Löschen, Beschreiben. Man kann sich Ordnerinhalte in Listen liefern lassen.

Dazu kommt ne File-Klasse die mehr kann wie das std zeugs: Man kann zum Bleistift einen Schreibmodus auswählen(einfügen oder überschreiben und gepuffert und ungepuffert). Man kann sich direkt das File-Handle liefern lassen. Man kann mit ihr Auch direkt Datenträger öffnen(Physikalische und Logische) z.b. für einen Low-Level Format oder einen "sicheren" löschvorgang(dabei wird ja einfach mehrmals mit nullen überschrieben).

Dann gibt es noch Path-Klassen Interatoren für Verzeichnise und und und...

Es gibt dann noch Klassen für XML und INI Dateien und eine Log-Klasse(Hier kann jedem entry ein sub-entry zugeordnet werden und diesem wieder einer, entrys können nachträglich bearbeitet werden und es wird intern ein DOM verwendet. Dabei kann man sich selber Log-Styles schreiben(wers braucht) der Parser für die Styles wird auch komplett neu gemacht(sowas gab es schon inner alten) oder man nimmt einfach das "Referenz-Style" was ich mitliefere.

Ich werde es soweit optimieren, wie nur irgendwie möglich. Eventuell kommt später noch ne Defrag-Klasse oder sowas dazu womit man dann einzelne Dateien Defragmentieren kann ist aber nur in planung.

Wer also ein Performantes Filesystem für Windoof braucht(z.b. für ein Spiel) der kann sich schon auf die FastStream v.2 freuen. Die "Engine" wurde komplett neu gecodet(ich bin noch dranne) und es wurde der ganze mist mit netzwerk etc rausgeschmissen klassen die eigentlich gar nix damit zu tun haben sind auch raus ist jetzt schön übersichtlich geworden. Zur Zeit kann ich leider net proggen hab ein paar probleme mit meinem "server".

Mehr will ich mal noch nicht verraten wartet einfach mal bis die erste 2. version rauskommt.

Socke

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

225

24.11.2007, 19:14

Klingt interessant, wenn es gut und fehlerfrei wird dann werf ich meine eigene Klasse zur Fileverwaltung wieder über den Haufen :)

Hab ja früher immer auf std::fstream Varianten gesetzt, aber irgendwann wurde mir das zu blöd (vor allem im Bezug auf UNICODE). Bei der Arbeit mit FILE und den C-Funktionen musste ich irgendwann feststellen, dass zwar binär alles in Butter ist, für Textmodus aber leider L'\n' nicht korrekt erweitert wird, sondern stattdessen ein ANSI '\r' reingeklatscht wird -> Datenmüll ohne Zeilenumbrüche brauch echt niemand.
WinAPI Filefunktionen waren mir dann wieder bissl zu krass in den Möglichkeiten.

Also denk dran -> korrekter Umgang mit ANSI, UNICODE, Text, Binärdaten. Dazu eine Verpackung die einem Standardaufgaben erledigt ohne dass man sich um jeden komplexen Hintergrund kümmern muss. Alles andere kannste gern reinhaun, aber bitte so dass man nicht nutzen muss um mit den Dateien zu arbeiten ;)

Phili

unregistriert

226

25.11.2007, 15:04

So, nach meinem doch eher schlichten Taschenrechner hab ich inzwischen nen Programm gemacht, das zeigt, was mein derzeitiges Projekt noch so alles draufhat.
http://phili.empty-game.de/WindowParser.rar
In das Programm lässt sich ein programmquellcode eintippen(Beispiele in 2 Textdateien). Der wird dann von einem selbst geschriebenen Compiler übersetzt und dann von dem Programm geparst.
Die beiden Beispieldateien beinhalten ein programm zum darstellen eines Mandelbrot-Fraktals(leider elendig langsam) und eines Funktionsschaubilds.

Implementierte Funktionen sind:
cos, sin, tan, acos, asin, atan, pow, spxl(a, b, c, d, e), gpxlr(x, y), gpxlg(x, y), gpxlb(x, y)
Operatoren sind gleich wie beim Taschenrechner.

227

25.11.2007, 16:41

Hab mal 12+3 eingegeben und das Programm ist abgestürzt :lol:
Mein Projekt: Rise of the Sylvan

Phili

unregistriert

228

25.11.2007, 18:25

naja, 12+3 is auch irgendwie nen Befehl ohne jeden Inhalt...
Abstürzen sollts natürlich trotzdem nich...
Ich habe den Fehler inzwischen behoben. Sollte jetz nicht mehr so einfach sein, das Programm mit sinnlosen Befehlen zum Absturz zu bringen.

229

25.11.2007, 22:02

Zitat von »"Phili"«

naja, 12+3 is auch irgendwie nen Befehl ohne jeden Inhalt...

Ich weiß :D
Mein Projekt: Rise of the Sylvan

230

25.11.2007, 22:29

sooo, hier die nächste Version von meinem Tic-Tac-Toe:
http://www.file-upload.net/download-522972/TicTacToe3D.rar.html

Neues:
-KI:
*Neuer Cpu-Level "schwer" implementiert(wurde vorher auch schon
angezeigt, war aber genau das selbe wie Normal)
*Cpu-Level "Normal" etwas aufgepeppt
*Cpu-Level "Leicht" etwas geschwächt
-Optionen:
*Auwahl Kreuz/Kringel für Spieler 1(dementsprechend auch für Spieler 2
das andere dann)
-Generell: Anzeige "Wer ist dran" wenn der Cpu ausgeschaltet ist


kann sein, dass ich noch was vergessen hab, daann ists auch egal :lol:

Für die nächste Version ist angeplant:
-Anzeige, wo gewonnen wurde
-Rausschmiss des Konfigurations-dialogs :badgrin:

Wie ich die Schrift bei Sieg gut hervorheben kann, weiß ich noch nicht, mal schauen. Wenn mir was einfällt kommts auch in die nächste Version rein :)

edit: sorry, das war der löschcode^^
ist jetzt korrigiert

Werbeanzeige