Beiträge von Lynx im Thema „Anfänger dokumentiert Spielentwicklung: "Grand Sheik"“

    Und so habe ich den alten Zufallsmechanismus, der sich über so einige Basic-Zeilen erstreckte, wieder demontiert und den neuen "Mixer" eingebaut.

    Sehr gut, der Weg ist das Ziel. :) Wenn man Code einreisst, kann es sich ggf. so anfühlen, als hätte man sich Arbeit umsonst gemacht, was aber nicht der Fall ist, da man stetig an Wissen gewinnt und am Programmierstil feilt.

    edit:

    Bei Pausen erscheint ja meist..

    ~~~ INTERMISSION ~~~


    :)

    Ja, einmal bei Programmstart laufen lassen um eine zufällige Reihenfolge für die 130+ Fragen zu generieren und dann kann die Reihe in 6er Schritten abgelaufen werden. So kann man 20+ Sessions am Stück spielen, ohne eine doppelte Frage, und anschliessend das Erweiterungspack nachladen. :)

    Sieht bisher schon sehr hübsch aus das Quiz, leider bin ich da ahnungslos, hab die zwei aber gerne geschaut in jungen Jahren.

    SGT22 Damit keine Frage während einer Spielrunde doppelt kommt, könntest du die Reihenfolge vorberechnen, z.B.

    Code
    1 f=19:a=49152:forb=0tof:pokea+b,b:next
    2 forb=0tof:z%=rnd(.)*f:c=peek(a+z%):pokea+z%,peek(a+b):pokea+b,c:next
    3 forb=0tof:printb,peek(a+b):next

    Zeile 1: F=19 ist die Anzahl der Fragen (hier zum Test 20, also 0-19). Die Reihenfolge wird ab Adresse A=49152 gepoked, kann auch woanders abgelegt werden, so spart man Variablenspeicher und mehr als 256 Fragen werden es ja vermutlich nicht werden.

    Zeile 2: Mischen: RND(.) ist bei 256 Zahlen eine Sekunde schneller und ist zufällig genug, ansonsten einfach RND(1) verwenden.

    Zeile 3: Ausgabe der Reihenfolge zum Spaß, nix doppelt. PEEK(Adresse+Fragenummer)

    Kann man natürlich auch im Array ablegen, falls der Basic-Speicher nicht knäppelt, dann ist's schneller.