Am Anfang steht natürlich eine Spielidee, und da habe ich eine alte Liebe entdeckt, den NSM Tutti Frutti von 1984:
Auch wenn ich sie eigentlich gar nicht mag, werde ich also eine Obstkiste entwickeln, klassisch mit 3x3 Walzen. Zunächst galt es die Grafikengine, die Gewinnpläne und die Gewinnauswertung von Taxi zu modifizieren. Um das zu testen, habe ich schnell ein paar Fruchtsymbole gesucht und eingebaut. Sie werden bestimmt noch ersetzt. Der Grafikstil ist nicht einheitlich (Foto bzw. Zeichnung) und die Auflösung durch einfaches Ziehen und Strecken zur richtigen Grösse verdorben. Aber zum Visualisieren des weiteren Designs des Spielsystems reicht es.
Bei Taxi verwende ich keine echten Walzenstreifen. Die Symbole haben stattdessen unterschiedliche Wahrscheinlichkeiten. Eine Codebeispiel aus Taxi:
Code: Alles auswählen
Zuf = RND(1,100)
SELECT CASE Zuf
CASE 1 TO 2 ' 2%
WalzenZiehungsTafel(i,j) = 2
CASE 3 TO 7 ' 5%
WalzenZiehungsTafel(i,j) = 3
CASE 8 TO 14 ' 7%
WalzenZiehungsTafel(i,j) = 4
CASE 15 TO 22 ' 8%
WalzenZiehungsTafel(i,j) = 5
CASE 23 TO 31 ' 9%
WalzenZiehungsTafel(i,j) = 6
CASE 32 TO 42 ' 11%
WalzenZiehungsTafel(i,j) = 7
CASE 43 TO 55 ' 13%
WalzenZiehungsTafel(i,j) = 8
CASE 56 TO 73 ' 18%
WalzenZiehungsTafel(i,j) = 9
CASE 74 TO 92 ' 19%
WalzenZiehungsTafel(i,j) = 10
CASE 93 TO 100 ' 8% Taxi
WalzenZiehungsTafel(i,j) = 11
Taxiflag = 1
END SELECT
In Tuttu Frutti habe ich stattdessen "echte" Walzenstreifen, was einige Programmänderungen bedurfte.
Als nächstes muss ich den Tutti-Frutti Jackpot programmieren. Zunächst textorientiert, um die Spielmechanik zu entwickeln. Später die aufwändige Grafik, bei der die in Form von Fruchtdrillingen bereits gewonnenen Symbole wie mit Lämpchen erleuchtet werden sollen. Davor habe ich einiges Grauen, denn Turbo Basic kennt keine Sprites. Alle Bildinhalte müssen in internen Bildspeichern vorrätig gehalten und mit dem Spielbildschirm ausgetauscht werden. Das führt zu heftigen GRAPHIC COPY Befehlen, bei deren komplizierten Koordinatensystemen man schnell den Überblick verliert. In Taxi verwende ich diese Technik z.B. beim Aufleuchten des Taxischildes im Gewinnfall. Ein Codebeispiel:
Code: Alles auswählen
FOR XWalze = 1 TO 3
FOR XFenster = 1 TO 3
GRAPHIC COPY hBmp1, 0, (WalzPosX(XWalze) - 13,WalzPosY(XWalze) + (XFenster - 1) * 213)_' Rahmen
-(WalzPosX(XWalze) + 13 + 224,WalzPosY(XWalze) + XFenster * 213)_
TO (WalzPosX(XWalze) - 13 ,WalzPosY(XWalze) + (XFenster -1) * 213),0
GRAPHIC COPY hBmp5, 0, (1 + (XWalze = 1) + (XWalze - 1) * 225 + 5,XFenster * 213 + 5)-_' Symbole
(1 + XWalze * 225 - 5,XFenster * 213 + 213 - 5)_
TO (WalzPosX(XWalze) + 5,WalzPosY(XWalze) + (XFenster - 1) * 213 + 5),0
NEXT
NEXT