Skip to content

Commit 145dfb4

Browse files
committed
Align non-horizontal prey sprites
1 parent f89366c commit 145dfb4

1 file changed

Lines changed: 52 additions & 40 deletions

File tree

src/boids.rs

Lines changed: 52 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -432,32 +432,36 @@ const PREY_EAST: [BoidSpriteCell; 12] = [
432432
sprite_cell(8, 1, BODY, BOID_UPPER_HALF),
433433
sprite_cell(9, 1, HEAD, BOID_TOP_RIGHT),
434434
];
435-
const PREY_SOUTH_EAST: [BoidSpriteCell; 7] = [
435+
const PREY_SOUTH_EAST: [BoidSpriteCell; 8] = [
436436
sprite_cell(0, 0, TAIL, BOID_BOTTOM_RIGHT),
437437
sprite_cell(1, 0, TAIL, BOID_BOTTOM_LEFT),
438438
sprite_cell(0, 1, TAIL, BOID_RIGHT_HALF),
439-
sprite_cell(1, 1, BODY, BOID_BLOCK),
440-
sprite_cell(2, 1, BODY, BOID_LEFT_HALF),
441-
sprite_cell(1, 2, BODY, BOID_UPPER_HALF),
442-
sprite_cell(2, 2, HEAD, BOID_BOTTOM_RIGHT),
439+
sprite_cell(1, 1, BODY, BOID_LOWER_HALF),
440+
sprite_cell(1, 2, FIN, BOID_BLOCK),
441+
sprite_cell(2, 2, BODY, BOID_LEFT_HALF),
442+
sprite_cell(2, 3, BODY, BOID_UPPER_HALF),
443+
sprite_cell(3, 3, HEAD, BOID_BOTTOM_RIGHT),
443444
];
444-
const PREY_SOUTH: [BoidSpriteCell; 7] = [
445+
const PREY_SOUTH: [BoidSpriteCell; 9] = [
445446
sprite_cell(0, 0, TAIL, BOID_BOTTOM_RIGHT),
446-
sprite_cell(1, 0, TAIL, BOID_UPPER_HALF),
447+
sprite_cell(1, 0, TAIL, BOID_LOWER_HALF),
447448
sprite_cell(2, 0, TAIL, BOID_BOTTOM_LEFT),
448-
sprite_cell(0, 1, BODY, BOID_RIGHT_HALF),
449-
sprite_cell(1, 1, BODY, BOID_BLOCK),
450-
sprite_cell(2, 1, BODY, BOID_LEFT_HALF),
451-
sprite_cell(1, 2, HEAD, BOID_LOWER_HALF),
449+
sprite_cell(1, 1, TAIL, BOID_BLOCK),
450+
sprite_cell(0, 2, FIN, BOID_RIGHT_HALF),
451+
sprite_cell(1, 2, FIN, BOID_BLOCK),
452+
sprite_cell(2, 2, FIN, BOID_LEFT_HALF),
453+
sprite_cell(1, 3, BODY, BOID_BLOCK),
454+
sprite_cell(1, 4, HEAD, BOID_LOWER_HALF),
452455
];
453-
const PREY_SOUTH_WEST: [BoidSpriteCell; 7] = [
454-
sprite_cell(1, 0, TAIL, BOID_BOTTOM_RIGHT),
455-
sprite_cell(2, 0, TAIL, BOID_BOTTOM_LEFT),
456-
sprite_cell(0, 1, BODY, BOID_RIGHT_HALF),
457-
sprite_cell(1, 1, BODY, BOID_BLOCK),
458-
sprite_cell(2, 1, TAIL, BOID_LEFT_HALF),
459-
sprite_cell(0, 2, HEAD, BOID_BOTTOM_LEFT),
460-
sprite_cell(1, 2, BODY, BOID_UPPER_HALF),
456+
const PREY_SOUTH_WEST: [BoidSpriteCell; 8] = [
457+
sprite_cell(2, 0, TAIL, BOID_BOTTOM_RIGHT),
458+
sprite_cell(3, 0, TAIL, BOID_BOTTOM_LEFT),
459+
sprite_cell(3, 1, TAIL, BOID_LEFT_HALF),
460+
sprite_cell(2, 1, BODY, BOID_LOWER_HALF),
461+
sprite_cell(1, 2, BODY, BOID_RIGHT_HALF),
462+
sprite_cell(2, 2, FIN, BOID_BLOCK),
463+
sprite_cell(0, 3, HEAD, BOID_BOTTOM_LEFT),
464+
sprite_cell(1, 3, BODY, BOID_UPPER_HALF),
461465
];
462466
const PREY_WEST: [BoidSpriteCell; 12] = [
463467
sprite_cell(4, 0, FIN, BOID_LOWER_HALF),
@@ -473,32 +477,36 @@ const PREY_WEST: [BoidSpriteCell; 12] = [
473477
sprite_cell(8, 1, TAIL, BOID_BLOCK),
474478
sprite_cell(9, 1, TAIL, BOID_UPPER_HALF),
475479
];
476-
const PREY_NORTH_WEST: [BoidSpriteCell; 7] = [
480+
const PREY_NORTH_WEST: [BoidSpriteCell; 8] = [
477481
sprite_cell(0, 0, HEAD, BOID_TOP_LEFT),
478482
sprite_cell(1, 0, BODY, BOID_LOWER_HALF),
479-
sprite_cell(0, 1, BODY, BOID_RIGHT_HALF),
480-
sprite_cell(1, 1, BODY, BOID_BLOCK),
481-
sprite_cell(2, 1, TAIL, BOID_LEFT_HALF),
482-
sprite_cell(1, 2, TAIL, BOID_TOP_RIGHT),
483-
sprite_cell(2, 2, TAIL, BOID_TOP_LEFT),
483+
sprite_cell(1, 1, BODY, BOID_RIGHT_HALF),
484+
sprite_cell(2, 1, FIN, BOID_BLOCK),
485+
sprite_cell(2, 2, BODY, BOID_UPPER_HALF),
486+
sprite_cell(3, 2, TAIL, BOID_LEFT_HALF),
487+
sprite_cell(2, 3, TAIL, BOID_TOP_RIGHT),
488+
sprite_cell(3, 3, TAIL, BOID_TOP_LEFT),
484489
];
485-
const PREY_NORTH: [BoidSpriteCell; 7] = [
490+
const PREY_NORTH: [BoidSpriteCell; 9] = [
486491
sprite_cell(1, 0, HEAD, BOID_UPPER_HALF),
487-
sprite_cell(0, 1, BODY, BOID_RIGHT_HALF),
488492
sprite_cell(1, 1, BODY, BOID_BLOCK),
489-
sprite_cell(2, 1, BODY, BOID_LEFT_HALF),
490-
sprite_cell(0, 2, TAIL, BOID_TOP_RIGHT),
491-
sprite_cell(1, 2, TAIL, BOID_LOWER_HALF),
492-
sprite_cell(2, 2, TAIL, BOID_TOP_LEFT),
493+
sprite_cell(0, 2, FIN, BOID_RIGHT_HALF),
494+
sprite_cell(1, 2, FIN, BOID_BLOCK),
495+
sprite_cell(2, 2, FIN, BOID_LEFT_HALF),
496+
sprite_cell(1, 3, TAIL, BOID_BLOCK),
497+
sprite_cell(0, 4, TAIL, BOID_TOP_RIGHT),
498+
sprite_cell(1, 4, TAIL, BOID_UPPER_HALF),
499+
sprite_cell(2, 4, TAIL, BOID_TOP_LEFT),
493500
];
494-
const PREY_NORTH_EAST: [BoidSpriteCell; 7] = [
495-
sprite_cell(1, 0, BODY, BOID_LOWER_HALF),
496-
sprite_cell(2, 0, HEAD, BOID_TOP_RIGHT),
497-
sprite_cell(0, 1, TAIL, BOID_RIGHT_HALF),
498-
sprite_cell(1, 1, BODY, BOID_BLOCK),
501+
const PREY_NORTH_EAST: [BoidSpriteCell; 8] = [
502+
sprite_cell(2, 0, BODY, BOID_LOWER_HALF),
503+
sprite_cell(3, 0, HEAD, BOID_TOP_RIGHT),
504+
sprite_cell(1, 1, FIN, BOID_BLOCK),
499505
sprite_cell(2, 1, BODY, BOID_LEFT_HALF),
500-
sprite_cell(0, 2, TAIL, BOID_TOP_RIGHT),
501-
sprite_cell(1, 2, TAIL, BOID_TOP_LEFT),
506+
sprite_cell(0, 2, TAIL, BOID_RIGHT_HALF),
507+
sprite_cell(1, 2, BODY, BOID_UPPER_HALF),
508+
sprite_cell(0, 3, TAIL, BOID_TOP_RIGHT),
509+
sprite_cell(1, 3, TAIL, BOID_TOP_LEFT),
502510
];
503511

504512
const PREDATOR_EAST: [BoidSpriteCell; 32] = [
@@ -1218,7 +1226,8 @@ mod tests {
12181226
(9, 1, BOID_UPPER_HALF)
12191227
]
12201228
);
1221-
assert_eq!(prey_north_east, vec![".bh", "tbb", "tt."]);
1229+
assert_eq!(prey_north, vec![".h.", ".b.", "fff", ".t.", "ttt"]);
1230+
assert_eq!(prey_north_east, vec!["..bh", ".fb.", "tb..", "tt.."]);
12221231
assert_eq!(prey_north_west, mirror_columns(&prey_north_east));
12231232
assert_eq!(prey_south_east, mirror_rows(&prey_north_east));
12241233
assert_eq!(prey_south_west, mirror_rows(&prey_north_west));
@@ -1339,7 +1348,10 @@ mod tests {
13391348
.iter()
13401349
.all(|cell| matches!(cell.tone, TAIL | BODY | FIN | HEAD))
13411350
);
1342-
assert_eq!(sprite_signature_for_cells(prey), vec![".bh", "tbb", "tt."]);
1351+
assert_eq!(
1352+
sprite_signature_for_cells(prey),
1353+
vec!["..bh", ".fb.", "tb..", "tt.."]
1354+
);
13431355
assert_eq!(
13441356
sprite_signature_for_cells(predator),
13451357
vec!["....bh", "...bbb", "..bbb.", ".tbb..", "tt....", "t....."]

0 commit comments

Comments
 (0)