mid1& = _SNDOPEN("hi_hat.mid", "vol") _SNDVOL mid1&, 0.7 _SNDPLAY mid1&
'-----------------------------------------------------code for soundvolume = 1 ' full volumegamestart = False ' no game yetintromusic = _SNDOPEN("munchies.mid", "VOL") ' open intro music_SNDVOL intromusic, volume ' set music volume_SNDLOOP intromusic 'PRINT "This is my Music"
REMDEFLNG A-ZCHDIR "c:\windows\media\" 'xp files reside here or put file in qb64 main foldermid1& = _SNDOPEN("hi_hat.mid", "vol")_SNDVOL mid1&, 0.7SCREEN 12DO _LIMIT 100 x1 = INT(RND * 600) + 20 y1 = INT(RND * 400) + 20 r = INT(RND * 10) + 1 tint = INT(RND * 15) + 1 PSET (x1, y1), tint CIRCLE (x1, y1), r, tint IF NOT _SNDPLAYING(mid1&) THEN _SNDPLAY mid1& END IF IF _KEYDOWN(27) THEN EXIT DO END IF _DISPLAYLOOP_SNDSTOP mid1&_SNDCLOSE mid1&SLEEPSYSTEM
REM Demo of Pac Map.DEFLNG A-ZSCREEN _NEWIMAGE(800, 600, 32) 'what we seeDIM SHARED mx, my, mbl, mbrDIM SHARED PacMap(19, 25)DIM SHARED Pacrow, Paccol, Pacsym, N, S, E, W, NN, SS, EE, WWPacsym = 10: Pacrow = 1: Paccol = 7GOSUB FilldimGOSUB Placepac'NOTE row and column start at 0DO _LIMIT 15 CLS GOSUB Showmap GOSUB Movpac LOCATE 33, 1: PRINT Pacrow, Paccol, N, E, S, W LOCATE 34, 1: PRINT NN, EE, SS, WW _DISPLAYLOOP UNTIL _KEYDOWN(27)SLEEPSCREEN 0SYSTEMMovpac:'make a backup of PAC row and columnOlDPacrow = Pacrow: OldPaccol = Paccol'we need to know what is above,below,to right and left for possible unblocked movement'if any of NSEW is a limit on the map make it invalid as -1N = Pacrow - 1IF N < 0 THEN N = -1S = Pacrow + 1IF S > 18 THEN S = -1E = Paccol + 1IF E > 24 THEN E = -1W = Paccol - 1IF W < 0 THEN W = -1'now if NSEW are valid see whats in those "cells"IF N <> -1 THEN NN = PacMap(N, Paccol)IF S <> -1 THEN SS = PacMap(S, Paccol)IF E <> -1 THEN EE = PacMap(Pacrow, E)IF W <> -1 THEN WW = PacMap(Pacrow, W)IF _KEYDOWN(20480) THEN 'down arrow key IF SS <> 176 THEN 'test for wall IF S <> -1 THEN 'test for map limit Pacrow = Pacrow + 1 END IF END IFEND IFIF _KEYDOWN(18432) THEN 'up arrow key IF NN <> 176 THEN IF N <> -1 THEN Pacrow = Pacrow - 1 END IF END IFEND IFIF _KEYDOWN(19200) THEN 'left arrow key IF WW <> 176 THEN IF W <> -1 THEN Paccol = Paccol - 1 END IF END IFEND IFIF _KEYDOWN(19712) THEN 'right arrow key IF EE <> 176 THEN IF E <> -1 THEN Paccol = Paccol + 1 END IF END IFEND IFIF Pacrow <> OlDPacrow OR Paccol <> OldPaccol THEN 'remove pac man from old position z = PacMap(OlDPacrow, OldPaccol) ''extract old pac man z = z - Pacsym ''suntract pacman symbol from it (42 - 10 = 32) PacMap(OlDPacrow, OldPaccol) = z ''place z back inside map 'add new pac to new position z = PacMap(Pacrow, Paccol) ''extract whats at this new row and column (should be 32) z = z + Pacsym ''add pacman symbol to it (32 +10 = 42) PacMap(Pacrow, Paccol) = z ''place in back inside mapEND IFRETURNShowmap:FOR c = 0 TO 18 FOR R = 0 TO 24 z = PacMap(c, R) SELECT CASE z CASE 32 CASE 42 LINE (R * 30, c * 30)-((R * 30) + 29, (c * 30) + 29), _RGB32(255, 255, 0), BF CASE 176 LINE (R * 30, c * 30)-((R * 30) + 29, (c * 30) + 29), _RGB32(0, 0, 255), BF END SELECT NEXT RNEXT cRETURNFilldim:FOR c = 0 TO 18 FOR R = 0 TO 24 READ z PacMap(c, R) = z 'PacMap(r, c) = Z IF z = 176 THEN LINE (R * 30, c * 30)-((R * 30) + 29, (c * 30) + 29), _RGB32(0, 0, 255), BF END IF NEXT RNEXT cRETURNPlacepac:'extract whats at this row and column (should be 32)z = PacMap(Pacrow, Paccol)'add pacman symbol to it (32 +10 = 42)z = z + Pacsym'place in back inside mapPacMap(Pacrow, Paccol) = zRETURN'-------------------------- MAP --------------------------------------DATA 176,176,176,176,176,176,176,176,176,176,176,176,32,176,176,176,176,176,176,176,176,176,176,176,176DATA 176,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,176DATA 176,32,176,176,176,176,176,176,176,176,176,32,176,32,176,176,176,176,176,176,176,176,176,32,176DATA 176,32,176,32,32,32,32,32,32,32,32,32,176,32,176,32,32,32,32,32,32,32,176,32,176DATA 176,32,176,32,176,176,176,176,32,176,176,32,176,32,176,32,176,176,176,176,176,32,176,32,176DATA 176,32,176,32,176,32,32,32,32,32,176,32,176,32,176,32,32,32,32,32,32,32,176,32,176DATA 176,32,176,32,176,32,176,176,32,176,176,32,176,32,176,32,176,32,176,32,176,32,32,32,176DATA 176,32,32,32,176,32,32,32,32,32,32,32,32,32,32,32,176,32,176,32,176,32,176,32,176DATA 176,32,176,32,176,32,176,176,176,32,176,176,32,176,176,32,32,32,176,32,32,32,176,32,176DATA 32,32,176,32,32,32,32,32,32,32,176,32,32,32,176,32,176,176,176,176,176,32,176,32,32DATA 176,32,176,32,176,32,176,176,176,32,176,176,176,176,176,32,32,32,176,32,32,32,176,32,176DATA 176,32,32,32,176,32,32,32,32,32,32,32,32,32,32,32,176,32,176,32,176,32,176,32,176DATA 176,32,176,32,176,32,176,176,32,176,176,32,176,32,176,32,176,32,176,32,176,32,32,32,176DATA 176,32,176,32,176,32,32,32,32,32,176,32,176,32,176,32,32,32,32,32,32,32,176,32,176DATA 176,32,176,32,176,176,176,176,32,176,176,32,176,32,176,32,176,176,176,176,176,32,176,32,176DATA 176,32,176,32,32,32,32,32,32,32,32,32,176,32,176,32,32,32,32,32,32,32,176,32,176DATA 176,32,176,176,176,176,176,176,176,176,176,32,176,32,176,176,176,176,176,176,176,176,176,32,176DATA 176,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,176DATA 176,176,176,176,176,176,176,176,176,176,176,176,32,176,176,176,176,176,176,176,176,176,176,176,176