My kingdom for a tutorial!!!

Blitz3D Forums/Blitz3D Beginners Area/My kingdom for a tutorial!!!

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

Hi,

Got this far by having no shame and knicking code from a guy called James Eibisch, He has done a really cool retro space invaders in QBASIC. But now I am stuck mega catch 22.
I do not know enough about QBASIC to rip the rest of James's code and I do not understand BB3D well enough to proceed.

So is anybody up for creating a tutorial for good old fashioned Space Invaders?
Global Tru = -1
Global Fals = Not Tru

Global screenwidth = 256
Global screenorgx = 32
Global shipwidth = 30
Global shipheight = 16
Global bulletheight = 3
Global invwidth = 24
Global invheight = 16
Global invbombheight = 10
Global invbombwidth = 6
Global saucerwidth = 32
Global saucerheight = 14
Global shelterwidth = 48
Global shelterheight = 32
Global shipminx = 50
Global shipmaxx = 270 - shipwidth
Global bulletd = 3
Global invdiry = 7
Global invzaptime = 15
Global saucery = 28
Global sheltery = 156

Global shipg,shipexpg,invg1,invg2,invg3,invexpg,invbombg,saucerg,shelterg,charset


Graphics 640,480,0
SetBuffer FrontBuffer() 
Cls
DefineGraphics()
DrawImage shipg,100,50
DrawImage shelterg,90,70
DrawImage shipexpg,132,50,0
DrawImage shipexpg,164,50,1
DrawImage invg1,200,50,0
DrawImage invg1,230,50,1
DrawImage invg2,200,70,0
DrawImage invg2,230,70,1
DrawImage invg3,200,90,0
DrawImage invg3,230,90,1
DrawImage invexpg,260,50
DrawImage invbombg,290,50,0
DrawImage invbombg,290,70,1
DrawImage saucerg,300,50
i=0
For x=50 To 290 Step 12
	i=i+1
		DrawImage charset,x,120,i-1
Next

WaitKey()

End

Function DefineGraphics()
;define ship
	shipg=CreateImage(shipwidth,shipheight)
	Cls
	For y = 1 To shipheight
		Read a$
		Color 0,160,0
		For x = 1 To shipwidth
			If Mid$(a$, x, 1) = "#" Then Plot x, y
		Next
	Next
	GrabImage shipg,1,1 

;define ship explosion
	shipexpg=CreateImage(shipwidth-1,shipheight-1,2)
	For i = 1 To 2
		Cls
		For y = 1 To shipheight
			Read a$
			Color 0, 160, 0
			For x = 1 To shipwidth
				If Mid$(a$, x, 1) = "#" Then Plot x, y
			Next
		Next
		GrabImage shipexpg,1,1,i-1
	Next

;define invaders
	invg1=CreateImage(invwidth-1,invheight-1,2)
	invg2=CreateImage(invwidth-1,invheight-1,2)
	invg3=CreateImage(invwidth-1,invheight-1,2)
	Cls
	For invtype = 0 To 2 ; 3 types of invader
		For anim = 0 To 1 ; 2 frames of animation
			Cls
			For y = 1 To invheight
				Read a$
				Color 200,200,200
				For x = 1 To invwidth
					If Mid$(a$, x, 1) = "#" Then Plot x, y
				Next
			Next
		Select invtype
			Case 0
				GrabImage invg1,1,1,anim
			Case 1
				GrabImage invg2,1,1,anim
			Case 2
				GrabImage invg3,1,1,anim
			Default
		End Select
		Next 
	Next 

;define invader explosion
	invexpg=CreateImage(invwidth-1,invheight-1)
	Cls
	For y = 1 To invheight
		Read a$
		Color 200, 200, 200	
		For x = 1 To invwidth
			If Mid$(a$, x, 1) = "#" Then Plot x, y
		Next
	Next
	GrabImage invexpg,1,1
	
;define bombs
	invbombg=CreateImage(invbombwidth,invbombheight,2)
	Cls
	For i = 1 To 2
		For y = 1 To invbombheight
			Read a$
			Color 220, 220, 220
			For x = 1 To invbombwidth
				If Mid$(a$, x, 1) = "#" Then Plot x, y
			Next
		Next
		GrabImage invbombg,1,1,i-1
		Cls
	Next

;define saucer
	saucerg=CreateImage(saucerwidth,saucerheight)
	Cls
	For y = 1 To saucerheight
		Read a$
		Color 160, 0, 0
		For x = 1 To saucerwidth
			If Mid$(a$, x, 1) = "#" Then Plot x, y
		Next
	Next
	GrabImage saucerg,1,1
	
;define shelter
	shelterg=CreateImage(shelterwidth,shelterheight)
	Cls
	For y = 1 To shelterheight
		Read a$
		Color 0, 160, 0
		For x = 1 To shelterwidth
			If Mid$(a$, x, 1) = "#" Then Plot x, y
		Next
	Next
	GrabImage shelterg,1,1
		
;define character set
	charset=CreateImage(10,16,21)
	Cls
	For i = 1 To 21
		For y = 1 To 14
			Read a$
			Color 200, 200, 200
			For x = 1 To 10
				If Mid$(a$, x, 1) = "#" Then Plot x, y
			Next
		Next
		GrabImage charset,1,1,i-1
		Cls
	Next
	Cls
