Space Invaders

If you have a design you're proud of, share the cfdg file here. It's also a good place to ask for feedback and collaborate.

Moderators: MtnViewJohn, chris, mtnviewmark

Post Reply
Sendell
Posts: 5
Joined: Thu Jul 07, 2005 5:10 am
Location: Belgium

Space Invaders

Post by Sendell »

First try

not all models are 100% correct and it's way too large

Code: Select all

startshape invaders

rule invaders {
	invaders_vertical_line { x +000 }
	invaders_vertical_line { x +013 }
	invaders_vertical_line { x +026 }
	invaders_vertical_line { x +039 }
	invaders_vertical_line { x +052 }
	invaders_vertical_line { x +065 }
	invaders_vertical_line { x +078 }
	invaders_vertical_line { x +091 }
	invaders_vertical_line { x +104 }
}

//rule invaders_vertical_line {
//	invaderRB {  }
//	invaders_vertical_line { y -10 s 0.9}
//}

rule invaders_vertical_line {
	invaderRB { y -00 }
	invaderRB { y -10 }
	invaderRB { y -20 }
	invaderRB { y -30 }
	invaderRB { y -40 }
	invaderRB { y -50 }
	invaderRB { y -60 }
}

# rotation and brightness
rule invaderRB {
	invaderR { b 0.0 }
}
rule invaderRB {
	invaderR { b 0.05 }
}
rule invaderRB {
	invaderR { b 0.10 }
}
rule invaderRB {
	invaderR { b 0.15 }
}

# rotation
rule invaderR {
	invader { r 9 }
}
rule invaderR {
	invader { r 6}
}
rule invaderR {
	invader { r 3 }
}
rule invaderR {
	invader {  }
}
rule invaderR {
	invader { r -3 }
}
rule invaderR {
	invader { r -6 }
}
rule invaderR {
	invader { r -9 }
}

# Choose an Invader model
rule invader {
	invader_1 { }
}

rule invader {
	invader_2 { }
}

rule invader {
	invader_3 { }
}

rule invader {
	invader_4 { }
}

rule invader {
	explosion_1 { s 0.7} 
}

# Invader model  1

rule invader_1 {
	invader_1_line_1 { }
	invader_1_line_2 { y -1 }
	invader_1_line_3 { y -2 }
	invader_1_line_4 { y -3 }
	invader_1_line_5 { y -4 }
	invader_1_line_6 { y -5 }
	invader_1_line_7 { y -6 }
	invader_1_line_8 { y -7 }
}

rule invader_1_line_1 {
	SQUARE { x -3 }
	SQUARE { x +3 }
}

rule invader_1_line_2 {
	SQUARE { x -2 }
	SQUARE { x +2 }
}

rule invader_1_line_3 {
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
	SQUARE { x +3 }
}

rule invader_1_line_4 {
	SQUARE { x -4 }
	SQUARE { x -3 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +3 }
	SQUARE { x +4 }
}

rule invader_1_line_5 {
	SQUARE { x -5 }
	SQUARE { x -4 }
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
	SQUARE { x +3 }
	SQUARE { x +4 }
	SQUARE { x +5 }
}

rule invader_1_line_6 {
	SQUARE { x -5 }
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
	SQUARE { x +3 }
	SQUARE { x +5 }
}

rule invader_1_line_7 {
	SQUARE { x -5 }
	SQUARE { x -3 }
	SQUARE { x +3 }
	SQUARE { x +5 }
}

rule invader_1_line_8 {
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { x +1 }
	SQUARE { x +2 }
}

# Invader model  2

rule invader_2 {
	invader_2_line_1 { }
	invader_2_line_2 { y -1 }
	invader_2_line_3 { y -2 }
	invader_2_line_4 { y -3 }
	invader_2_line_5 { y -4 }
	invader_2_line_6 { y -5 }
	invader_2_line_7 { y -6 }
	invader_2_line_8 { y -7 }
}

rule invader_2_line_1 {
	SQUARE { x -3 }
	SQUARE { x +3 }
}

rule invader_2_line_2 {
	SQUARE { x -5 }
	SQUARE { x -2 }
	SQUARE { x +2 }
	SQUARE { x +5 }
}

rule invader_2_line_3 {
	SQUARE { x -5 }
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
	SQUARE { x +3 }
	SQUARE { x +5 }
}

rule invader_2_line_4 {
	SQUARE { x -5 }
	SQUARE { x -4 }
	SQUARE { x -3 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +3 }
	SQUARE { x +4 }
	SQUARE { x +5 }
}

rule invader_2_line_5 {
	SQUARE { x -5 }
	SQUARE { x -4 }
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
	SQUARE { x +3 }
	SQUARE { x +4 }
	SQUARE { x +5 }
}

