start generating
This commit is contained in:
		
							parent
							
								
									3830f26e92
								
							
						
					
					
						commit
						ddf206343c
					
				
							
								
								
									
										26
									
								
								src/level.rs
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								src/level.rs
									
									
									
									
									
								
							| @ -15,26 +15,28 @@ pub struct Level { | ||||
| } | ||||
| 
 | ||||
| impl Level { | ||||
|     const ROOM_HEIGHT: usize = 6; | ||||
|     const ROOM_WIDTH: usize = 7; | ||||
|     fn draw_room(row: usize, col: usize, s: &mut [[LevelElement; LEVEL_HEIGHT]; LEVEL_WIDTH]) { | ||||
|         for r in 0..Level::ROOM_HEIGHT { | ||||
|             for c in 0..Level::ROOM_WIDTH { | ||||
|                 if c == Level::ROOM_WIDTH - 1 || r == Level::ROOM_HEIGHT - 1 { | ||||
|                     s[col * Level::ROOM_WIDTH + c][row * Level::ROOM_HEIGHT + r] = LevelElement::Wall; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     pub fn new() -> Level { | ||||
|         let mut s = [[LevelElement::Floor; LEVEL_HEIGHT]; LEVEL_WIDTH]; | ||||
|         Level::draw_room(0, 0, &mut s); | ||||
|         Level::draw_room(1, 1, &mut s); | ||||
|         for i in 0..LEVEL_WIDTH { | ||||
|             s[i][0] = LevelElement::Wall; | ||||
|             s[i][LEVEL_HEIGHT-1] = LevelElement::Wall; | ||||
|         } | ||||
|         for i in 0..LEVEL_HEIGHT { | ||||
|             s[0][i] = LevelElement::Wall; | ||||
|             s[LEVEL_WIDTH-1][i] = LevelElement::Wall; | ||||
|         } | ||||
|         s[10][10] = LevelElement::Wall; | ||||
|         s[11][10] = LevelElement::Wall; | ||||
|         s[10][11] = LevelElement::Wall; | ||||
|         s[11][11] = LevelElement::Wall; | ||||
|         s[1][20]  = LevelElement::Wall; | ||||
|         s[20][1]  = LevelElement::Wall; | ||||
|         s[20][LEVEL_HEIGHT-2]  = LevelElement::Wall; | ||||
|         s[LEVEL_WIDTH-2][20] = LevelElement::Wall; | ||||
|         s[4][4] = LevelElement::StairDown; | ||||
|         s[45][20] = LevelElement::StairUp; | ||||
| 
 | ||||
|         Level { | ||||
|             structure: s | ||||
|         } | ||||
|  | ||||
| @ -62,11 +62,13 @@ fn main() -> Result<()> { | ||||
|                 height: 25, | ||||
|             }; | ||||
|             frame.render_widget( | ||||
|                 Paragraph::new(format!("{}\nHealth: {}/{}\n{}", | ||||
|                 Paragraph::new(format!("{}\nHealth: {}/{}\n{}/{}/{}", | ||||
|                                        g.player.get_name(), | ||||
|                                        g.player.get_life(), | ||||
|                                        g.player.get_max_life(), | ||||
|                                        g.player.get_position().get_x())) | ||||
|                                        g.player.get_position().get_level(), | ||||
|                                        g.player.get_position().get_x(), | ||||
|                                        g.player.get_position().get_y())) | ||||
|                     .white() | ||||
|                     .on_blue(), | ||||
|                 stats_area, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user