From b78ee1ff0904d7b996d17111df637ab1cf37748e Mon Sep 17 00:00:00 2001 From: Gwenhael Le Moine Date: Mon, 31 Oct 2022 22:49:04 +0100 Subject: [PATCH] added score --- ruby/myhunt-curses.rb | 18 +++++++++--------- ruby/myhunt.rb | 5 ++++- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/ruby/myhunt-curses.rb b/ruby/myhunt-curses.rb index 0b8fc95..a0a4fb3 100755 --- a/ruby/myhunt-curses.rb +++ b/ruby/myhunt-curses.rb @@ -13,20 +13,20 @@ require 'myhunt' def display_curses( field, state = { dead: false, victory: false }, - theme = { explorer: '☺', - dead_explorer: '☠', - door: '⇒', - mine: '◆', - cell: '█', - visited_cell: ' ' } ) + theme = { explorer: '()', + dead_explorer: '☠ ', + door: '=>', + mine: '<>', + cell: '██', + visited_cell: ' ' } ) Curses.setpos 0, 0 if state[:dead] - Curses.addstr 'You died! :( ' + Curses.addstr "You died! :(, score #{field.score} " elsif state[:victory] - Curses.addstr 'You won!! :) ' + Curses.addstr "You won!! :), score #{field.score} " else - Curses.addstr "#{field.number_of_mines} mines, #{field.count_nearby_mines} nearby" + Curses.addstr "#{field.number_of_mines} mines, #{field.count_nearby_mines} nearby, score #{field.score}" end field.height.times do |y| diff --git a/ruby/myhunt.rb b/ruby/myhunt.rb index 1a40959..c6ecb00 100755 --- a/ruby/myhunt.rb +++ b/ruby/myhunt.rb @@ -24,13 +24,15 @@ module MyHunt :field, :number_of_mines, :explorer_x, - :explorer_y + :explorer_y, + :score def initialize( number_of_mines = 20, height = 8, width = 16 ) @height = height @width = width @explorer_x = 0 @explorer_y = 0 + @score = 1 @field = {} @number_of_mines = if number_of_mines.negative? && number_of_mines > ((@height * @width) - 2) 20 @@ -90,6 +92,7 @@ module MyHunt def move( direction ) update_explorer_location( direction ) + @score += 1 unless @field[[@explorer_x, @explorer_y]].open { dead: @field[[@explorer_x, @explorer_y]].explore, victory: @explorer_x == (@width - 1) && @explorer_y == (@height - 1) }