Add news steps
| Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/4_spaceship1/assets/sprites/spaceship.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 12 KiB | 
| @@ -9,11 +9,11 @@ function love.load() | ||||
| 	background.img = love.graphics.newImage('assets/sprites/background.jpg') | ||||
| 	background.x = 0 | ||||
| 	background.y = 0 | ||||
| 	-- Spaceship | ||||
|         -- Spaceship | ||||
| 	spaceship = {} | ||||
| 	spaceship.img = love.graphics.newImage('assets/sprites/spaceship.png') | ||||
| 	spaceship.x = game.height / 8 | ||||
| 	spaceship.y = (game.height / 4) - (spaceship.img:getHeight() / 2) | ||||
| 	spaceship.x = 200 | ||||
| 	spaceship.y = 200 | ||||
| end | ||||
| 
 | ||||
| function love.draw() | ||||
							
								
								
									
										
											BIN
										
									
								
								steps/4_spaceship2/assets/sprites/background.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 62 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/4_spaceship2/assets/sprites/spaceship.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										49
									
								
								steps/4_spaceship2/main.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,49 @@ | ||||
| function love.load() | ||||
| 	game = {} | ||||
| 	game.width = 800 | ||||
| 	game.height = 480 | ||||
| 	love.window.setMode(game.width, game.height) | ||||
| 	score = { x = 500, y = 40 } | ||||
| 	-- Background | ||||
| 	background = {} | ||||
| 	background.img = love.graphics.newImage('assets/sprites/background.jpg') | ||||
| 	background.x = 0 | ||||
| 	background.y = 0 | ||||
|         -- Spaceship | ||||
| 	spaceship = {} | ||||
| 	spaceship.img = love.graphics.newImage('assets/sprites/spaceship.png') | ||||
| 	spaceship.x = 200 | ||||
| 	spaceship.y = 200 | ||||
| 	spaceship.num_frames = 4 | ||||
| 	spaceship.pos_frame = 1 | ||||
|   	spaceship.frame_height = spaceship.img:getHeight() / spaceship.num_frames | ||||
| 	spaceship.pos = 2 | ||||
| 	spaceship.frames = { | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 0, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 1, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 2, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 3, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()) | ||||
|              } | ||||
| end | ||||
|  | ||||
| function love.draw() | ||||
| 	-- Background | ||||
| 	love.graphics.draw(background.img, background.x, background.y) | ||||
| 	-- Spaceship | ||||
| 	love.graphics.draw(spaceship.img, spaceship.frames[spaceship.pos_frame], spaceship.x, spaceship.y) | ||||
| end | ||||
|  | ||||
| function love.update(dt) | ||||
|         if spaceship.pos_frame ~= spaceship.num_frames then | ||||
| 		spaceship.pos_frame = spaceship.pos_frame + 1 | ||||
| 	else | ||||
| 		spaceship.pos_frame = 1 | ||||
| 	end | ||||
| end | ||||
|  | ||||
| -- Controls | ||||
| function love.keypressed(key, scancode, isrepeat) | ||||
| 	if key == 'escape' then | ||||
| 		love.event.push('quit') | ||||
| 	end | ||||
| end | ||||
							
								
								
									
										
											BIN
										
									
								
								steps/5_move_spaceship/assets/sprites/background.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 62 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/5_move_spaceship/assets/sprites/spaceship.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										58
									
								
								steps/5_move_spaceship/main.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,58 @@ | ||||
