danke für Deine Antwort. Du hast Recht, mit den Gadgets kenne ich mich wirklich bisher nicht gut aus.
Meine bisherigen Spiele habe ich mit Openwindowedscreen gemacht. Siehe auch das Beispiel, welches ich im Showcase Spiele gepostet habe. Ich habe mir die Gadgets so vorgestellt, dass das im Prinzip vorgefertigte Prozeduren sind die ich auf dem Bildschirm platzieren kann und die dann abgefragt werden. Das ist aber anscheinend nicht so. Im Prinzip geht es mir hier nur darum, ein Overlay über einen Teil des Bildschirms zu legen, um darauf Informationen anzuzeigen und eine Menuabfrage zu machen. Danach soll das Overlay wieder rückstandslos verschwinden, und ich kann auf dem Hauptbildschirm weiterarbeiten.
Ich füge 'mal den bisherigen Quellcode ein. Da sind natürlich jetzt jede Menge Zeilen drin, die
für das Problem uner´heblich sind, daher habe ich ja das Kurzbeispiel geschrieben. Die einzulesenden
Bilder habe ich ausgebaut und durch einfache Boxen ersetzt. Ich denke aber man kann schon erkennen
worin ich mit meiner Frage will. Wichtig sind die beiden Buttons oben, Die Button-Leiste rechts und
der Start-Pause-Button unten. Der hier zu untersuchende Button, die anderen werden dann genauso, ist der Button Verkauf LowCost (Nr 3)
Code: Alles auswählen
; ============================================================
; Faltung schalten <F4> alle Faltungen schalten <strg><F4>
;-[-AA_INIT --------------------------------------------------
AA_INIT:
EnableExplicit
;zusätzliche Bibliothek laden
UseJPEGImageDecoder()
;UseJPEGImageEncoder()
UsePNGImageDecoder()
;} ----------------------------------------------------------
;-[-AB_Prozeduren_anmelden -----------------------------------
;Prozeduren anmelden
Declare AUTOR()
Declare MELDAUTOR()
Declare MELDUNTEN(meldu$)
Declare MELDULOESCH()
Declare MAUSZONE()
Declare MEZU()
Declare COZU()
Declare INFO_0()
Declare INFO_1(infotafel,infomax)
Declare SYS_FARBE()
Declare SYS_BILDER()
Declare SYS_ACTION(nr,event)
Declare ZE_HIGRU()
Declare ZE_ROHBILD()
Declare ZE_PLAYER()
Declare ZE_BUTTON(nr,tx,flp)
Declare ZE_DATUM(zeit$)
Declare ZE_SPEED()
Declare WAITACTION()
Declare CLK_OFFICE()
Declare CLK_TRADER()
Declare TR_03()
Declare CLK_PAUSTA()
Declare CLK_SPEED()
Declare RE_DATUM()
;} ----------------------------------------------------------
;-[-AC_Variablendeklarationen --------------------------------
;Variablendeklarationen
; Bilder
Enumeration
#bld00 ; Hintergrundbild
#bld01 ; Weltkarte
#bld02
#bld03
#bld04
#bld05 ;
#bld06
#bld07
#bld08
#bld09
#bld10
EndEnumeration
Enumeration 100 ;Button-bilder
#but01
#but02
#but03
#but04
#but05
#but06
#but07
#but08
#but09
#but10
#but11
#but12
#but13
EndEnumeration
Enumeration ; Fonts
#font00
#font01
#font02
#font03
#font04
#font05
#font06
#font07
#font08
EndEnumeration
Enumeration ; Gadgets
#gdg00
#gdg01
#gdg02
#gdg03
EndEnumeration
Enumeration 2
#win2
#win3
#win4
#win5
EndEnumeration
; Enumeration 100 ; Tasten
; #kb000
; EndEnumeration
Global autor$
#TITEL$="EK-TRAMP"
#BILD00$="EK-TRAMP-00.jpg"
#BILD01$="EK-TRAMP-01.jpg"
AUTOR()
#xadd = 2 ; x-Addition (vom linken Rand bis zum ersten Klotz)
#yadd = 2 ; y-addition (vom oberen Rand bis zum ersten Klotz)
#klotz=30 ; Größe eines Spielfeldes
#win1=1 ; ID des benutzten Fensters
#win1_x=1280 ; Fensterbreite x (0-1219) definiert
#win1_y=720 ; Fensterhöhe y (0- 719) definiert
Global Dim gg(40) ; globale Variablen
Global Dim fa(40) ; Farbdefinitionen
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Global mausx,mausy,mausz,mausxalt,mausyalt
Global taste,modis,modic
Global wx,wy,winid ;wx=Fensterbreite tatsächl; wy=Fensterhöhe tatsächl
Global cux,cuy,cuxalt,cuyalt
Global titel$
Global timstrt,timende,startdatwert,istdatwert
; um Spielstart festzuhalten für SYS_ZEIT und ZE_ZEIT
mausx=0 ; Maus X- Pos
mausy=0 ; Maus y-Pos
;mausc=0 ; Maus-Click 1=li; 2=re
mausz=0 ; Maus-Zone (Bildschirmbereich)
taste=0 ; gedrückte Taste /mausclick 800+mauszone=links;900+mauszone=rechts
cux=0 ; cursorposition x
cuy=0 ; cursorposition y
cuxalt=0
cuyalt=0
Define dummy,q,event,quit
Define tt$
;gg( 1) Endeschalter 0= im Spiel 9= Abbruch durch Escape
;gg( 2) Turnus welcher Spieler ist gerade dran
;gg( 3) Zustand des Fensters; 0=normal; 1=minimiert; 2=maximiert
;gg( 4) Menuelevel 0=oberste Ebene; 1=office; 2=Ship-Trader
;gg( 5) Pause=0/Start=1-Zustand
;gg( 6) Spielgeschwindigkeit (1 -10) default=5
;gg(10) variabel verwendbar immer nur kurzfristig!
;} -------------------------------------------------------------
;-[-AD_Schriften laden ---------------------------------------
; windows standardschriften:
; prop: Book Antiqua (serife); Arial (ohne serife) auch: Georgia, Verdana
; mono: Lucida Console ; Consolas auch: Courier New
LoadFont(#font00,"Book Antiqua",18,#PB_Font_Bold) ; prop, meldautor, meldunten, ze_pos,ze_zeit,hover
LoadFont(#font01,"Book Antiqua",12) ; prop, unbenutzt
LoadFont(#font02,"Book Antiqua",24,#PB_Font_Bold) ; prop, unbenutzt
LoadFont(#font03,"Arial",14) ; prop, info; Buttons
LoadFont(#font04,"Arial",12) ; prop, unbenutzt
LoadFont(#font05,"Arial",12,#PB_Font_Bold) ; prop, unbenutzt
LoadFont(#font06,"Lucida Console",12) ; monospace, unbenutzt
LoadFont(#font07,"Lucida Console",12,#PB_Font_Bold) ; monospace, unbenutzt
LoadFont(#font08,"Courier New",20,#PB_Font_Bold) ; monospace, unbenutzt
;} ----------------------------------------------------------
;-[-AE_Hauptfenster öffnen -----------------------------------
If InitKeyboard()=0
MessageRequester("Fehler","Keyboard kann nicht geöffnet werden", 0)
End
EndIf
If InitSprite()=0
MessageRequester("Fehler","Sprite-System kann nicht geöffnet werden", 0)
End
EndIf
If InitMouse()=0
MessageRequester("Fehler","Maus kann nicht aktiviert werden",0)
End
EndIf
OpenWindow(#win1,0,0,#win1_x,#win1_y,#titel$,#PB_Window_SystemMenu |#PB_Window_MinimizeGadget |#PB_Window_ScreenCentered)
CanvasGadget(#gdg00,0,0,#win1_x,#win1_y,#PB_Canvas_ClipMouse|#PB_Canvas_Keyboard)
SetActiveGadget(#gdg00) ;wichtig: Tastatur funktioniert sonst nicht
; OpenWindow(#win1,0,0,#win1_x,#win1_y,#titel$,#PB_Window_SystemMenu | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
; OpenWindowedScreen(WindowID(#win1),0,0,#win1_x,#win1_y,#True,0,0)
; SetFrameRate(50)
SYS_FARBE()
SYS_BILDER() ; Bilder initialisieren
gg(3)=0 ; Zustand Fenster 0=vorgegeben, 1=minimiert; 2=maximiert
winid=WindowID(#win1)
;} -------------------------------------------------------------
; ============================================================
;-[-BA_VORSPIEL ----------------------------------------------
BA_VORSPIEL:
ZE_HIGRU()
MELDAUTOR()
taste=0:WAITACTION()
MELDUNTEN("Information gewuenscht ? <j>/<n>")
taste=0:WAITACTION()
MELDULOESCH()
If taste= 27:gg(1)=9 :EndIf
If taste= 74:INFO_0():EndIf
;} -----------------------------------------------------------
;-[-BB_ANFANG ------------------------------------------------
BB_ANFANG:
ZE_HIGRU()
MELDAUTOR()
gg(1)=0 ; Endeschalter: im Spiel - Normalspiel
gg(4)=0 ; Menulevel (0=alggemein); 1=office; 2=shiptrader
gg(5)=0 ; START/PAUSEschalter: Pause=Voreinstellung
gg(6)=3 ; SpeedSchalter: Speed=3 Voreinstellung
ZE_ROHBILD()
; Spielerarrays vor neuem Satz ausnullen
;ZE_AUSLOSUNG() ; wer fängt an bei neuem Spiel
;ZE_BILD() ; Spielbild anzeigen
;ZE_ZUGNUM() ; Zugnummer anzeigen
;ZE_CURSOR() ; Cursor auf Startposition setzen
; MELDUNTEN("Jetzt geht's los <Taste druecken>")
; taste=0:WAITACTION()
; If taste=27:gg(1)=9:Goto DA_NACHSPIEL:EndIf
; MELDULOESCH()
;} -----------------------------------------------------------
; ============================================================
;-[-CA_HAUPTSPIEL --------------------------------------------
CA_HAUPTSPIEL:
startdatwert=Date(1980,01,01,00,00,00)
istdatwert=startdatwert
timstrt=ElapsedMilliseconds()
timende=timstrt
event=0
Repeat
taste=0:mausz=0
Event=WindowEvent()
mausx=WindowMouseX(#win1)
mausy=WindowMouseY(#win1)
mausz=MAUSZONE()
If event
SYS_ACTION(2,event)
Else
Delay(10)
EndIf
mezu()
; If taste>0 :MEZU() :EndIf
; COZU()
taste=0
RE_DATUM()
Until gg(1)>1
Goto DA_NACHSPIEL
;} -----------------------------------------------------------
; ============================================================
;-[-DA_NACHSPIEL ---------------------------------------------
DA_NACHSPIEL:
If gg(1)<7 : MELDUNTEN("Auf geht's. Neues Spiel - neues Glueck")
Delay(1200)
Goto BB_ANFANG
EndIf
If gg(1)=7 : MELDUNTEN("SPIELENDE - <Taste druecken>") : EndIf
If gg(1)=9 : MELDUNTEN("ABBRUCH - <Taste druecken>") : EndIf
taste=0:WAITACTION()
If gg(1)<10
MELDUNTEN("Neustart ? <J>/<N>")
Delay(1200)
taste=0:WAITACTION()
gg(1)=0
If taste= 74 : gg(1)=8 : EndIf
If taste=106 : gg(1)=8 : EndIf
MELDULOESCH()
If gg(1)=8 : Goto BA_VORSPIEL : EndIf
EndIf
ZE_HIGRU()
Delay(1000)
End
;}
; ============================================================
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure COZU()
Meldunten("Hier ist COZU <Taste>")
WAITACTION()
MELDULOESCH()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure MEZU()
Protected btnum,tnum,numl,scll,capl,modif,qx,dummy
Protected tm$,tt$,tx$
tm$="":tt$="":tx$=""
If taste=900 ; Rechtsclick
Select mausz
Case 0
meldunten("rechtsclick-freifeld")
Case 1
meldunten("rechtsclick-upscroll")
Case 2
meldunten("rechtsclick-rechtsscroll")
Case 3
meldunten("rechtsclick-downscroll")
Case 4
meldunten("rechtsclick-linksscroll")
Case 5
meldunten("rechtsclick-Zielfeld")
Case 31
meldunten("rechtsclick-Infofeld oben ")
Case 32
meldunten("rechtsclick-Infofeld mitte")
Case 33
meldunten("rechtsclick-Infofeld unten")
EndSelect
; timstrt=ElapsedMilliseconds()
ProcedureReturn
EndIf
If taste=800 ; Linksclick
Select mausz
Case 0
Case 2
CLK_OFFICE()
Case 3
CLK_TRADER()
Case 4
CLK_PAUSTA()
Case 5
CLK_SPEED()
Case 11
ZE_BUTTON( 1,0,1)
Delay(120)
ZE_BUTTON( 1,0,0)
If gg(4)=0
gg(1)=9 ; Quit game
EndIf
If gg(4)>0
gg(4)=0
For qx=1 To 10
ZE_BUTTON(qx,0,0)
Next qx
EndIf
Case 12
ZE_BUTTON( 2,0,1)
Delay(120)
ZE_BUTTON( 2,0,0)
If gg(4)=0:dummy=1:EndIf
If gg(4)=1:dummy=2:EndIf
If gg(4)=2:dummy=3:EndIf
Case 13
ZE_BUTTON( 3,0,1)
Delay(120)
ZE_BUTTON( 3,0,0)
If gg(4)=0:dummy=1:EndIf
If gg(4)=1:dummy=2:EndIf
If gg(4)=2:TR_03():EndIf
Case 14
ZE_BUTTON( 4,0,1)
Delay(120)
ZE_BUTTON( 4,0,0)
If gg(4)=0:dummy=1:EndIf
If gg(4)=1:dummy=2:EndIf
If gg(4)=2:dummy=3:EndIf
Case 15
ZE_BUTTON( 5,0,1)
Delay(120)
ZE_BUTTON( 5,0,0)
If gg(4)=0:dummy=1:EndIf
If gg(4)=1:dummy=2:EndIf
If gg(4)=2:dummy=3:EndIf
Case 16
ZE_BUTTON( 6,0,1)
Delay(120)
ZE_BUTTON( 6,0,0)
If gg(4)=0:dummy=1:EndIf
If gg(4)=1:dummy=2:EndIf
If gg(4)=2:dummy=3:EndIf
Case 17
ZE_BUTTON( 7,0,1)
Delay(120)
ZE_BUTTON( 7,0,0)
If gg(4)=0:dummy=1:EndIf
If gg(4)=1:dummy=2:EndIf
If gg(4)=2:dummy=3:EndIf
Case 18
ZE_BUTTON( 8,0,1)
Delay(120)
ZE_BUTTON( 8,0,0)
If gg(4)=0:dummy=1:EndIf
If gg(4)=1:dummy=2:EndIf
If gg(4)=2:dummy=3:EndIf
Case 19
ZE_BUTTON( 9,0,1)
Delay(120)
ZE_BUTTON( 9,0,0)
If gg(4)=0:dummy=1:EndIf
If gg(4)=1:dummy=2:EndIf
If gg(4)=2:dummy=3:EndIf
Case 20
ZE_BUTTON(10,0,1)
Delay(120)
ZE_BUTTON(10,0,0)
If gg(4)=0:dummy=1:EndIf
If gg(4)=1:dummy=2:EndIf
If gg(4)=2:dummy=3:EndIf
Default
meldunten("linksclick-freifeld")
EndSelect
ProcedureReturn
EndIf
modif=modis+modic
Select modif
Case 1000
tm$="<L-Shift>"
Case 1300
tm$="<R-Shift>"
Case 2000
tm$="<L-ctrl>"
Case 2400
tm$="<R-ctrl>"
Case 3000
tm$="<L-shift><L-ctrl>"
Case 3300
tm$="<R-shift><L-ctrl>"
Case 3400
tm$="<L-shift><R-ctrl>"
Case 3700
tm$="<R-shift><R-ctrl>"
Default
tm$="<"+Str(modif)+">"
EndSelect
If taste
tt$="<"+Str(taste)+">"
If taste= 8:tt$="<backspace>":EndIf
If taste= 9:tt$="<tab>":EndIf
If taste=13:tt$="<enter>":EndIf
If taste=27:tt$="<ESC>":EndIf
If taste=32:tt$="<space>":EndIf
If taste>47 And taste<91
tt$="<"+Chr(taste)+">"
EndIf
If taste=144
numl=GetKeyState_(#VK_NUMLOCK) & 1
If numl=0:tt$="<Numlock off>":EndIf
If numl=1:tt$="<Numlock on >":EndIf
EndIf
If taste=145
scll=GetKeyState_(#VK_SCROLL) & 1
If scll=0:tt$="<Scrollock off>":EndIf
If scll=1:tt$="<Scrollock on >":EndIf
EndIf
If taste=20
capl=GetKeyState_(#VK_CAPITAL) & 1
If capl=0:tt$="<Capslock off>":EndIf
If capl=1:tt$="<Capslock on >":EndIf
EndIf
; problem: Shift + ctrl + Mausclick muss noch abgefangen werden
tx$=tm$+TT$
meldunten(tx$)
EndIf
;ELDULOESCH()
mausz=0:taste=0:modif=0
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure SYS_ACTION(nr,event)
Select event
Case #PB_Event_CloseWindow
gg(1)=9:taste=27
Case #PB_Event_MinimizeWindow
gg(3)=1
Case #PB_Event_MaximizeWindow
gg(3)=2
wy=WindowHeight(#win1)
wx=WindowWidth(#win1)
Case #PB_Event_RestoreWindow
gg(3)=0
wy=#win1_y
wx=#win1_x
Case #WM_LBUTTONDOWN
taste=800
Case #WM_RBUTTONDOWN
taste=900
Case #WM_KEYDOWN
If EventwParam()=16
modis=1000
If EventlParam()>3000000
modis=1300
EndIf
EndIf
If EventwParam()=17
modic=2000
If EventlParam()>3000000
modic=2400
EndIf
EndIf
Case #WM_KEYUP
taste=EventwParam()
EndSelect
If taste=27:gg(1)=9:EndIf
If taste=16:modis=0:taste=0:EndIf
If taste=17:modic=0:taste=0:EndIf
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure WAITACTION()
Protected event
Repeat
Event = WindowEvent()
If event
SYS_ACTION(1,event)
Else
Delay(5)
EndIf
Until taste>0
Delay(120)
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure RE_DATUM()
Protected timdiff,adsek,faktor,tag,tagalt,timneu
Protected zeit$,wota$
timende=ElapsedMilliseconds()
If gg(5)=1:timdiff=timende-timstrt:EndIf
timstrt=timende
Select gg(6)
Case 1
faktor= 36
Case 2
faktor= 72
Case 3
faktor=108
Case 4
faktor=144
Case 5
faktor=180
Case 6
faktor=216
Case 7
faktor=252
Case 8
faktor=288
Case 9
faktor=324
Case 10
faktor=360
EndSelect
adsek=timdiff*faktor
istdatwert+adsek
tag=DayOfWeek(istdatwert)
Select tag
Case 0
wota$="So, "
Case 1
wota$="Mo, "
Case 2
wota$="Di, "
Case 3
wota$="Mi, "
Case 4
wota$="Do, "
Case 5
wota$="Fr, "
Case 6
wota$="Sa, "
EndSelect
zeit$=wota$+FormatDate("%dd.%mm.%yyyy",istdatwert)
; Debug"---"
; Debug tag
; Debug gg(7)
;
; If tag>gg(7)
; meldunten(Str(timende-timneu))
; timneu=ElapsedMilliseconds()
; gg(7)=tag
; EndIf
; Debug"---"
;
; Debug timende
; Debug timdiff
; Debug adsek
; Debug istdatwert
; Debug tag
; Debug gg(7)
; Debug zeit$
; Debug"======"
If gg(5)=1:ZE_DATUM(zeit$):EndIf
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure CLK_OFFICE()
Protected qx
StartDrawing(CanvasOutput(#gdg00))
DrawImage(ImageID(#but08),1040,1)
StopDrawing()
Delay(120)
StartDrawing(CanvasOutput(#gdg00))
DrawImage(ImageID(#but07),1040,1)
StopDrawing()
gg(4)=1
For qx=1 To 10
ZE_BUTTON(qx,0,0)
Next qx
meldunten("Officeclick"):Delay(1000):melduloesch()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure CLK_TRADER()
Protected qx
StartDrawing(CanvasOutput(#gdg00))
DrawImage(ImageID(#but10),800,1)
StopDrawing()
Delay(120)
StartDrawing(CanvasOutput(#gdg00))
DrawImage(ImageID(#but09),800,1)
StopDrawing()
gg(4)=2
For qx=1 To 10
ZE_BUTTON(qx,0,0)
Next qx
meldunten("CLK_TRADER("):Delay(1000):melduloesch()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure CLK_PAUSTA()
StartDrawing(CanvasOutput(#gdg00))
DrawImage(ImageID(#but13),1040,645)
StopDrawing()
Delay(120)
If gg(5)=0
StartDrawing(CanvasOutput(#gdg00))
DrawImage(ImageID(#but12),1040,645)
StopDrawing()
EndIf
If gg(5)=1
StartDrawing(CanvasOutput(#gdg00))
DrawImage(ImageID(#but11),1040,645)
StopDrawing()
timstrt=ElapsedMilliseconds()
EndIf
gg(5)*(-1)+1
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure CLK_SPEED()
If mausx>252:gg(6)= 1:EndIf
If mausx>262:gg(6)= 2:EndIf
If mausx>272:gg(6)= 3:EndIf
If mausx>282:gg(6)= 4:EndIf
If mausx>292:gg(6)= 5:EndIf
If mausx>302:gg(6)= 6:EndIf
If mausx>312:gg(6)= 7:EndIf
If mausx>322:gg(6)= 8:EndIf
If mausx>332:gg(6)= 9:EndIf
If mausx>342:gg(6)=10:EndIf
ZE_SPEED()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure ZE_SPEED()
Protected li,ob,br,ho,qx,qz,brg,brk,frb
li= 240
ob= 644
br= 120
ho= 44
StartDrawing(CanvasOutput(#gdg00))
Box(li ,ob ,br,ho ,fa(4))
Box(li,ob+1,br-1,ho-1,fa(8))
; StopDrawing()
brg=10 ; gesamtbreite eines Blocks in Hintergrundfarbe
brk=7 ; Breite des schwazen/gelben Teils des Blocks
li=242
ob=652
ho=26
; StartDrawing(CanvasOutput(#gdg00))
For qz=1 To 10
qx=li+qz*brg
frb=fa(6)
If qz>gg(6):frb=fa(4):EndIf
Box(qx,ob,brk,ho,frb)
Next qz
StopDrawing()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure TR_03()
Protected li,ob,br,ho,quit,event
li=WindowX(#win1)+10
ob=WindowY(#win1)+50
br=1000
ho=550
OpenWindow(#win2,li,ob,br,ho,"Trader_3",#PB_Window_BorderLess)
; CanvasGadget(#gdg01,0,0,br,ho,#PB_Canvas_ClipMouse|#PB_Canvas_Keyboard|#PB_Canvas_Border)
; SetGadgetColor(#gdg01,#PB_Gadget_BackColor,fa(27))
; SetActiveGadget(#gdg01) ;wichtig: Tastatur funktioniert sonst nicht
ButtonGadget(#gdg03,li+850,ob+400,100,30,"Exit")
; ButtonGadget(8, #WindowWidth-100, #WindowHeight-36, 80, 24, "Quit")
SetGadgetState(#gdg03,0)
quit=0
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case #gdg03 ; Quit...
quit=1
EndSelect
EndIf
Until quit=1
CloseWindow(#win2)
SetActiveGadget(#gdg00) ;wichtig: Tastatur funktioniert sonst nicht
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure MELDAUTOR()
StartDrawing(CanvasOutput(#gdg00))
Box ( 0,688,1280,32,fa(4))
Box ( 1,689, 238,30,fa(2))
Box ( 240,689, 800,30,fa(2))
Box (1041,689, 238,30,fa(2))
DrawingFont(FontID(#font00))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText( 15,689,#titel$,fa(4))
DrawText( 14,688,#titel$,fa(6))
DrawText(1055,689,autor$ ,fa(4))
DrawText(1054,688,autor$ ,fa(6))
StopDrawing()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure MELDUNTEN(meldu$)
Protected txend,abzug
StartDrawing(CanvasOutput(#gdg00))
Box (240,689,800,30,fa(1))
DrawingFont(FontID(#font00))
DrawingMode(#PB_2DDrawing_Transparent)
txend=DrawText(245,690,meldu$,fa(1))
abzug=(txend-245)/2
DrawText(640-abzug,691,meldu$,fa(4))
DrawText(640-abzug,690,meldu$,fa(6))
StopDrawing()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure MELDULOESCH()
StartDrawing(CanvasOutput(#gdg00))
Box (240,689,800,30,fa(2))
StopDrawing()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure INFO_0()
Protected infoende,infotafel,infomax,quit
infoende=0
infotafel=1
infomax=1
ZE_HIGRU()
MELDAUTOR()
Repeat
INFO_1(infotafel,infomax)
taste=0:WAITACTION()
Select taste
Case 27
quit=1
Case 37
infotafel=infotafel-1
Case 39
infotafel=infotafel+1
EndSelect
If infotafel=0 : infotafel=infomax : EndIf
If infotafel>infomax : infotafel=1 : EndIf
Until quit=1
ZE_HIGRU()
MELDAUTOR()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure INFO_1(infotafel,infomax)
Protected q,info$,dx,dy
Select infotafel
Case 1
Restore ZB_INFO
Case 2
Restore ZC_INFO
Case 3
Restore ZD_INFO
Case 4
Restore ZE_INFO
EndSelect
StartDrawing(CanvasOutput(#gdg00))
Box (0,0,#win1_x,#win1_y-32,fa(8))
StopDrawing()
; FlipBuffers()
If infomax=1:MELDUNTEN("Zum Beenden: <esc> druecken") :EndIf
If infomax>1:MELDUNTEN("Beenden <esc> ; Blaettern <re> <li>"):EndIf
StartDrawing(CanvasOutput(#gdg00))
DrawingFont(FontID(#font03))
DrawingMode(#PB_2DDrawing_Transparent)
For q=1 To 26
Read.s info$
dx=25:dy=q*25-5
DrawText(dx,dy,info$,fa(10))
Next q
StopDrawing()
; FlipBuffers()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure AUTOR()
Protected v1,v2,v3,na0$,na2$,na4$
V1=40:V2=65:V3=110
NA0$=Chr((V2-25)) +Chr((v3-11)) +Chr((V1+1)) +Chr((V2-33)) +Chr((V1+29))
NA2$=Chr((V2+10)) +Chr((3*v1-3))+Chr((V3-9)) +Chr((2*V1+24))+Chr((v3))
NA4$=Chr((3*V1-6))+Chr((V3-5)) +Chr((2*V1+19))+Chr((2*V2-26))+Chr((V2-v1+7))
autor$=NA0$+NA4$+NA2$
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure SYS_FARBE()
Fa( 1)= RGB(185,015,000) ; rot für meldunten
Fa( 2)= RGB(090,100,010) ; olivgruen f. meldautor
Fa( 3)= RGB(030,030,180) ; mittelblau als Hintergrund f. Meldtast
Fa( 4)= RGB(000,000,000) ; schwarz
Fa( 5)= RGB(255,255,255) ; hellweiss
Fa( 6)= RGB(255,255,000) ; gelb
Fa( 7)= RGB(255,000,000) ; rot
Fa( 8)= RGB(080,080,080) ; grau
Fa( 9)= RGB(165,005,000) ; farbe 2 für meldunten
Fa(10)= RGB(180,180,200) ; .
Fa(11)= RGB(180,180,180) ; Button 1
Fa(12)= RGB(030,030,030) ; Button 2
Fa(13)= RGB(150,150,200) ; Button 3
Fa(14)= RGB(030,030,080) ; Button 4
Fa(15)= RGB(240,200,200) ; Button 5
Fa(16)= RGB(060,030,030) ; Button 6
Fa(17)= RGB(180,030,030) ; Button 7
Fa(18)= RGB(055,005,005) ; Button 8
Fa(19)= RGB(030,030,180) ; Button 9
Fa(20)= RGB(005,005,055) ; Button 10
; ab hier frei programmierbare Farben für spezifisches Prog
Fa(21)= RGB(000,000,100) ; dunkelblau
Fa(22)= RGB(060,130,060) ; gruen
Fa(23)= RGB(005,070,005) ; dunkelgruen
Fa(24)= RGB(075,060,000) ; braun
Fa(25)= RGB(130,120,000) ; beige
Fa(26)= RGB(100,150,240) ; hellblau
Fa(27)= RGB(250,040,040) ; hellrot
Fa(28)= RGB(140,010,010) ; dunkelrot
Fa(29)= RGB(030,030,030) ; dunkelgrau
Fa(30)= RGB(250,250,250) ; hellweiss
Fa(31)= RGB(100,250,100) ; knatschgruen
Fa(32)= RGB(250,040,040) ; frei
Fa(33)= RGB(250,040,040) ; frei
Fa(34)= RGB(140,010,010) ; frei
Fa(35)= RGB(180,180,180) ; hellgrau; Menu
Fa(36)= RGB(140,140,140) ; mittelgrau Menu
Fa(37)= RGB(160,180,200) ; hellgrau mit blau; Untermneues
Fa(38)= RGB(120,140,160) ; mittelgrau mit blau; Untermenues
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure SYS_BILDER()
; jetzt soll das Hintergrundbild geladen werden
; ---
; hier wird das Bild aus der EXE ausgelesen, in die es integriert ist
;CatchImage(#bld00,?zz_BILD01)
;CatchImage(#bld01,?zz_BILD02)
CreateImage(#bld00,1280,720)
StartDrawing(ImageOutput(#bld00))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(12)):BackColor (fa(11)) ; hell oben grau
LinearGradient(40,1,40,720)
Box(0,0,1280,720,fa(4))
StopDrawing()
CreateImage(#bld01,1200,600)
StartDrawing(ImageOutput(#bld01))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(12)):BackColor (fa(11)) ; hell oben grau
LinearGradient(40,1,40,720)
Box(0,0,1280,720,fa(4))
StopDrawing()
; ---
; hier wird das Bild von der HDD geladen
; #bld00=LoadImage(#PB_Any,HBILD$)
; ---
; bilder erstellen für meldunten und meldtast
; GrabImage(#bld00,#bld05, 0, 688, 1000, 32) ;meldunten
; GrabImage(#bld00,#bld02, 0, 672, 1024, 32) ;meldtast
; ----------------------------------------
;jetzt werden die Button-Bilder erzeugt mit Farbverlauf
; ----------------------------------------
CreateImage(#but01,80,60) ; Button-Leiste 1 (F1)
StartDrawing(ImageOutput(#but01))
Box(0,0,80,60,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(12)):BackColor (fa(11)) ; hell oben grau
LinearGradient(40,1,40,60)
Box(1,1,78,59)
StopDrawing()
CreateImage(#but02,80,60) ; Button-Leiste 2 (F1)
StartDrawing(ImageOutput(#but02))
;Farbbox dunkel oben; hell unten
Box(0,0,80,60,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(11)):BackColor (fa(12)) ; hell unten grau
LinearGradient(40,1,40,60)
Box(1,1,78,59)
StopDrawing()
; ---
CreateImage(#but03,80,60) ;Button-Leiste 1 (F2)
StartDrawing(ImageOutput(#but03))
Box(0,0,80,60,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(14)):BackColor (fa(13)) ; hell oben blau
LinearGradient(40,1,40,60)
Box(1,1,78,59)
StopDrawing()
CreateImage(#but04,80,60) ; Button-Leiste 2 (F2)
StartDrawing(ImageOutput(#but04))
Box(0,0,80,60,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(13)):BackColor (fa(14)) ;hell unten blau
LinearGradient(40,1,40,60)
Box(1,1,78,59)
StopDrawing()
; ---
CreateImage(#but05,80,60) ; Button-Leiste 1 (F3)
StartDrawing(ImageOutput(#but05))
Box(0,0,80,60,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(16)):BackColor (fa(15)) ; hell oben rot
LinearGradient(40,1,40,60)
Box(1,1,78,59)
StopDrawing()
CreateImage(#but06,80,60) ; Button-Leiste 2 (F3)
StartDrawing(ImageOutput(#but06))
Box(0,0,80,60,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(15)):BackColor (fa(16)) ; hell unten rot
LinearGradient(40,1,40,60)
Box(1,1,78,59)
StopDrawing()
; --- grosse Buttons oben
CreateImage(#but07,240,44) ;OfficeButton 1
StartDrawing(ImageOutput(#but07))
Box(0,0,240,44,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(20)):BackColor(fa(19)) ; hell oben
LinearGradient(40,1,40,44)
Box(1,0,238,43)
DrawingFont(FontID(#font00))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(85,8,"Office",fa(6))
StopDrawing()
CreateImage(#but08,240,44) ; OfficeButton 2
StartDrawing(ImageOutput(#but08))
Box(0,0,240,44,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(19)):BackColor(fa(20)) ; hell unten
LinearGradient(40,1,40,44)
Box(1,0,238,43)
DrawingFont(FontID(#font00))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(85,8,"Office",fa(6))
StopDrawing()
CreateImage(#but09,240,44) ; Ship-Trader-Button 1
StartDrawing(ImageOutput(#but09))
Box(0,0,240,44,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(18)):BackColor(fa(17)) ;hell oben
LinearGradient(40,1,40,44)
Box(1,0,238,43)
DrawingFont(FontID(#font00))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(65,8,"Ship-Trader",fa(6))
StopDrawing()
CreateImage(#but10,240,44) ; Ship-Trader-Button 2
StartDrawing(ImageOutput(#but10))
Box(0,0,240,44,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(17)):BackColor(fa(18)) ;hell unten
LinearGradient(40,1,40,44)
Box(1,0,238,43)
DrawingFont(FontID(#font00))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(65,8,"Ship-Trader",fa(6))
StopDrawing()
; ---
; Start-Pause-Button unten
CreateImage(#but11,240,44) ; Start-Pause-Button 1
StartDrawing(ImageOutput(#but11))
Box(0,0,240,44,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(18)):BackColor(fa(17)) ; hell oben
LinearGradient(40,1,40,44)
Box(1,0,238,43)
DrawingFont(FontID(#font00))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(65,8,"START",fa(6))
StopDrawing()
CreateImage(#but12,240,44) ; Start-Pause-Button 2
StartDrawing(ImageOutput(#but12))
Box(0,0,240,44,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(22)):BackColor(fa(23)) ; hell unten
LinearGradient(40,1,40,44)
Box(1,0,238,43)
DrawingFont(FontID(#font00))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(65,8,"PAUSE",fa(6))
StopDrawing()
CreateImage(#but13,240,44) ; Start-Pause-Button 3
StartDrawing(ImageOutput(#but13))
Box(0,0,240,44,fa(4))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(fa(12)):BackColor(fa(11)) ;hell unten grau
LinearGradient(40,1,40,44)
Box(1,0,238,43)
StopDrawing()
; ---
; ------------------------------------------------------------
; Sprite für Mauscursor erzeugen
; ------------------------------------------------------------
; CreateSprite(99,6,6)
; StartDrawing(SpriteOutput(99))
; Box(0,0,5,5,fa(6))
; StopDrawing()
; ------------------------------------------------------------
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure ZE_HIGRU()
StartDrawing(CanvasOutput(#gdg00))
; DrawingMode(#PB_2DDrawing_Default)
DrawImage(ImageID(#bld00),0,0)
StopDrawing()
; FlipBuffers()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure ZE_ROHBILD()
; anzeige des kompletten spielbildes am Anfang
;einzelne Bereiche jeweils als eigene Prozedur wie die Buttons
; hier dann nur aufruf der Prozeduren
Protected li,ob,br,ho,qx
StartDrawing(CanvasOutput(#gdg00))
DrawImage(ImageID(#bld01),0,44)
StopDrawing()
StartDrawing(CanvasOutput(#gdg00))
Box(0,0,1280,44,fa(4)) ; obere Leiste
Box(1,1,1278,43,fa(35))
LineXY(0,44,0,644,fa(4))
Box(0,644,1280,44,fa(4)) ; untere Leiste
Box(1,645,1278,43,fa(35))
li=1200:ho= 60
; Hamburg (001)
li=(600-1)+32
ob=(44+300-1)-177
Box(li,ob,3,3,fa(1))
; Vigo (002)
li=(600-1)-27
ob=(44+300-1)-140
Box(li,ob,3,3,fa(1))
; new York (003)
li=(600-1)-247
ob=(44+300-1)-134
Box(li,ob,3,3,fa(1))
StopDrawing()
For qx=1 To 10
ZE_BUTTON(qx,0,0)
Next qx
StartDrawing(CanvasOutput(#gdg00))
li= 800:ob= 1:DrawImage(ImageID(#but09),li,ob) ; Button Shiptrader
li=1040:ob= 1:DrawImage(ImageID(#but07),li,ob) ; Button Office
li=1040:ob=645:DrawImage(ImageID(#but11),li,ob) ; Button Start/Pause
StopDrawing()
ZE_DATUM(" , --.--.----")
ZE_SPEED()
; data.i 1,631,166,
; data.i 2,572,203,
; data.i 3,352,209,
; data.s "1","Hamburg","Deutschland"
; data.s "2","Vigo","Portugal"
; data.s "3","New York","USA"
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure ZE_BUTTON(nr,tx,flp)
Protected li,ob,ta$,tb$,bld,num
If gg(4)=0
num=nr
If flp=0:bld=#but01:EndIf
If flp=1:bld=#but02:EndIf
EndIf
If gg(4)=1
num=nr+10
If flp=0:bld=#but03:EndIf
If flp=1:bld=#but04:EndIf
EndIf
If gg(4)=2
num=nr+20
If flp=0:bld=#but05:EndIf
If flp=1:bld=#but06:EndIf
EndIf
Select num
; --- allgemein
Case 1
ta$="Quit ":tb$="Game "
Case 2
ta$="Spei-" :tb$="chern"
Case 3
ta$="Laden" :tb$=" "
Case 4
ta$="allg4" :tb$=" "
Case 5
ta$="allg5" :tb$=" "
Case 6
ta$="allg6" :tb$=" "
Case 7
ta$="allg7" :tb$=" "
Case 8
ta$="allg8" :tb$=" "
Case 9
ta$="allg9" :tb$=" "
Case 10
ta$="allg0" :tb$=" "
; --- Office
Case 11
ta$="Exit " :tb$=" "
Case 12
ta$="offc2 ":tb$=" "
Case 13
ta$="offc3 ":tb$=" "
Case 14
ta$="offc4 ":tb$=" "
Case 15
ta$="offc5 ":tb$=" "
Case 16
ta$="offc6 ":tb$=" "
Case 17
ta$="offc7 ":tb$=" "
Case 18
ta$="offc8 ":tb$=" "
Case 19
ta$="offc9 ":tb$=" "
Case 20
ta$="offc0 ":tb$=" "
; --- Ship-Trader
Case 21
ta$="Exit " :tb$=" "
Case 22
ta$="Ankauf" :tb$=" "
Case 23
ta$="Verkauf" :tb$="LowCost"
Case 24
ta$="Verkauf" :tb$="Preowned"
Case 25
ta$="Verkauf" :tb$="Schüttgut"
Case 26
ta$="Verkauf" :tb$="Tanker"
Case 27
ta$="Verkauf" :tb$="Container"
Case 28
ta$="Verkauf" :tb$="Sonstige"
Case 29
ta$="Verkauf" :tb$="Ausrüstg"
Case 30
ta$=" . " :tb$=" . "
Default
ta$=" . " :tb$=" "
EndSelect
li=1200
ob=(nr-1)*60+44
StartDrawing(CanvasOutput(#gdg00))
DrawImage(ImageID(bld),li,ob)
DrawingFont(FontID(#font03))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(li+2,ob+ 2,ta$,fa(6))
DrawText(li+2,ob+30,tb$,fa(6))
StopDrawing()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure ZE_DATUM(zeit$)
; Spieldauer anzeigen
Protected li,ob,br,ho
li= 0
ob= 644
br= 240
ho= 44
StartDrawing(CanvasOutput(#gdg00))
Box(li ,ob ,br,ho ,fa(4))
Box(li+1,ob+1,br-2,ho-1,fa(8))
DrawingFont(FontID(#font08))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(li+8,ob+6,zeit$,fa(4))
DrawText(li+9,ob+7,zeit$,fa(6))
StopDrawing()
; FlipBuffers()
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Procedure MAUSZONE()
Protected mf
mf=0
; Spielfeld mit Scrollzonen
If mausy<45
If mausx> 800:mf=3:EndIf
If mausx>1040:mf=2:EndIf
ProcedureReturn mf
EndIf
If mausy>644 And mausy<689
If mausx>1040 :mf=4:EndIf
If mausx> 240 And mausx<480:mf=5:EndIf
ProcedureReturn mf
EndIf
If mausx>1200
If mausy> 44:mf=11:EndIf
If mausy>104:mf=12:EndIf
If mausy>164:mf=13:EndIf
If mausy>224:mf=14:EndIf
If mausy>284:mf=15:EndIf
If mausy>344:mf=16:EndIf
If mausy>404:mf=17:EndIf
If mausy>464:mf=18:EndIf
If mausy>524:mf=19:EndIf
If mausy>584:mf=20:EndIf
ProcedureReturn mf
EndIf
EndProcedure
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ============================================================
; ------Datasections------------------------------------------
;-[-ZA_BILDER ------------------------------------------------
; das Hintergrundbild wird in die exe integriert
DataSection
zz_BILD01:
;IncludeBinary #BILD00$
zz_BILD02:
;IncludeBinary #BILD01$
;IncludeBinary "EK-KARTE.png"
EndDataSection
;}-------------------------------------------------------------
;-[-ZB_INFO --------------------------------------------------
DataSection
ZB_INFO:
Data.s "Hinweise:"
Data.s ".z02"
Data.s ".z03"
Data.s ".z04"
Data.s ".z05"
Data.s ".z06"
Data.s ".z07"
Data.s ".z08"
Data.s ".z09"
Data.s ".z10"
Data.s ".z11"
Data.s ".z12"
Data.s ".z13"
Data.s ".z14"
Data.s ".z15"
Data.s ".z16"
Data.s ".z17"
Data.s ".z18"
Data.s ".z19"
Data.s ".z20"
Data.s ".z21"
Data.s ".z22"
Data.s ".z23"
Data.s ".z24"
Data.s ".z25"
Data.s ".z26"
EndDataSection
;} -----------------------------------------------------------
;-[-ZC_INFO --------------------------------------------------
DataSection
ZC_INFO:
EndDataSection
;} -----------------------------------------------------------
;-[-ZD_INFO --------------------------------------------------
DataSection
ZD_INFO:
EndDataSection
;} ------------------------------------------------------------
;-[-ZE_INFO --------------------------------------------------
DataSection
ZE_INFO:
EndDataSection
;} ------------------------------------------------------------
;-[-ZF_KARTEN ------------------------------------------------
DataSection
ZF_KARTEN:
Data.i 1,1,1,1,1,1,1,1,1,1
Data.i 2,2,2,2,2,2,2,2,2,2
Data.i 3,3,3,3,3,3,3,3,3,3
Data.i 4,4,4,4,4,4,4,4,4,4,4,4
Data.i 5,5,5,5
Data.i 6,6,6,6,6,6,6,6,6,6,6,6,6,6
Data.i 7,7,7,7,7
Data.i 8,9,9,9,9,9,9,10,10,10,10
Data.i 11,12,12,12,12,12,12,13,13,13
Data.i 14,15,15,15,15,15,15,16,16,16
Data.i 17,18,18,18,18,18,18,19,19,19
Data.i 0,0,0,0,0,0,0,0,0
EndDataSection
;} ------------------------------------------------------------------
; ============================================================
End