IF-Forum

» IF-Forum - Autorencafé - Schreiben! - Geld
AntwortenNeues ThemaNeue Umfrage

Geld

Geschrieben um 18:49 am 24.02.2004 | Zitat | Editieren | Löschen
Paycheck
Mitglied
Baby Gumby
Beiträge: 8

Wie implementiere ich am besten so etwas wie geld dessen menge abnehmen und zunehmen kann...

Bespielsweise der Spieler verkauft seine Jacke und bekommt dafür 30 Euro

Bei der nächsten Frittenbude kauft er sich für 2 Euro eine Portion Fritten. die ihm natürlich sofort abgezogen werden...

Gibt es dafür eine Möglichkeit ?

Vielen dank

Geschrieben um 11:07 am 25.02.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634

Zu diesem Problem gibt es verschiedene Lösungsansätze, von relativ einfach bis hin zu sehr komplex. Die Guru-Aufgabe, in der ein (zugegeben recht komplexes) System von Geld implementiert werden sollte, blieb ungelöst.

Ich würde zunächst einen pragmatischen Ansatz wählen. Der Spieler hat ein Objekt Bargeld, das er mit sich herumträgt. Die Verben beschränken sich auf 'kaufe dies' und 'verkaufe jenes', man kann nicht sagen 'gib dem Junkie einen Euro'. Genausowenig ist es wichtig, wie das Geld zusammengesetzt ist, man kann nicht Pfennige als Schraubenzieherersatz hernehmen oder Geldscheine zu Kranichen falten.

Achtung, Brainstorming, kein geprüfter Code, Korrektur und Erweiterung sind dem Autor überlassen:


Integer Cash = 1287

! Der Spieler fängt mit 12,87 Euro an

Integer Preis

Flagge Handel_erfolgreich

! Hilfsvariablen

Aktion zähle_Geld

Ausf

    lokal x

    lösche x

    wenn (Cash > 99) dann

        sei Preis Cash

        div Preis 100

        setze x

        wenn (Preis > zwanzig) dann

            text '[Preis] Euro'

        sonst

            text '[num Preis] Euro'

        Ende

    Ende

    sei Preis Cash

    mod Preis 100

    wenn (Preis) dann

        wenn (x) text ' und '

        wenn (Preis > zwanzig) dann

            text '[Preis] Cent'

        sonst

            text '[num Preis] Cent'

        Ende

    Ende

EndeAusf

Aktion kaufe

Ausf

    lösche Handel_erfolgreich

    wenn (Preis < 0) stop

    wenn (Preis > Cash)

        stop 'Soviel Geld hast du nicht.'

    dekr Cash Preis

    wenn /(Cash) ObjNach Bargeld Nirwana

    setze Handel_erfolgreich

EndeAusf

Aktion verkaufe

Ausf

    lösche Handel_erfolgreich

    wenn (Preis < 0) stop

    inkr Cash Preis

    wenn /(Bargeld beimir) ObjNach Bargeld beimir

    setze Handel_erfolgreich

EndeAusf

Obj Bargeld

Name Ausf

    wenn (aBef = Inventar) dann

        ObjGenus selbst n %eigenname

        Text '[zähle_Geld] Bargeld'

    sonst

        ObjGenus selbst n

        Text 'Geld/'

    Ende

EndeAusf

Ort Beimir

Vor 'bar' 'klein' 'hart'

Subst 'geld' n, 'euro' m, 'euro' p, 'euros' p, 'cent' m,

    'cent' p, 'cents' p, 'cash' n, 'knete' f

Besch 'Das ist das, was dir zum Leben bleibt: [zähle_Geld]'

VorAusf

    (zählen)

        Ausf untersuchen selbst

    (hinlegen hineinlegen darauflegen)

        stop 'Nein, das Geld kannst du noch gut gebrauchen.'

EndeAusf

Nun kann man mit diesem Geld Handel treiben:


    Obj fettige_Fritten

    Name 'fettig^ Fritten' p

    Subst 'pommes' p, 'fritten' p, 'frites' p

    VorAusf

        (kaufen)

            sei Preis 230

            Ausf kaufe

            wenn (Handel_erfolgreich) dann

                'Zwei Euro dreißig und ein Schälchen Fritten

                wechseln den Besitzer.'

                ObjNach selbst beimir

            EndeAusf

    EndeAusf

   

    ...

   

    Obj Fünfziger

    Name '50-Cent-Stück' n

    Vor '50-cent', '50', '50er', 'cent'

    Subst 'münze' f, 'stück' n, 'geldstück' n,

        'fünfziger' m

    Erst 'Auf dem Gehweg liegt ein 50-Cent-Stück.'

    Ort Hauptstraße

    VorAusf

        (nehmen)

            'Du hebst das 50-Cent-Stück auf und steckst

            es ein.'

            sei Preis 50

            Ausf verkaufe

    EndeAusf

Du kannst natürlich auch dem Junkie Geld geben, die Menge ist aber immer vom Spiel festgelegt. (Das ist ntaürlich eine Bevormundung des Spielers, vielleicht könnte man einen Euro als Standard-Menge festlegen.)

Unter Hirschen benutzt übrigens ein Geldsystem, in dem man ganze Euros ausgeben und sogar der Dame an der Kasse ein Trinkgeld zukommen lassen kann.

AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz