hiding cursor

This commit is contained in:
Andrei Stoica 2024-11-09 00:18:09 -05:00
parent fffd504a3c
commit 91bf8128a3
1 changed files with 11 additions and 4 deletions

View File

@ -3,7 +3,7 @@ use std::io::stdout;
use std::sync::mpsc::{self, Receiver};
use std::thread;
use crossterm::cursor::MoveTo;
use crossterm::cursor::{MoveTo, Hide, Show};
use crossterm::event::{read, Event, KeyCode};
use crossterm::execute;
use crossterm::style::{Print, Stylize};
@ -17,7 +17,7 @@ use rand::random;
fn main() {
let g = Game::new();
execute!(stdout(), EnterAlternateScreen);
execute!(stdout(), EnterAlternateScreen, Hide);
enable_raw_mode();
g.render_board();
@ -42,7 +42,7 @@ fn main() {
},
);
disable_raw_mode();
execute!(stdout(), LeaveAlternateScreen);
execute!(stdout(), LeaveAlternateScreen, Show);
}
#[derive(Clone, Debug)]
@ -182,7 +182,14 @@ impl Game {
}
fn new_apple(&mut self) {
self.apple_pos = Self::gen_apple(self.board_size.0, self.board_size.1);
let mut new_pos = Self::gen_apple(self.board_size.0, self.board_size.1);
while self.snake.contains(&new_pos) {
new_pos = Self::gen_apple(self.board_size.0, self.board_size.1);
}
self.apple_pos = new_pos;
}
fn next_pos(&self) -> Result<(usize, usize), GameOverState> {