CodeBase Entries
Welcome to our CodeBase where you can search through DarkBASIC, DarkBASIC Professional and AppGameKit source code covering a wide range of topics from full games to demo effects to object loaders.
All registered users can submit their own code from their account page, so why not contribute?
| CodeBase Description | Category | |
|---|---|---|
|
A code for saving and loading values in an external file. Version: 1.0
Created: 2nd Dec 2007 01:09
|
Functions |
|
A code that says the current time, or tells the time at the top of hour. (sounds included in ZIP) Version: 1.1
Created: 27th Nov 2007 20:47
|
Sound |
|
Make your own TV! Add your own channals! Version: 1.0
Created: 26th Nov 2007 16:00
|
Animation |
|
A nice little computer program that talks, well, he gets annoying. He's yours now ;) Version: 1.0
Created: 21st Nov 2007 01:30
|
Text |
|
Rounds a real number to the nearest whole integer. Version: 2
Created: 19th Nov 2007 22:06
|
Math / Physics |
|
all CAD wants is a friend ;( please don't kill him. simple but funny text. beginners, try and copy from it. Version: 1.0
Created: 17th Nov 2007 12:28
|
Text |
|
A simple code of a 2D line pattern that plays a illusion on the eyez. Version: 1.0
Created: 8th Nov 2007 05:27
|
Basic 2D |
|
A simple matrix style screen loader Version: 1.4
Created: 7th Nov 2007 15:35
|
Text |
|
Generates and rotates a galaxy which is created from a random seed value. Version: 1.0
Created: 1st Nov 2007 20:01
|
Math / Physics |
|
Natural, realistic flight performance, yet easy and intuitive to use. Version: 1.0
Created: 29th Oct 2007 20:30
|
Complete Applications |
|
Working, mathematically based car simulation code for all to use. Version: 1.0
Created: 29th Oct 2007 20:13
|
Complete Applications |
|
Convert the Oddnumbered "Seam Sharing" HeightMap exported from Ted for use with Advanced Terrain - when you want to Tile them. This makes the Seams line up. Simple yet effective. (Note Attached MEdia needs to be converted back to Bitmap to do exactly what I know it will do. Bitmap was to big to upload here. IF you change the HeightMap.bmp to HeightMap.png it may work - I haven't tested that. Version: 1.0
Created: 17th Oct 2007 12:43
|
Complete Applications |
|
Creates a rounded rectangle with a lot of flexibility Version: 1.0
Created: 16th Oct 2007 07:48
|
Basic 2D |
|
My First Game . You need to destroy red cube by placing "mines" Version: 1.0
Created: 14th Oct 2007 13:28
|
Games |
|
move 50 cars and collision to wall Version: 1.0
Created: 14th Oct 2007 03:35
|
Complete Applications |
|
This function deletes everything that you have loaded into DBP. Recoded by JosephB. Version: 1.0
Created: 8th Oct 2007 21:46
|
File |
|
A program that produces a quasi-realistic galaxy, in just 20 lines of code. Version: 1.0
Created: 6th Oct 2007 03:27
|
2D Effects |
|
Travel through 5 Levels of Mazes. No Media! Version: 1.0
Created: 30th Sep 2007 20:48
|
3D |
|
Using this function you can set the FOV of any camera using two angles for x and y. Version: 1.0
Created: 23rd Sep 2007 21:15
|
Camera |
|
A program that calculates reaction time in seconds Version: 1.0
Created: 23rd Sep 2007 15:43
|
Math / Physics |
|
This code creates a text file with all the commands to recreate an image. You then just copy all the text in the file into your programme. Version: 1.0
Created: 16th Sep 2007 05:59
|
Bitmap |
|
rem Basic water tank simulation (REALLY basic!) set display mode 1024,768,32 sync on:sync rate 30 autocam off rem generate a plain texture cls rgb(32,192,255) get image 3,0,0,32,32 rem A few particles nbpart=192 dim partX#(nbpart):dim partY#(nbpart):dim partZ#(nbpart) dim partXd#(nbpart):dim partYd#(nbpart):dim partZd#(nbpart) dim partXTarget#(nbpart):dim partYTarget#(nbpart):dim partZTarget#(nbpart):dim partStatus#(nbpart) for i=0 to 8 load image "splash0"+str$(i+1)+".bmp",500+i next i rem Size of the water matrix matrixSizeX#=120:matrixSizeZ#=90 nsquarex=32:nsquarez=24 tileSizeX#=matrixSizeX#/nsquarex:tileSizeZ#=matrixSizeZ#/nsquarez rem A sine table, to speed up calculations dim sineTable#(360) for i=0 to 359 sineTable#(i)=sin(i) next i rem Create the tank, and texture it with a caustics texture make object box 2,matrixSizeX#,matrixSizeZ#/2,matrixSizeZ# scale object 2,-100,-100,-100 position object 2,0,(matrixSizeZ#/-4),0 load image "caustics.bmp",2:texture object 2,2 rem These variables are used for the movement of the caustics scru#=0.001:scrud#=-0.00001 scrv#=-0.0005:scrvd#=0.000005 rem Create the water matrix make matrix 1,matrixSizeX#,matrixSizeZ#,nsquarex,nsquarez position matrix 1,matrixSizeX#/-2,0,matrixSizeZ#/-2 dim waves(nsquarex,nsquarez) for i=0 to nsquarex for j=0 to nsquarez waves(i,j)=(rnd(72))*5 next j next i rem The wave height is set according to the size of the water matrix wave_height#=matrixSizeX#/60.00 rem Texture the water matrix load image "water.bmp",1 prepare matrix texture 1,1,nsquarex,nsquarez n=0 for j=nsquarez-1 to 0 step -1 for i=0 to nsquarex-1 step 1 inc n set matrix tile 1,i,j,n next i next j ghost matrix on 1 rem Camera initialization camdist#=matrixSizeZ#:bearing#=90:azimuth#=300:camchanged=1 rem Main loop do rem recalculate the height of each vertex of the matrix in a wavy way for i=0 to nsquarex for j=0 to nsquarez set matrix height 1,i,j,sineTable#(waves(i,j))*wave_height# waves(i,j)=waves(i,j)+5 if waves(i,j)>359 then waves(i,j)=0 next j next i rem Smooth matrix normals. Not very useful; just to see how to do it. SmoothMatrixNormals(1,nsquarex,nsquarez,tileSizeX#,tileSizeZ#) rem Change matrix aspect select scancode() case 2 prepare matrix texture 1,1,nsquarex,nsquarez n=0 for j=nsquarez-1 to 0 step -1 for i=0 to nsquarex-1 step 1 inc n set matrix tile 1,i,j,n next i next j ghost matrix on 1 endcase case 3 prepare matrix texture 1,3,nsquarex,nsquarez ghost matrix off 1 endcase case 4 prepare matrix texture 1,3,nsquarex,nsquarez set matrix wireframe on 1 endcase endselect rem Update matrix update matrix 1 rem Scroll the caustics texture scru#=scru#+scrud#:if (scru#<=-0.001 and scrud#<0) or (scru#>=0.001 and scrud#>0) then scrud#=scrud#*-1 scrv#=scrv#+scrvd#:if (scrv#<=-0.001 and scrvd#<0) or (scrv#>=0.001 and scrvd#>0) then scrvd#=scrvd#*-1 scroll object texture 2,scru#,scrv# rem Create some "splashes" here and there if ecla<2 and timer()-oldtimer>1000 x#=(matrixSizeX#/2.00)-rnd(matrixSizeX#):y#=0:z#=(matrixSizeZ#/2.00)-rnd(matrixSizeZ#) oldtimer=timer() for i=ecla*20 to (ecla*20)+19 if object exist(500+i) = 0 make object plain 500+i,2,2 texture object 500+i,500+rnd(8):ghost object on 500+i else show object 500+i endif partX#(i)=x#:partY#(i)=y#:partZ#(i)=z# partXd#(i)=((matrixSizeX#/10.00)-rnd(matrixSizeX#/5.00))/20.00 partZd#(i)=((matrixSizeZ#/10.00)-rnd(matrixSizeZ#/5.00))/20.00 partYd#(i)=(rnd(matrixSizeZ#/3.00)/15.00) partYtarget#(i)=partY#(i):partStatus#(i)=ecla+1 next i endif rem Animate those "splashes" ecla=0 for i=0 to 192 if partStatus#(i)>0 if partStatus#(i)>ecla then ecla=partStatus#(i) partX#(i)=partX#(i)+partXd#(i) partY#(i)=partY#(i)+partYd#(i) partZ#(i)=partZ#(i)+partZd#(i) partYd#(i)=partYd#(i)-(matrixSizeZ#/1000.00) position object 500+i,partX#(i),partY#(i),partZ#(i) set object to camera orientation 500+i if partY#(i) < partYtarget#(i) then hide object 500+i:partStatus#(i)=0 endif next i rem Move and zoom the camera with mouse movex=mousemovex():movey=mousemovey() if movex<>0 or movey<>0 azimuth# = azimuth# + movey bearing# = wrapvalue(bearing# + movex/2) if azimuth#<280 then azimuth#=280 if azimuth#>350 then azimuth#=350 camchanged = 1 endif click=mouseclick() if click>0 if click=1 and camdist#>matrixSizeZ#/2.00 then dec camdist#:camchanged = 1 if click=2 and camdist#<matrixSizeZ#*2.00 then inc camdist#:camchanged = 1 endif rem If the camera moved, recalculate its position if camchanged=1 camx# = camdist# * sin(azimuth#) * cos(bearing#) camz# = camdist# * sin(azimuth#) * sin(bearing#) camy# = camdist# * cos(azimuth#) position camera camx#,camy#,camz# point camera 0,0,0 camchanged = 0 endif rem And that's it ! text 10,10,str$( screen fps() )+" FPS; Hit 1,2,or 3 to switch modes" sync loop rem Use matrix normals to make it smooth (from the DarkBasic help: "help\examples\matrix3d\exam08.dba") function SmoothMatrixNormals(numMatrix,sizeX,sizeZ,tileSizeX#,tileSizeZ#) for z=1 to sizeZ-1 for x=1 to sizeX-1 rem Get matrix heights h8#=get matrix height(numMatrix,x,z-1) h4#=get matrix height(numMatrix,x-1,z) h#=get matrix height(numMatrix,x,z) h2#=get matrix height(numMatrix,x,z) rem Calculate projected angle X using heights x1#=(x-1)*tileSizeX# : y1#=h# x2#=(x+0)*tileSizeX# : y2#=h4# dx#=x2#-x1# dy#=y2#-y1# ax#=atanfull(dx#,dy#) ax#=wrapvalue(90-ax#) rem Calculate projected angle Z using heights z1#=(z-1)*tileSizeZ# : y1#=h2# z2#=(z+0)*tileSizeZ# : y2#=h8# dz#=z2#-z1# dy#=y2#-y1# az#=atanfull(dz#,dy#) az#=wrapvalue(90-az#) rem Make normal from projected angle nx#=sin(ax#) ny#=cos(ax#) nz#=sin(az#) rem Setting matrix normal for smoothness set matrix normal numMatrix,x,z,nx#,ny#,nz# next x next z endfunction Version: 1.0
Created: 12th Sep 2007 14:03
|
Complete Applications |
|
This is example how to use write code cleaned and howto write Fly type camera: Version: 1.0
Created: 10th Sep 2007 18:11
|
Complete Applications |
|
This function will take two images of any size (equal or not) and blend them together according to the values of a third greyscale alpha map image Version: 1.0
Created: 10th Sep 2007 10:59
|
Memblocks |
|
This program is for finding the square root of any number you type in. Version:
Created: 7th Sep 2007 22:09
|
Math / Physics |
|
calculates the second endpoint of a line from one endpoint and the midpoint Version: 1.0
Created: 4th Sep 2007 19:30
|
Complete Applications |
|
calculates the midpoint and distance of 2 points Version: 1.0
Created: 4th Sep 2007 19:29
|
Complete Applications |
|
This will simply make a box with a border around it. Useful for Heads Up Displays or pop-up messages. Version: .1
Created: 1st Sep 2007 13:19
|
Basic 2D |
|
Make double click with left mouse in Dark Basic. You can adjust funtion time values as you like to adapt your program. Version: 1.0
Created: 31st Aug 2007 06:27
|
Functions |
|
A free version of mine of game of life. I am not the first who write this game and I supose someone will do better than I. Version: 1.0
Created: 30th Aug 2007 20:56
|
Complete Applications |
