jag

2048_rust

public

Small 2048 game in Rust

Star0
Watch0

Commit 2db08d3914f8

tarball

baumsplitter41 <baumsplitter41@baumsplitter41.eu>2026-09-13 22:15 UTC

1 file changed+8-8
refactor: made for loop dynamically with field.len()
Modified file: src/main.rs+8 additions−8 deletions
@@ -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 }