rule invader_2_line_6 {
	SQUARE { x -4 }
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
	SQUARE { x +3 }
	SQUARE { x +4 }
}

rule invader_2_line_7 {
	SQUARE { x -3 }
	SQUARE { x +3 }
}

rule invader_2_line_8 {
	SQUARE { x -4 }
	SQUARE { x +4 }
}

# Invader model  3

rule invader_3 {
	invader_3_line_1 { }
	invader_3_line_2 { y -1 }
	invader_3_line_3 { y -2 }
	invader_3_line_4 { y -3 }
	invader_3_line_5 { y -4 }
	invader_3_line_6 { y -5 }
	invader_3_line_7 { y -6 }
	invader_3_line_8 { y -7 }
}

rule invader_3_line_1 {
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
}

rule invader_3_line_2 {
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
}

rule invader_3_line_3 {
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
	SQUARE { x +3 }
}

rule invader_3_line_4 {
	SQUARE { x -4 }
	SQUARE { x -3 }
	//SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	//SQUARE { x +2 }
	SQUARE { x +3 }
	SQUARE { x +4 }
}

rule invader_3_line_5 {
	SQUARE { x -4 }
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
	SQUARE { x +3 }
	SQUARE { x +4 }
}

rule invader_3_line_6 {
	SQUARE { x -3 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +3 }
}

rule invader_3_line_7 {
	SQUARE { x -4 }
	SQUARE { x +4 }
}

rule invader_3_line_8 {
	SQUARE { x -3 }
	SQUARE { x +3 }
}

# Invader model  4

rule invader_4 {
	invader_4_line_1 { }
	invader_4_line_2 { y -1 }
	invader_4_line_3 { y -2 }
	invader_4_line_4 { y -3 }
	invader_4_line_5 { y -4 }
	invader_4_line_6 { y -5 }
	invader_4_line_7 { y -6 }
	invader_4_line_8 { y -7 }
}

rule invader_4_line_1 {
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
}

rule invader_4_line_2 {
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
	SQUARE { x +3 }
}

rule invader_4_line_3 {
	SQUARE { x -4 }
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
	SQUARE { x +3 }
	SQUARE { x +4 }
}

rule invader_4_line_4 {
	SQUARE { x -4 }
	SQUARE { x -3 }
	SQUARE { }
	SQUARE { x +3 }
	SQUARE { x +4 }
}

rule invader_4_line_5 {
	SQUARE { x -4 }
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { }
	SQUARE { x +1 }
	SQUARE { x +2 }
	SQUARE { x +3 }
	SQUARE { x +4 }
}

rule invader_4_line_6 {
	SQUARE { x -2 }
	SQUARE { x -1 }
	SQUARE { x +1 }
	SQUARE { x +2 }
}

rule invader_4_line_7 {
	SQUARE { x -3 }
	SQUARE { x -2 }
	SQUARE { }
	SQUARE { x +2 }
	SQUARE { x +3 }
}

rule invader_4_line_8 {
	SQUARE { x -4 }
	SQUARE { x +4 }
}

# Explosion model 1

rule explosion_1 {
	explosion_1_line_1 { }
	explosion_1_line_2 { y -1 }

	explosion_1_line_3 { y -2 }
	explosion_1_line_4 { y -3 }
	explosion_1_line_5 { y -4 }
	explosion_1_line_6 { y -5 }
	explosion_1_line_7 { y -6 }
	explosion_1_line_8 { y -7 }
}

rule explosion_1_line_1 {
	SQUARE { x -4 }
	SQUARE { x -1 }
	SQUARE { x +1 }
	SQUARE { x +4 }
}

rule explosion_1_line_2 {
	SQUARE { x -3 }
	SQUARE { }
	SQUARE { x +3 }
}

rule explosion_1_line_3 {
	SQUARE { x -2 }
	SQUARE { x +2 }
}

rule explosion_1_line_4 {
	SQUARE { x -4 }
//	SQUARE { x -3.5 }
//	SQUARE { x +3.5 }
	SQUARE { x +4 }
}

rule explosion_1_line_5 {
	SQUARE { x -2 }
	SQUARE { x +2 }
}

rule explosion_1_line_6 {
	SQUARE { x -3 }
	SQUARE { }
	SQUARE { x +3 }
}

rule explosion_1_line_7 {
	SQUARE { x -4 }
	SQUARE { x -1 }
	SQUARE { x +1 }
	SQUARE { x +4 }
}

User avatar
LaT3x
Posts: 68
Joined: Wed Jul 06, 2005 3:11 pm
Location: Madrid, Spain

Post by LaT3x »

Yeah!! :)
God job!!

Post Reply