Holzchopf.Calc

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

Holzchopf

Meisterpacker

Betreff: Holzchopf.Calc

BeitragMi, Jul 21, 2010 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Weil ich für mein aktuelles Vorhaben einen String-Parser (oder wie man auch immer etwas nennen will, dass Zeichenketten wie "3x+4" ausrechnet) benötige - und weil ich gerne Dinge selber mache - habe ich kurzerhand einen geschrieben, der das kann, was ich brauche, und daraus noch ein mehr oder weniger ausführlich dokumentiertes Modul gemacht.

Beschreibung
Holzchopf.Calc ermöglicht es, Rechnungen in Zeichenketten auszurechnen. So kann man zum Beispiel vom Benutzer eingegebene Formeln in Spielen oder Tools benutzen.
Es ist auch möglich, Funktionen zu definieren oder andere Blitz-Funktionen sowie Variablen einzubinden.

Beispiele
Super-einfaches Beispiel einer einfachen Rechnung
BlitzMax: [AUSKLAPPEN]
SuperStrict
Framework Holzchopf.Calc

' Term analysieren und Ergebnis ausgeben
WriteStdout TCalc.Parse("3*4*2+10^(5/2-(2-1-0.5))")


Ein kleiner Funktions-Plotter
BlitzMax: [AUSKLAPPEN]
SuperStrict

' set up framework
Framework BRL.GlMax2D
Import Holzchopf.Calc

Local f:TCalcTerm = TCalcTerm.Create("0.1(x-8)(x+5)x", "f(x)")

' graphics window
SetGraphicsDriver GLMax2DDriver()
Graphics 200,200

' show coords
SetColor 0,0,255
DrawLine 0,100,200,100
DrawLine 100,0,100,200

' plot graph
SetColor 255,255,255
For Local x:Int = -100 Until 100
Plot 100+x, 100-f.Get([Double(x/10.0)])
Next

Flip

WaitKey()


Wie man BlitzMaxs Mathe-Funktionen einbindet
BlitzMax: [AUSKLAPPEN]
SuperStrict

Framework Holzchopf.Calc
Import BRL.Math

' link ln
TCalc.LinkFuncD(Log, "ln(x)")

' now we can use ln in terms
WriteStdout TCalc.Parse("ln(100)")


Weitere Beispiele sind im Download (im samples-Ordner) enthalten.

Download
Holzchopf.Calc.zip
(Den Ordner Holzchopf.mod ins mod-Verzeichnis extrahieren, rebuilden, Spass dran haben!)

Wünsche, Fragen und Kritik willkommen.

mfG
Holzchopf
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

Macintosh

BeitragMi, Aug 11, 2010 11:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Sehr schönes mod. gefällt :)

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group