diff options
| author | Teddy Wing | 2015-10-07 23:24:25 -0400 | 
|---|---|---|
| committer | Teddy Wing | 2015-10-07 23:24:25 -0400 | 
| commit | 794d8f872a36a29c56a4e921d33fc1a4ee497910 (patch) | |
| tree | 6257f4574f39ef335f74c5ef2e64c4d211010274 | |
| parent | 3f8fc7ff1758fc9276d163026212d1cbb08d9bbf (diff) | |
| download | vim-space-vlaze-794d8f872a36a29c56a4e921d33fc1a4ee497910.tar.bz2 | |
Create "Game Over" state
When the player has 0 lives left then quit the game and display "Game
Over" text.
TODO: Request player name at this point to store in the leaderboard.
| -rw-r--r-- | autoload/space_vlaze/game.vim | 25 | ||||
| -rw-r--r-- | autoload/space_vlaze/life.vim | 4 | 
2 files changed, 29 insertions, 0 deletions
| diff --git a/autoload/space_vlaze/game.vim b/autoload/space_vlaze/game.vim index da67c71..37d4da4 100644 --- a/autoload/space_vlaze/game.vim +++ b/autoload/space_vlaze/game.vim @@ -127,3 +127,28 @@ endfunction  function! space_vlaze#game#Pause()  endfunction + + +function! space_vlaze#game#GameOver() +	call space_vlaze#game#Quit() +	 +	let text = [ +		\ ['G', ' ', 'A', ' ', 'M', ' ', 'E'], +		\ ['O', ' ', 'V', ' ', 'E', ' ', 'R'], +	\ ] +	 +	let text_y = s:BOARD_HEIGHT / 2 +	let text_x = s:BOARD_WIDTH / 2 - 2 +	let text_x_orig = text_x +	 +	for line in text +		for character in line +			call space_vlaze#game#SetBoardCell(text_y, text_x, character) +			 +			let text_x += 1 +		endfor +		 +		let text_y += 1 +		let text_x = text_x_orig +	endfor +endfunction diff --git a/autoload/space_vlaze/life.vim b/autoload/space_vlaze/life.vim index 1d300bd..a66529d 100644 --- a/autoload/space_vlaze/life.vim +++ b/autoload/space_vlaze/life.vim @@ -10,6 +10,10 @@ endfunction  function! space_vlaze#life#DecrementLives()  	let s:lives -= 1 +	 +	if s:lives ==# 0 +		call space_vlaze#game#GameOver() +	endif  endfunction | 
