本文整理汇总了C++中Coin::setBottom方法的典型用法代码示例。如果您正苦于以下问题:C++ Coin::setBottom方法的具体用法?C++ Coin::setBottom怎么用?C++ Coin::setBottom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Coin
的用法示例。
在下文中一共展示了Coin::setBottom方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: generateReward
//generateReward function
void Nonbreakable::generateReward(bool isLarge)
{
// if it is a question block decide which reward to give to mario
if (type_ == QUESTION) {
if (reward_ == COIN) {
// Create a coin above block it was in and adds drawable coin to the level
// uses the left and right of the block and the top and bottom plus 16
Coin *coin = new Coin();
coin->setLeft(this->left());
coin->setRight(this->right());
coin->setTop(this->top()+16);
coin->setBottom(this->top());
Level::sharedLevel()->addDrawable(coin);
}
else if (reward_ == MUSHROOM) {
if (isLarge != true) {
// Create a mushroom above block it was in and adds drawable coin to the level
// uses the left and right of the block and the top and bottom plus 16
Mushroom *mushroom = new Mushroom();
mushroom->setLeft(this->left());
mushroom->setRight(this->right());
mushroom->setTop(this->top()+16);
mushroom->setBottom(this->top());
Level::sharedLevel()->addMovable(mushroom);
}
else {
// Create a fireflower above block it was in and adds drawable coin to the level
// uses the left and right of the block and the top and bottom plus 16
FireFlower *fireFlower = new FireFlower();
fireFlower->setLeft(this->left());
fireFlower->setRight(this->right());
fireFlower->setTop(this->top()+16);
fireFlower->setBottom(this->top());
Level::sharedLevel()->addDrawable(fireFlower);
}
}
else {
// Create a star above block it was in and adds drawable coin to the level
// uses the left and right of the block and the top and bottom plus 16
Star *star = new Star();
star->setLeft(this->left());
star->setRight(this->right());
star->setTop(this->top()+16);
star->setBottom(this->top());
Level::sharedLevel()->addDrawable(star);
}
// once the block has been hit by mario and the reward generated change type to regular from question
type_ = OFFQUESTION;
}
}
示例2: makeLevel
//------------------------------------------------------------
void Level::makeLevel(int levelNumber)
{
//if the level already exists delete it
if ((activeDrawable_.first() != NULL) || (activeMovable_.first() != NULL) || (activeBlocks_.first() != NULL)) {
resetLevel();
}
// Mac environment variable for home directory
char *cHomeDir = NULL;
cHomeDir = getenv("HOME");
// I think Windows uses HOMEPATH
if (!cHomeDir) {
cHomeDir = getenv("HOMEPATH");
}
string homeDir = cHomeDir;
homeDir += "/CS330/";
string fname;
ifstream inFile;
if (levelNumber== 1) {
fname = homeDir + "levelfiles/level1.txt";
inFile.open(fname.c_str());
}
else if (levelNumber== 2) {
fname = homeDir + "levelfiles/level3.txt";
inFile.open(fname.c_str());
}
int xcoord = 0, ycoord = 0, type, reward;
char object;
while (inFile.good()) {
object= inFile.get();
/*at this point the variable 'object' has the next item in the .txt
and here the 'object' and it's xcord and ycord are sent off to the
correct LList*/
if (object== 'b') {
//create breakable block
Breakable *bBlock = new Breakable;
bBlock->setTop(ycoord + 16);
bBlock->setBottom(ycoord);
bBlock->setLeft(xcoord);
bBlock->setRight(xcoord + 16);
//add block to the list
if (xcoord<256){
activeBlocks_.append(bBlock);
}
else {
levelBlocks_.append(bBlock);
}
}
else if (object== 'B' || object=='M' || object=='C' || object=='S'){
// sets the type and reward based off the letter passed and creates the block
if (object == 'B') {
type = REGULAR;
reward = 0;
}
else if (object == 'M'){
type = QUESTION;
reward = MUSHROOM;
}
else if (object == 'S'){
type = QUESTION;
reward = STAR;
}
else if (object == 'C'){
type = QUESTION;
reward = COIN;
}
Nonbreakable *nBlock = new Nonbreakable(type, reward);
nBlock->setTop(ycoord + 16);
nBlock->setBottom(ycoord);
nBlock->setLeft(xcoord);
nBlock->setRight(xcoord + 16);
//place in correct list
if (xcoord<256) {
activeBlocks_.append(nBlock);
}
else {
levelBlocks_.append(nBlock);
}
}
else if (object == 'c') {
//create coin
Coin *coin = new Coin;
coin->setTop(ycoord + 16);
coin->setBottom(ycoord);
coin->setLeft(xcoord);
coin->setRight(xcoord + 16);
//.........这里部分代码省略.........