rust/landgen/src/template_based.rs
changeset 14067 3f21f27c6564
parent 14066 649ccb9f8cfd
child 14069 abb42ba345b6
equal deleted inserted replaced
14066:649ccb9f8cfd 14067:3f21f27c6564
    55         None
    55         None
    56     }
    56     }
    57 
    57 
    58     fn divide_edges<I: Iterator<Item = u32>>(&mut self, random_numbers: &mut I) {
    58     fn divide_edges<I: Iterator<Item = u32>>(&mut self, random_numbers: &mut I) {
    59         for is in 0..self.islands.len() {
    59         for is in 0..self.islands.len() {
    60             let island = &mut self.islands[is];
       
    61             let mut i = 0;
    60             let mut i = 0;
    62 
    61             let mut start_point = Point::zero();
    63             while i < island.len() {
    62             let mut end_point = Point::zero();
    64                 let start_point = island[i];
    63 
    65                 let end_point = if i + 1 < island.len() {
    64             loop {
    66                     island[i + 1]
    65                 {
    67                 } else {
    66                     let island = &self.islands[is];
    68                     island[0]
    67                     if i < island.len() {
    69                 };
    68                         start_point = island[i];
       
    69                         end_point = if i + 1 < island.len() {
       
    70                             island[i + 1]
       
    71                         } else {
       
    72                             island[0]
       
    73                         };
       
    74                     } else {
       
    75                         break
       
    76                     }
       
    77                 }
    70 
    78 
    71                 if let Some(new_point) = self.divide_edge(start_point, end_point, random_numbers) {
    79                 if let Some(new_point) = self.divide_edge(start_point, end_point, random_numbers) {
    72                     (*island).insert(i + 1, new_point);
    80                     self.islands[is].insert(i + 1, new_point);
    73                     i += 2;
    81                     i += 2;
    74                 } else {
    82                 } else {
    75                     i += 1;
    83                     i += 1;
    76                 }
    84                 }
    77             }
    85             }