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 { | 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 { |     pub fn new() -> Level { | ||||||
|         let mut s = [[LevelElement::Floor; LEVEL_HEIGHT]; LEVEL_WIDTH]; |         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 { |         for i in 0..LEVEL_WIDTH { | ||||||
|             s[i][0] = LevelElement::Wall; |             s[i][0] = LevelElement::Wall; | ||||||
|             s[i][LEVEL_HEIGHT-1] = LevelElement::Wall; |  | ||||||
|         } |         } | ||||||
|         for i in 0..LEVEL_HEIGHT { |         for i in 0..LEVEL_HEIGHT { | ||||||
|             s[0][i] = LevelElement::Wall; |             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 { |         Level { | ||||||
|             structure: s |             structure: s | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -62,11 +62,13 @@ fn main() -> Result<()> { | |||||||
|                 height: 25, |                 height: 25, | ||||||
|             }; |             }; | ||||||
|             frame.render_widget( |             frame.render_widget( | ||||||
|                 Paragraph::new(format!("{}\nHealth: {}/{}\n{}", |                 Paragraph::new(format!("{}\nHealth: {}/{}\n{}/{}/{}", | ||||||
|                                        g.player.get_name(), |                                        g.player.get_name(), | ||||||
|                                        g.player.get_life(), |                                        g.player.get_life(), | ||||||
|                                        g.player.get_max_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() |                     .white() | ||||||
|                     .on_blue(), |                     .on_blue(), | ||||||
|                 stats_area, |                 stats_area, | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user