merge input and output tiles into one, where output is accomplished by marbles moving into the tile, like a bag

This commit is contained in:
Crispy 2024-10-08 22:04:12 +02:00
parent ae4e84bb90
commit 9f21c2b258
10 changed files with 11 additions and 19 deletions

View file

@ -25,8 +25,7 @@ pub enum PTile {
Math(MathOp),
Bag,
Flipper,
Input,
Output,
IO,
}
#[derive(Debug, Clone, Copy, PartialEq)]
@ -88,8 +87,7 @@ impl Tile {
'!' => Tile::Powerable(PTile::Gate(GateType::NotEqual), false),
'L' => Tile::Powerable(PTile::Gate(GateType::LessThan), false),
'G' => Tile::Powerable(PTile::Gate(GateType::GreaterThan), false),
'P' => Tile::Powerable(PTile::Output, false),
'I' => Tile::Powerable(PTile::Input, false),
'I' | 'P' => Tile::Powerable(PTile::IO, false),
'F' => Tile::Powerable(PTile::Flipper, false),
'A' => Tile::Powerable(PTile::Math(MathOp::Add), false),
'S' => Tile::Powerable(PTile::Math(MathOp::Sub), false),
@ -142,8 +140,7 @@ impl Tile {
},
PTile::Bag => 'B',
PTile::Flipper => 'F',
PTile::Input => 'I',
PTile::Output => 'P',
PTile::IO => 'I',
},
}
}
@ -176,8 +173,7 @@ impl Tile {
PTile::Math(math_op) => math_op.texture_name(),
PTile::Bag => "bag",
PTile::Flipper => "flipper",
PTile::Input => "input",
PTile::Output => "output",
PTile::IO => "io_tile",
};
return format!("{root}_{}", if *state { "on" } else { "off" });
}