Added board score
This commit is contained in:
parent
6ffa97d37a
commit
c5a8c6d900
1 changed files with 15 additions and 0 deletions
15
src/board.rs
15
src/board.rs
|
|
@ -12,12 +12,16 @@ use tile::{
|
||||||
|
|
||||||
pub struct Board {
|
pub struct Board {
|
||||||
tiles: Vec<Tile>,
|
tiles: Vec<Tile>,
|
||||||
|
score: int,
|
||||||
|
highest_score: int,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Board {
|
impl Board {
|
||||||
pub fn new() -> Board {
|
pub fn new() -> Board {
|
||||||
Board {
|
Board {
|
||||||
tiles: Vec::<Tile>::new(),
|
tiles: Vec::<Tile>::new(),
|
||||||
|
score: 0,
|
||||||
|
highest_score: 0,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -44,6 +48,7 @@ impl Board {
|
||||||
if self.is_locking() {
|
if self.is_locking() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
let mut score_to_added = 0;
|
||||||
let mut tiles_need_removed = HashSet::<uint>::new();
|
let mut tiles_need_removed = HashSet::<uint>::new();
|
||||||
let mut tiles_need_added = Vec::<Tile>::new();
|
let mut tiles_need_added = Vec::<Tile>::new();
|
||||||
for i in range(0, self.tiles.len()) {
|
for i in range(0, self.tiles.len()) {
|
||||||
|
|
@ -62,6 +67,7 @@ impl Board {
|
||||||
tiles_need_removed.insert(i);
|
tiles_need_removed.insert(i);
|
||||||
tiles_need_removed.insert(j);
|
tiles_need_removed.insert(j);
|
||||||
tiles_need_added.push(Tile::new_combined(tile1.score + tile2.score, tile1.tile_x, tile1.tile_y));
|
tiles_need_added.push(Tile::new_combined(tile1.score + tile2.score, tile1.tile_x, tile1.tile_y));
|
||||||
|
score_to_added += tile1.score + tile2.score;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -74,6 +80,7 @@ impl Board {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.tiles = tiles.append(tiles_need_added.as_slice());
|
self.tiles = tiles.append(tiles_need_added.as_slice());
|
||||||
|
self.add_score(score_to_added);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -360,5 +367,13 @@ impl Board {
|
||||||
tile.render(c, gl);
|
tile.render(c, gl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn add_score(&mut self, score: int) {
|
||||||
|
self.score += score;
|
||||||
|
if self.score > self.highest_score {
|
||||||
|
self.highest_score = self.score;
|
||||||
|
}
|
||||||
|
println!("Score: {}, Highest Score: {}", self.score, self.highest_score);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue