CheckSum.zip Size : 761.403 Kb Type : zip |
|
This is a 6 digit Checksum calculator made with NaaLaa6. I made it because I needed to add a long list of numbers for a game I was making.
visible:
mx;my;size;column;row;value;key; zoneselected ; Snd1 ; keypad = 0
panel1;panel2;windownumber = 1 ; zonenumber = 0
event = 1 ; input$ = "" ; output$ = "" ; count = 0
data[20]
hidden:
set redraw off
procedure start()
ThisIsAPlaceHolder = 1
endproc
set window 0, 0, 700, 700
proc SetupData
proc SetupSound
proc SetupButtons
proc SetupPanels
proc SetupKeyPad
proc SetUpWindow
proc SetUpZones
set color 0,0,0
cls
do
if event = 2 then
proc SetBackGround
proc MouseCheck
proc MakePanels
proc KeyBoard
proc DisplayText
proc MakeKeyPad
proc MakeWindow
endif
if event = 1 then
proc Menu
wait 40
endif
redraw
until event = 3
end
procedure SetBackGround()
set color 150,150,150
cls
set color 255,255,255
wait 40
endproc
procedure MouseCheck()
mx = mousex()
my = mousey()
a;b
if mousebutton(0,1) then
zoneselected = zone(mx,my)
zonenumber = zoneselected
endif
if zoneselected < 11 and zoneselected>0 and count<6 then
keypad = zoneselected
if keypad = 10 then keypad = 0
input$ = input$ + str$(keypad)
count = count + 1
play sound 0
endif
if zoneselected > 13 then play sound 2
if zoneselected = 11 then windownumber = windownumber + 1
if zoneselected = 12 then windownumber = windownumber - 1
if zoneselected = 13 then
data[windownumber] = int ( input$ )
count = 0
input$ = ""
for a = 1 to 18
b=b+ data[a]
next
output$ = str$(b)
play sound 1
windownumber = windownumber + 1
endif
if zoneselected = 14 then
for a = 1 to 18
data[a] = 0
next
input$ = "" ; output$ = "" ; windownumber = 1
endif
if zoneselected = 15 then input$ = ""
if windownumber > 18 then windownumber = 1
if windownumber < 1 then windownumber = 18
zoneselected = 0
endproc
procedure KeyBoard()
a = 1
value = inkey()
if value = 27 then event = 3
if value > 0 then play sound Snd1
if value > 0 then key = value
endproc
procedure MakePanels()
draw image 20,100,20
rem draw image panel2,700,20
rem draw image leftarrow,300,600
rem draw image rightarrow,400,600
endproc
procedure DisplayText()
rem I use this section for debugging
set caret 10,20 ; write str$( mx )
set caret 10,40 ; write str$( my )
set caret 10,60 ; write str$( windownumber )
set caret 10,80 ; write str$( zonenumber )
set caret 10,100 ; write input$
set caret 10,120 ; wln str$( count )
set caret 10,140 ; wln str$( key )
endproc
procedure MakeButtons()
draw image 1,25,15 ; draw image 6,175,90 ; draw image 11,25,240
draw image 2,100,15 ; draw image 7,25,165 ; draw image 12,250,15
draw image 3,175,15 ; draw image 8,100,165 ; draw image 13,250,90
draw image 4,25,90 ; draw image 9,175,165 ; draw image 14,250,165
draw image 5,100,90 ; draw image 10,100,240
draw image 15,175,240 ; draw image 16,250,240
endproc
procedure Menu()
a = 1
rem set color 0,0,0
rem cls
set color 250,250,250
wln ; wln ; wln ; wln ; wln ; wln ; wln
wln " SIMPLE CHECKSUM CALCULATOR "
wln " I needed a check sum calculator for a game I was writing."
wln " Type your number on the keypad using the mouse. It will"
wln " show on the bottom-left window. You are allowed 6 digits. "
wln " Click on the W keys to select which window you want to use."
wln " After you type a number, click on the E key to enter it to"
wln " the selected window. "
wln " The Clr key clears all windows. "
wln " The clr key clears the Input window "
wln " Click mouse to start. "
wln
wln " http://rb23.yolasite.com "
wln
redraw
while a = 1
wait 20
if mousebutton(0) then a = 2
wend
set color 0,0,0
cls
write ; write ; wln a
event = 2
endproc
procedure SetupSound()
load sound 0,"data\click.wav"
load sound 1,"data\beep2.wav"
load sound 2,"data\teleport.wav"
endproc
procedure SetupButtons()
a
for a = 1 to 16
create image a ,50,50
rem create zone a,20,30*a+100,60,20
next
set color 230,230,255
for a = 1 to 16
set image a
draw rect 1,1,46,46,1
next
a = 0
create font 1, "arial", 24
set font 1
set color 0,0,0
for a = 1 to 13
set image a
if a = 1 then
set caret 20,14
write "1"
endif
if a = 2 then
set caret 20,14
write "2"
endif
if a = 3 then
set caret 20,14
write "3"
endif
if a = 4 then
set caret 20,14
write "4"
endif
if a = 5 then
set caret 20,14
write "5"
endif
if a = 6 then
set caret 20,14
write "6"
endif
if a = 7 then
set caret 20,14
write "7"
endif
if a = 8 then
set caret 20,14
write "8"
endif
if a = 9 then
set caret 20,14
write "9"
endif
if a = 10 then
set caret 20,14
write "0"
endif
if a = 12 then
set caret 10,14
write "W+"
endif
if a = 13 then
set caret 10,14
write "W-"
endif
next
set image 14
set caret 10,14
write " E"
set image 16
set caret 10,14
write "Clr"
set image 15
set caret 10,14
write "clr"
rem create font 1, "arial", 20
rem set font 0
set image primary
set color 255,255,255
endproc
procedure SetupPanels()
x=0;y=0
create image 20, 500,650
set image 20
set color 200,200,240
draw rect 4,4,492,642,1
set color 190,190,230
while y<650
y=y+10
draw line 4,y,494,y
wend
while x<500
x=x+10
draw line x,4,x,644
wend
set image primary
set color 255,255,255
endproc
procedure SetupKeyPad()
create image 21, 325,305
set image 21
set color 255,255,255
draw rect 2,2,321,301,1
proc MakeButtons
set image primary
endproc
procedure MakeKeyPad()
draw image 21,187,325
endproc
procedure SetUpWindow()
create image 22, 325,250
set image 22
set color 255,255,255
draw rect 2,2,321,246,1
set color 0,0,0
for a = 1 to 6
draw rect 20,32*a-20,80,35
draw rect 120,32*a-20,80,35
draw rect 220,32*a-20,80,35
next
draw rect 40,210,110,35
draw rect 170,210,110,35
set image primary
set color 255,255,255
endproc
procedure MakeWindow()
x;y
draw image 22,187,50
set color 0,0,0
set caret 250,265 ; wln input$
set caret 380,265 ; wln output$
set caret 212,68 ; wln str$( data[1] ) ; set caret 312,68 ; wln str$( data[7] ) ; set caret 412,68 ; wln str$( data[13] )
set caret 212,100 ; wln str$( data[2] ) ; set caret 312,100 ; wln str$( data[8] ) ; set caret 412,100 ; wln str$( data[14] )
set caret 212,132 ; wln str$( data[3] ) ; set caret 312,132 ; wln str$( data[9] ) ; set caret 412,132 ; wln str$( data[15] )
set caret 212,164 ; wln str$( data[4] ) ; set caret 312,164 ; wln str$( data[10] ) ; set caret 412,164 ; wln str$( data[16] )
set caret 212,196 ; wln str$( data[5] ) ; set caret 312,196 ; wln str$( data[11] ) ; set caret 412,196 ; wln str$( data[17] )
set caret 212,228 ; wln str$( data[6] ) ; set caret 312,228 ; wln str$( data[12] ) ; set caret 412,228 ; wln str$( data[18] )
x=195
if windownumber > 6 then x = 295
if windownumber > 12 then x = 395
if windownumber = 1 then y = 70
if windownumber = 7 then y = 70
if windownumber = 13 then y = 70
if windownumber = 2 then y = 102
if windownumber = 8 then y = 102
if windownumber = 14 then y = 102
if windownumber = 3 then y = 134
if windownumber = 9 then y = 134
if windownumber = 15 then y = 134
if windownumber = 4 then y = 166
if windownumber = 10 then y = 166
if windownumber = 16 then y = 166
if windownumber = 5 then y = 198
if windownumber = 11 then y = 198
if windownumber = 17 then y = 198
if windownumber = 6 then y = 230
if windownumber = 12 then y = 230
if windownumber = 18 then y = 230
set color 0,0,255
draw rect x,y,10,10,1
endproc
procedure SetUpZones()
create zone 1,213,340,50,50 ;create zone 2,288,340,50,50 ;create zone 3,366,340,50,50
create zone 4,213,414,50,50 ;create zone 5,288,414,50,50 ;create zone 6,366,414,50,50
create zone 7,213,488,50,50 ;create zone 8,288,488,50,50 ;create zone 9,366,488,50,50
create zone 10,288,564,50,50 ; create zone 11,436,340,50,50 ; create zone 12,436,414,50,50
create zone 13,436,488,50,50 ; create zone 14,436,564,50,50 ; create zone 15,366,564,50,50
endproc
procedure SetupData()
for a= 1 to 19
data[a] = 0
next
endproc