やり方自体はゲージの亜種みたいなもんでしょ
1つのハートでHP何個分の情報を含有するのか知らんけど

例えばハート1つでHP2(完全なハートの状態と半分に欠けたハートの状態)を表すのであれば
最大HPを2の倍数で増える形にして、
・ハートの最大数
 最大HP/2
・現在体力
 現在HP/2が完全な状態のハートの数
 現在HP%2が1の場合は上記に加えて欠けたハートがある

って感じで表現する