End Function



.seconddata 
Data "              ##              "
Data "              ##              "
Data "            ######            "
Data "            ######            "
Data "            ######            "
Data "            ######            "
Data "  ##########################  "
Data "  ##########################  "
Data "##############################"
Data "##############################"
Data "##############################"
Data "##############################"
Data "##############################"
Data "##############################"
Data "##############################"
Data "##############################"

Data "        ##                    "
Data "        ##                    "
Data "    ##          ##        ##  "
Data "    ##          ##        ##  "
Data "        ##    ##    ##        "
Data "        ##    ##    ##        "
Data "    ##            ##  ##      "
Data "    ##            ##  ##      "
Data "          ##  ####      ##    "
Data "          ##  ####      ##    "
Data "##    ################        "
Data "##    ################        "
Data "    ####################      "
Data "    ####################      "
Data "  ########################    "
Data "  ########################    "

Data "    ##          ##        ##  "
Data "    ##          ##        ##  "
Data "        ##                    "
Data "        ##                    "
Data "    ##          ##        ##  "
Data "    ##          ##        ##  "
Data "              ##    ##        "
Data "              ##    ##        "
Data "  ##      ####  ##          ##"
Data "  ##      ####  ##          ##"
Data "      ################    ##  "
Data "      ################    ##  "
Data "    ####################      "
Data "    ####################      "
Data "  ########################    "
Data "  ########################    "

Data "        ########        "
Data "        ########        "
Data "    ################    "
Data "    ################    "
Data "########################"
Data "########################"
Data "######    ####    ######"
Data "######    ####    ######"
Data "########################"
Data "########################"
Data "      ####    ####      "
Data "      ####    ####      "
Data "    ####  ####  ####    "
Data "    ####  ####  ####    "
Data "####                ####"
Data "####                ####"

Data "        ########        "
Data "        ########        "
Data "    ################    "
Data "    ################    "
Data "########################"
Data "########################"
Data "######    ####    ######"
Data "######    ####    ######"
Data "########################"
Data "########################"
Data "    ######    ######    "
Data "    ######    ######    "
Data "  ####    ####    ####  "
Data "  ####    ####    ####  "
Data "    ####        ####    "
Data "    ####        ####    "

Data "##  ##          ##      "
Data "##  ##          ##      "
Data "##    ##      ##    ##  "
Data "##    ##      ##    ##  "
Data "##  ##############  ##  "
Data "##  ##############  ##  "
Data "######  ######  ######  "
Data "######  ######  ######  "
Data "######################  "
Data "######################  "
Data "  ##################    "
Data "  ##################    "
Data "    ##          ##      "
Data "    ##          ##      "
Data "  ##              ##    "
Data "  ##              ##    "    

Data "    ##          ##      "
Data "    ##          ##      "
Data "      ##      ##        "
Data "      ##      ##        "
Data "    ##############      "
Data "    ##############      "
Data "  ####  ######  ####    "
Data "  ####  ######  ####    "
Data "######################  "
Data "######################  "
Data "##  ##############  ##  "
Data "##  ##############  ##  "
Data "##  ##          ##  ##  "
Data "##  ##          ##  ##  "
Data "      ####  ####        "
Data "      ####  ####        " 

Data "          ####          "
Data "          ####          "
Data "        ########        "
Data "        ########        "
Data "      ############      "
Data "      ############      "
Data "    ####  ####  ####    "
Data "    ####  ####  ####    "
Data "    ################    "
Data "    ################    "
Data "        ##    ##        "
Data "        ##    ##        "
Data "      ##  ####  ##      "
Data "      ##  ####  ##      "
Data "    ##  ##    ##  ##    "
Data "    ##  ##    ##  ##    "

Data "          ####          "
Data "          ####          "
Data "        ########        "
Data "        ########        "
Data "      ############      "
Data "      ############      "
Data "    ####  ####  ####    "
Data "    ####  ####  ####    "
Data "    ################    "
Data "    ################    "
Data "      ##  ####  ##      "
Data "      ##  ####  ##      "
Data "    ##            ##    "
Data "    ##            ##    "
Data "      ##        ##      "
Data "      ##        ##      "

Data "          ##    ##      "
Data "          ##    ##      "
Data "    ##    ##    ##    ##"
Data "    ##    ##    ##    ##"
Data "      ##      ##    ##  "
Data "      ##      ##    ##  "
Data "######                  "
Data "######                  "
Data "        ##          ####"
Data "        ##          ####"
Data "    ####        ##      "
Data "    ####        ##      "
Data "  ##        ##    ##    "
Data "  ##        ##    ##    "
Data "            ##      ##  "
Data "            ##      ##  "

Data "  ##  "
Data "  ##  "
Data "  ##  "
Data "  ##  "
Data "  ##  "
Data "  ##  "
Data "######"
Data "######"
Data "  ##  "
Data "  ##  "

