Small 2048 game in Rust
Commit ad346a16fded
tarball1 file changed+12-7
@@ -13,7 +13,7 @@ enum Direction {
1313
}1414
1515
fn print_field(field: [[u16; 4]; 4]) {16
- print!("┏━━━━┯━━━━┯━━━━┯━━━━┓\n");16
+ println!("┏━━━━┯━━━━┯━━━━┯━━━━┓");1717
1818
for i in 0..field.len() {1919
print!("┃");@@ -24,16 +24,20 @@ fn print_field(field: [[u16; 4]; 4]) {
2424
n => print!("{:4}", n),2525
};2626
27
- print!("{}", if j == 3 { "┃\n" } else { "│" });27
+ match j {28
+ 3 => println!("┃"),29
+ _ => print!("│")30
+ };31
+2832
}2933
//print!("\x1b[D┃\n┃ │ │ │ ┃\n");3034
3135
if i != 3 {32
- print!("┠────┼────┼────┼────┨\n");36
+ println!("┠────┼────┼────┼────┨");3337
}3438
}3539
36
- print!("┗━━━━┷━━━━┷━━━━┷━━━━┛\n");40
+ println!("┗━━━━┷━━━━┷━━━━┷━━━━┛");3741
3842
io::stdout().flush().unwrap();3943
}@@ -69,7 +73,7 @@ fn move_field(direction: Direction, field: [[u16; 4]; 4]) -> [[u16; 4]; 4] {
6973
}7074
7175
if new_field[this.0][this.1] == new_field[next.0][next.1] {72
- if lock == true {76
+ if lock {7377
lock = false;7478
break;7579
}@@ -155,8 +159,9 @@ fn main() {
155159
156160
let mut field: [[u16; 4]; 4] = [[0; 4]; 4];157161
158
- make_rand_num(&mut field);159
- make_rand_num(&mut field);162
+ for _ in 0..2 {163
+ make_rand_num(&mut field);164
+ };160165
161166
let mut stdin = stdin();162167
let mut buf = [0u8; 10];