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 /autoload | |
| 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.
Diffstat (limited to 'autoload')
| -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 |