| function love.load() | ||||
| 	game = {} | ||||
| 	game.width = 800 | ||||
| 	game.height = 480 | ||||
| 	love.window.setMode(game.width, game.height) | ||||
| 	score = { x = 500, y = 40 } | ||||
| 	-- Background | ||||
| 	background = {} | ||||
| 	background.img = love.graphics.newImage('assets/sprites/background.jpg') | ||||
| 	background.x = 0 | ||||
| 	background.y = 0 | ||||
|         -- Spaceship | ||||
|         spaceship = {} | ||||
| 	spaceship.img = love.graphics.newImage('assets/sprites/spaceship.png') | ||||
| 	spaceship.x = game.height / 8 | ||||
| 	spaceship.num_frames = 4 | ||||
| 	spaceship.pos_frame = 1 | ||||
|   	spaceship.frame_height = spaceship.img:getHeight() / spaceship.num_frames | ||||
| 	spaceship.y = { | ||||
| 		(game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 		2 * (game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 		3 * (game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 	} | ||||
| 	spaceship.pos = 1 | ||||
| 	spaceship.frames = { | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 0, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 1, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 2, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 3, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()) | ||||
|              } | ||||
| end | ||||
|  | ||||
| function love.draw() | ||||
| 	-- Background | ||||
| 	love.graphics.draw(background.img, background.x, background.y) | ||||
| 	-- Spaceship | ||||
| 	love.graphics.draw(spaceship.img, spaceship.frames[spaceship.pos_frame], spaceship.x, spaceship.y[spaceship.pos]) | ||||
| end | ||||
|  | ||||
| function love.update(dt) | ||||
|         if spaceship.pos_frame ~= spaceship.num_frames then | ||||
| 		spaceship.pos_frame = spaceship.pos_frame + 1 | ||||
| 	else | ||||
| 		spaceship.pos_frame = 1 | ||||
| 	end | ||||
| end | ||||
|  | ||||
| -- Controls | ||||
| function love.keypressed(key, scancode, isrepeat) | ||||
| 	if key == 'escape' then | ||||
| 		love.event.push('quit') | ||||
| 	end | ||||
|         if key == 'up' and spaceship.pos > 1 then | ||||
| 		spaceship.pos = spaceship.pos - 1 | ||||
| 	elseif key == 'down' and spaceship.pos < 3 then | ||||
| 		spaceship.pos = spaceship.pos + 1 | ||||
| 	end | ||||
| end | ||||
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids1/assets/sprites/asteroid_1.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids1/assets/sprites/asteroid_2.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids1/assets/sprites/asteroid_3.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids1/assets/sprites/asteroid_4.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids1/assets/sprites/asteroid_5.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids1/assets/sprites/asteroid_6.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 16 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids1/assets/sprites/asteroid_7.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids1/assets/sprites/asteroid_8.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids1/assets/sprites/asteroid_9.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 17 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids1/assets/sprites/background.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 62 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids1/assets/sprites/spaceship.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										73
									
								
								steps/6_asteroids1/main.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,73 @@ | ||||
| function love.load() | ||||
| 	math.randomseed(os.time()) | ||||
| 	game = {} | ||||
| 	game.width = 800 | ||||
| 	game.height = 480 | ||||
| 	love.window.setMode(game.width, game.height) | ||||
| 	score = { x = 500, y = 40 } | ||||
| 	-- Background | ||||
| 	background = {} | ||||
| 	background.img = love.graphics.newImage('assets/sprites/background.jpg') | ||||
| 	background.x = 0 | ||||
| 	background.y = 0 | ||||
|         -- Spaceship | ||||
|         spaceship = {} | ||||
| 	spaceship.img = love.graphics.newImage('assets/sprites/spaceship.png') | ||||
| 	spaceship.x = game.height / 8 | ||||
| 	spaceship.num_frames = 4 | ||||
| 	spaceship.pos_frame = 1 | ||||
|   	spaceship.frame_height = spaceship.img:getHeight() / spaceship.num_frames | ||||
| 	spaceship.y = { | ||||
| 		(game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 		2 * (game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 		3 * (game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 	} | ||||
| 	spaceship.pos = 1 | ||||
| 	spaceship.frames = { | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 0, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 1, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 2, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 3, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()) | ||||
|              } | ||||
|  | ||||
|         -- Asteroid | ||||
|         asteroid = {} | ||||
|         asteroid.img = love.graphics.newImage('assets/sprites/asteroid_' .. tostring(math.random(1, 9)) .. '.png') | ||||
| 	asteroid.x = 400 | ||||
|         asteroid.y = { | ||||
|                 (game.height / 4) - (asteroid.img:getHeight() / 2),	 | ||||
|                 2 * (game.height / 4) - (asteroid.img:getHeight() / 2),	 | ||||
|                 3 * (game.height / 4) - (asteroid.img:getHeight() / 2),	 | ||||
|         } | ||||
|         asteroid.pos = 2 | ||||
| end | ||||
|  | ||||
| function love.draw() | ||||
| 	-- Background | ||||
| 	love.graphics.draw(background.img, background.x, background.y) | ||||
| 	-- Spaceship | ||||
| 	love.graphics.draw(spaceship.img, spaceship.frames[spaceship.pos_frame], spaceship.x, spaceship.y[spaceship.pos]) | ||||
|         -- Asteroid | ||||
| 	love.graphics.draw(asteroid.img, asteroid.x, asteroid.y[asteroid.pos]) | ||||
| end | ||||
|  | ||||
| function love.update(dt) | ||||
|         -- Spaceship | ||||
|         if spaceship.pos_frame ~= spaceship.num_frames then | ||||
| 		spaceship.pos_frame = spaceship.pos_frame + 1 | ||||
| 	else | ||||
| 		spaceship.pos_frame = 1 | ||||
| 	end | ||||
| end | ||||
|  | ||||
| -- Controls | ||||
| function love.keypressed(key, scancode, isrepeat) | ||||
| 	if key == 'escape' then | ||||
| 		love.event.push('quit') | ||||
| 	end | ||||
|         if key == 'up' and spaceship.pos > 1 then | ||||
| 		spaceship.pos = spaceship.pos - 1 | ||||
| 	elseif key == 'down' and spaceship.pos < 3 then | ||||
| 		spaceship.pos = spaceship.pos + 1 | ||||
| 	end | ||||
| end | ||||
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids2/assets/sprites/asteroid_1.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids2/assets/sprites/asteroid_2.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids2/assets/sprites/asteroid_3.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids2/assets/sprites/asteroid_4.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids2/assets/sprites/asteroid_5.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids2/assets/sprites/asteroid_6.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 16 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids2/assets/sprites/asteroid_7.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids2/assets/sprites/asteroid_8.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids2/assets/sprites/asteroid_9.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 17 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids2/assets/sprites/background.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 62 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids2/assets/sprites/spaceship.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										77
									
								
								steps/6_asteroids2/main.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,77 @@ | ||||
| function love.load() | ||||
| 	math.randomseed(os.time()) | ||||
| 	game = {} | ||||
| 	game.width = 800 | ||||
| 	game.height = 480 | ||||
| 	love.window.setMode(game.width, game.height) | ||||
| 	score = { x = 500, y = 40 } | ||||
| 	-- Background | ||||
| 	background = {} | ||||
| 	background.img = love.graphics.newImage('assets/sprites/background.jpg') | ||||
| 	background.x = 0 | ||||
| 	background.y = 0 | ||||
|         -- Spaceship | ||||
|         spaceship = {} | ||||
| 	spaceship.img = love.graphics.newImage('assets/sprites/spaceship.png') | ||||
| 	spaceship.x = game.height / 8 | ||||
| 	spaceship.num_frames = 4 | ||||
| 	spaceship.pos_frame = 1 | ||||
|   	spaceship.frame_height = spaceship.img:getHeight() / spaceship.num_frames | ||||
| 	spaceship.y = { | ||||
| 		(game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 		2 * (game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 		3 * (game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 	} | ||||
| 	spaceship.pos = 1 | ||||
| 	spaceship.frames = { | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 0, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 1, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 2, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 3, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()) | ||||
|              } | ||||
|  | ||||
|         -- Asteroid | ||||
|         asteroid = {} | ||||
|         asteroid.img = love.graphics.newImage('assets/sprites/asteroid_' .. tostring(math.random(1, 9)) .. '.png') | ||||
| 	asteroid.x = game.width | ||||
|         asteroid.y = { | ||||
|                 (game.height / 4) - (asteroid.img:getHeight() / 2),	 | ||||
|                 2 * (game.height / 4) - (asteroid.img:getHeight() / 2),	 | ||||
|                 3 * (game.height / 4) - (asteroid.img:getHeight() / 2),	 | ||||
|         } | ||||
|         asteroid.pos = 2 | ||||
|         asteroid.speed = 600 | ||||
| end | ||||
|  | ||||
| function love.draw() | ||||
| 	-- Background | ||||
| 	love.graphics.draw(background.img, background.x, background.y) | ||||
| 	-- Spaceship | ||||
| 	love.graphics.draw(spaceship.img, spaceship.frames[spaceship.pos_frame], spaceship.x, spaceship.y[spaceship.pos]) | ||||
|         -- Asteroid | ||||
| 	love.graphics.draw(asteroid.img, asteroid.x, asteroid.y[asteroid.pos]) | ||||
| end | ||||
|  | ||||
| function love.update(dt) | ||||
|         -- Spaceship | ||||
|         if spaceship.pos_frame ~= spaceship.num_frames then | ||||
| 		spaceship.pos_frame = spaceship.pos_frame + 1 | ||||
| 	else | ||||
| 		spaceship.pos_frame = 1 | ||||
| 	end | ||||
|         -- Asteroid | ||||
|         asteroid.x = asteroid.x - (dt * asteroid.speed) | ||||
|  | ||||
| end | ||||
|  | ||||
| -- Controls | ||||
| function love.keypressed(key, scancode, isrepeat) | ||||
| 	if key == 'escape' then | ||||
| 		love.event.push('quit') | ||||
| 	end | ||||
|         if key == 'up' and spaceship.pos > 1 then | ||||
| 		spaceship.pos = spaceship.pos - 1 | ||||
| 	elseif key == 'down' and spaceship.pos < 3 then | ||||
| 		spaceship.pos = spaceship.pos + 1 | ||||
| 	end | ||||
| end | ||||
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids3/assets/sprites/asteroid_1.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids3/assets/sprites/asteroid_2.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids3/assets/sprites/asteroid_3.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids3/assets/sprites/asteroid_4.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids3/assets/sprites/asteroid_5.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids3/assets/sprites/asteroid_6.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 16 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids3/assets/sprites/asteroid_7.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids3/assets/sprites/asteroid_8.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids3/assets/sprites/asteroid_9.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 17 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids3/assets/sprites/background.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 62 KiB | 
							
								
								
									
										
											BIN
										
									
								
								steps/6_asteroids3/assets/sprites/spaceship.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										89
									
								
								steps/6_asteroids3/main.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,89 @@ | ||||
| function love.load() | ||||
| 	math.randomseed(os.time()) | ||||
| 	game = {} | ||||
| 	game.width = 800 | ||||
| 	game.height = 480 | ||||
| 	love.window.setMode(game.width, game.height) | ||||
| 	score = { x = 500, y = 40 } | ||||
| 	-- Background | ||||
| 	background = {} | ||||
| 	background.img = love.graphics.newImage('assets/sprites/background.jpg') | ||||
| 	background.x = 0 | ||||
| 	background.y = 0 | ||||
|         -- Spaceship | ||||
|         spaceship = {} | ||||
| 	spaceship.img = love.graphics.newImage('assets/sprites/spaceship.png') | ||||
| 	spaceship.x = game.height / 8 | ||||
| 	spaceship.num_frames = 4 | ||||
| 	spaceship.pos_frame = 1 | ||||
|   	spaceship.frame_height = spaceship.img:getHeight() / spaceship.num_frames | ||||
| 	spaceship.y = { | ||||
| 		(game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 		2 * (game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 		3 * (game.height / 4) - (spaceship.img:getHeight() / 8),	 | ||||
| 	} | ||||
| 	spaceship.pos = 1 | ||||
| 	spaceship.frames = { | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 0, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 1, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 2, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()), | ||||
|                  love.graphics.newQuad(0, spaceship.frame_height * 3, spaceship.img:getWidth(), spaceship.frame_height, spaceship.img:getWidth(), spaceship.img:getHeight()) | ||||
|              } | ||||
|  | ||||
|         -- Asteroids | ||||
| 	num_asteroids = 3 | ||||
| 	asteroids = {} | ||||
| 	for i = 1, num_asteroids do | ||||
| 		asteroid = {} | ||||
| 		asteroid.img = love.graphics.newImage('assets/sprites/asteroid_' .. tostring(math.random(1, 9)) .. '.png') | ||||
| 		asteroid.x = game.width | ||||
| 		asteroid.y = { | ||||
| 			(game.height / 4) - (asteroid.img:getHeight() / 2),	 | ||||
| 			2 * (game.height / 4) - (asteroid.img:getHeight() / 2),	 | ||||
| 			3 * (game.height / 4) - (asteroid.img:getHeight() / 2),	 | ||||
| 		} | ||||
| 		asteroid.pos = 2 | ||||
| 		asteroid.speed = 600 | ||||
| 		asteroids[i] = asteroid | ||||
| 	end | ||||
| end | ||||
|  | ||||
| function love.draw() | ||||
| 	-- Background | ||||
| 	love.graphics.draw(background.img, background.x, background.y) | ||||
| 	-- Spaceship | ||||
| 	love.graphics.draw(spaceship.img, spaceship.frames[spaceship.pos_frame], spaceship.x, spaceship.y[spaceship.pos]) | ||||
|         -- Asteroids | ||||
| 	for key, asteroid in pairs(asteroids) do | ||||
| 		love.graphics.draw(asteroid.img, asteroid.x, asteroid.y[asteroid.pos]) | ||||
| 	end | ||||
| end | ||||
|  | ||||
| function love.update(dt) | ||||
|         -- Spaceship | ||||
|         if spaceship.pos_frame ~= spaceship.num_frames then | ||||
| 		spaceship.pos_frame = spaceship.pos_frame + 1 | ||||
| 	else | ||||
| 		spaceship.pos_frame = 1 | ||||
| 	end | ||||
|         -- Asteroids | ||||
|         for key, asteroid in pairs(asteroids) do | ||||
|             asteroid.x = asteroid.x - (dt * asteroid.speed) | ||||
|             if asteroid.x < -asteroid.img:getWidth() then | ||||
|                     asteroid.x = game.width + math.random(0, game.width) | ||||
|                     asteroid.pos = math.random(1, 3) | ||||
|             end | ||||
|         end | ||||
| end | ||||
|  | ||||
| -- Controls | ||||
| function love.keypressed(key, scancode, isrepeat) | ||||
| 	if key == 'escape' then | ||||
| 		love.event.push('quit') | ||||
| 	end | ||||
|         if key == 'up' and spaceship.pos > 1 then | ||||
| 		spaceship.pos = spaceship.pos - 1 | ||||
| 	elseif key == 'down' and spaceship.pos < 3 then | ||||
| 		spaceship.pos = spaceship.pos + 1 | ||||
| 	end | ||||
| end | ||||