Data "  ##  "
Data "  ##  "
Data "##    "
Data "##    "
Data "  ##  "
Data "  ##  "
Data "    ##"
Data "    ##"
Data "  ##  "
Data "  ##  "

Data "          ############          "
Data "          ############          "
Data "      ####################      "
Data "      ####################      "
Data "    ########################    "
Data "    ########################    "
Data "  ####  ####  ####  ####  ####  "
Data "  ####  ####  ####  ####  ####  "
Data "################################"
Data "################################"
Data "    ######            ######    "
Data "    ######            ######    "
Data "      ##                ##      "
Data "      ##                ##      "


Data "      ####################################      "
Data "      ####################################      "
Data "    ########################################    "
Data "    ########################################    "
Data "  ############################################  "
Data "  ############################################  "
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "################################################"
Data "##############                    ##############"
Data "##############                    ##############"
Data "############                        ############"
Data "############                        ############"
Data "##########                            ##########"
Data "##########                            ##########"
Data "##########                            ##########"
Data "##########                            ##########"

Data "    ##    "
Data "    ##    "
Data "  ##  ##  "
Data "  ##  ##  "
Data "##      ##"
Data "##      ##"
Data "##########"
Data "##########"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"

Data "  ######  "
Data "  ######  "
Data "##      ##"
Data "##      ##"
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##      ##"
Data "##      ##"
Data "  ######  "
Data "  ######  "

Data "##########"
Data "##########"
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "########  "
Data "########  "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##########"
Data "##########"

Data "  ######  "
Data "  ######  "
Data "##      ##"
Data "##      ##"
Data "##        "
Data "##        "
Data "##  ######"
Data "##  ######"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "  ######  "
Data "  ######  "

Data "  ######  "
Data "  ######  "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "  ######  "
Data "  ######  "

Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##########"
Data "##########"

Data "##      ##"
Data "##      ##"
Data "####  ####"
Data "####  ####"
Data "##  ##  ##"
Data "##  ##  ##"
Data "##  ##  ##"
Data "##  ##  ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"

Data "  ######  "
Data "  ######  "
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "  ######  "
Data "  ######  "

Data "########  "
Data "########  "
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "########  "
Data "########  "
Data "##  ##    "
Data "##  ##    "
Data "##    ##  "
Data "##    ##  "
Data "##      ##"
Data "##      ##"

Data "  ######  "
Data "  ######  "
Data "##      ##"
Data "##      ##"
Data "##        "
Data "##        "
Data "  ######  "
Data "  ######  "
Data "        ##"
Data "        ##"
Data "##      ##"
Data "##      ##"
Data "  ######  "
Data "  ######  "

Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "  ##  ##  "
Data "  ##  ##  "
Data "    ##    "
Data "    ##    "

Data "  ######  "
Data "  ######  "
Data "##      ##"
Data "##      ##"
Data "##    ####"
Data "##    ####"
Data "##  ##  ##"
Data "##  ##  ##"
Data "####    ##"
Data "####    ##"
Data "##      ##"
Data "##      ##"
Data "  ######  "
Data "  ######  "

Data "    ##    "
Data "    ##    "
Data "  ####    "
Data "  ####    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "    ##    "
Data "  ######  "
Data "  ######  "

Data "  ######  "
Data "  ######  "
Data "##      ##"
Data "##      ##"
Data "        ##"
Data "        ##"
Data "  ######  "
Data "  ######  "
Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##########"
Data "##########"

Data "  ######  "
Data "  ######  "
Data "##      ##"
Data "##      ##"
Data "        ##"
Data "        ##"
Data "    ####  "
Data "    ####  "
Data "        ##"
Data "        ##"
Data "##      ##"
Data "##      ##"
Data "  ######  "
Data "  ######  "

Data "##        "
Data "##        "
Data "##        "
Data "##        "
Data "##    ##  "
Data "##    ##  "
Data "##########"
Data "##########"
Data "      ##  "
Data "      ##  "
Data "      ##  "
Data "      ##  "
Data "      ##  "
Data "      ##  "

Data "##########"
Data "##########"
Data "##        "
Data "##        "
Data "########  "
Data "########  "
Data "        ##"
Data "        ##"
Data "        ##"
Data "        ##"
Data "##      ##"
Data "##      ##"
Data "  ######  "
Data "  ######  "

Data "  ######  "
Data "  ######  "
Data "##      ##"
Data "##      ##"
Data "##        "
Data "##        "
Data "########  "
Data "########  "
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "  ######  "
Data "  ######  "

Data "##########"
Data "##########"
Data "        ##"
Data "        ##"
Data "      ##  "
Data "      ##  "
Data "    ##    "
Data "    ##    "
Data "  ##      "
Data "  ##      "
Data "  ##      "
Data "  ##      "
Data "  ##      "
Data "  ##      "

Data "  ######  "
Data "  ######  "
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "  ######  "
Data "  ######  "
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "  ######  "
Data "  ######  "

Data "  ######  "
Data "  ######  "
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "##      ##"
Data "  ########"
Data "  ########"
Data "        ##"
Data "        ##"
Data "##      ##"
Data "##      ##"
Data "  ######  "
Data "  ######  "


Here's Hoping
Maybe in the news letter?

Luna.