2023 Day 7: Camel Cards

I relied on enumerations. In both parts I sorted a vector containing all the hands. For part 2, I used an array over the enumerations, to remap the cards’ ranks:
New_Ranking : constant array (Face) of Natural := [Jack => 0, One => 1, Two => 2, Three => 3, Four => 4, Five => 5, -- etc.

That, and a rewrite of the ordering in part 1, did the trick.

I also used enumerations but I did it a bit closer to the parsing and used

   type Camel_Card is 

That way I could read in a character and append single quotes on each side and use Camel_Card’Value() on it. I like your enumeration better as a client facing enumeration though.

1 Like