コード例 #1
0
ファイル: raw.cpp プロジェクト: stohrendorf/ppplay
bool RawPlayer::load(const std::string& filename)
{
    FileStream f(filename);
    if(!f)
        return false;

    // file validation section
    char id[8];
    f.read(id, 8);
    if(!std::equal(id, id + 8, "RAWADATA"))
    {
        return false;
    }

    // load section
    uint16_t clock;
    f >> clock;
    setInitialSpeed(clock);
    setCurrentSpeed(clock);

    BOOST_ASSERT(f.pos() == 10);
    static_assert(sizeof(TrackData) == 2, "Ooops");
    m_data.resize((f.size() - 10) / 2);
    f.read(m_data.data(), m_data.size());

    addOrder(0);

    rewind(0);
    return true;
}
コード例 #2
0
ファイル: OrangeGift.cpp プロジェクト: dcarlus/santa
OrangeGift::OrangeGift(float xPos,
                       float yPos,
                       float xSpeed,
                       float ySpeed) : BonusEntity("orange_gift", 100, 65) {
    setPosition(xPos, yPos) ;
    setInitialSpeed(xSpeed, ySpeed) ;
}
コード例 #3
0
ファイル: Gnome.cpp プロジェクト: dcarlus/santa
Gnome::Gnome(Position pos,
             Speed speed) : MalusEntity("items/gnome", 5, -100) {
    setPosition(pos.x, pos.y) ;
    setInitialSpeed(speed.x, speed.y) ;
    setCuttedSprite("items/cutted/gnome_cutted") ;
    makeDisappearOnBreak(false) ;
}
コード例 #4
0
ファイル: Gnome.cpp プロジェクト: dcarlus/santa
Gnome::Gnome(float xPos,
             float yPos,
             float xSpeed,
             float ySpeed) : MalusEntity("items/gnome", 5, -100) {
    setPosition(xPos, yPos) ;
    setInitialSpeed(xSpeed, ySpeed) ;
    setCuttedSprite("items/cutted/gnome_cutted") ;
    makeDisappearOnBreak(false) ;
}
コード例 #5
0
ファイル: Gnome.cpp プロジェクト: dcarlus/santa
void Gnome::additionnalStuffOnBreak() {
    // Play pain sound
    AudioManager::getInstance() -> playSound("gnome_hurt") ;
    m_angleStep = Math::toRadian((rand() % 6) + 2) ;

    if (rand() % 2 == 0)
        m_angleStep = -m_angleStep ;

    Speed newSpeed ;
    newSpeed.x = rand() % 4 ;
    newSpeed.y = rand() % 3 ;
    if (rand() % 2 == 0)    newSpeed.x = -newSpeed.x ;
    if (rand() % 2 == 0)    newSpeed.y = -newSpeed.y ;
    setInitialSpeed(newSpeed.x, newSpeed.y) ;
}
コード例 #6
0
ファイル: OrangeGift.cpp プロジェクト: dcarlus/santa
OrangeGift::OrangeGift(Position pos,
                       Speed speed) : BonusEntity("orange_gift", 100, 65) {
    setPosition(pos.x, pos.y) ;
    setInitialSpeed(speed.x, speed.y) ;
}