hiding cursor
This commit is contained in:
parent
fffd504a3c
commit
91bf8128a3
15
src/main.rs
15
src/main.rs
|
|
@ -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> {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue