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