etrobocon2018 feat.KatLab
770af34cce41ae9c30c41303275e1add2daae0c3
(with uncommitted changes)
|
#include <InitialPositionCodeDecoder.h>
公開メンバ関数 | |
void | decode (std::int32_t code) |
std::int32_t | getInitialPositionCode () |
std::vector< std::int8_t > | getInitialPositionCodeList () |
std::int8_t | getInitialPositionPowerBlockCode () |
5桁から6桁の初期位置コードを初期の位置コードリストにデコードするクラス
Example
std::int32_t initialPositionCode = 74840; // = 1*16^4 + 2*16^3 + 4*16^2 + 5*16^1 + 8ipcd.decode(initialPositionCode);std::vector<std::int8_t> decodedColorBlockCodeList = ipcd.getInitialPositionCodeList(); // = {1, 2, 4, 5}std::int8_t decodedPowerBlockCode = ipcd.getInitialPositionPowerBlockCode(); // = 8
InitialPositionCodeDecoder.h の 29 行目に定義があります。
void InitialPositionCodeDecoder::decode | ( | std::int32_t | code | ) |
初期位置コードをデコードする
code | 初期位置コード 0未満はこのクラスで定義している初期値を返す |
InitialPositionCodeDecoder.cpp の 9 行目に定義があります。
std::int32_t InitialPositionCodeDecoder::getInitialPositionCode | ( | ) |
std::vector< std::int8_t > InitialPositionCodeDecoder::getInitialPositionCodeList | ( | ) |
std::int8_t InitialPositionCodeDecoder::getInitialPositionPowerBlockCode | ( | ) |
パワーブロックの初期の位置コードを取得する
パワーブロックの初期位置は、1~8のみを取る。 計算外の場合は0を返す。 計算上、1~15までの値を取る可能性はあるが、9以上の場合は動作未検証である。
InitialPositionCodeDecoder.cpp の 47 行目に定義があります。