Small 2048 game in Rust
Commit 2db08d3914f8
tarball1 file changed+8-8
@@ -15,10 +15,10 @@ enum Direction {
1515
fn print_field(field: [[u16; 4]; 4]) {1616
print!("┏━━━━┯━━━━┯━━━━┯━━━━┓\n");1717
18
- for i in 0..4 {18
+ for i in 0..field.len() {1919
print!("┃");2020
21
- for j in 0..4 {21
+ for j in 0..field.len() {2222
match field[i][j] {2323
0 => print!(" "),2424
n => print!("{:4}", n),@@ -45,9 +45,9 @@ fn move_field(direction: Direction, field: [[u16; 4]; 4]) -> [[u16; 4]; 4] {
4545
4646
let mut new_field = field.clone();4747
48
- for i in 0..4 {48
+ for i in 0..field.len() {4949
let mut lock = false;50
- for j in 1..4 {50
+ for j in 1..field.len() {5151
for k in (1..=j).rev() {5252
let this = match direction {5353
Direction::Up => (k, i),@@ -103,8 +103,8 @@ fn make_rand_num(field: &mut [[u16; 4]; 4]) {
103103
}104104
105105
fn field_has_empty(field: [[u16; 4]; 4]) -> bool {106
- for i in 0..4 {107
- for j in 0..4 {106
+ for i in 0..field.len() {107
+ for j in 0..field.len() {108108
if field[i][j] == 0 {109109
return true;110110
}@@ -118,8 +118,8 @@ fn has_lost(field: [[u16; 4]; 4]) -> bool {
118118
return false;119119
}120120
121
- for i in 0..4 {122
- for j in 0..4 {121
+ for i in 0..field.len() {122
+ for j in 0..field.len() {123123
if i > 0 && field[i][j] == field[i - 1][j] {124124
return false;125125
}