本文整理汇总了C++中Dice::rotate_right方法的典型用法代码示例。如果您正苦于以下问题:C++ Dice::rotate_right方法的具体用法?C++ Dice::rotate_right怎么用?C++ Dice::rotate_right使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dice
的用法示例。
在下文中一共展示了Dice::rotate_right方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fall
bool fall(int &x, int &y, Dice &dice){
Dice maxDice = dice;
int maxX = x;
int maxY = y;
int maxID = 0;
for(int i=0; i<4; i++){
int nx = x + dx[i];
int ny = y + dy[i];
if(ht[y][x] <= ht[ny][nx])continue;
if(i == 0 && !ok[dice.n]) continue;
if(i == 1 && !ok[dice.e]) continue;
if(i == 2 && !ok[dice.s]) continue;
if(i == 3 && !ok[dice.w]) continue;
Dice tmp;
if(i == 0) tmp = dice.rotate_front();
if(i == 1) tmp = dice.rotate_right();
if(i == 2) tmp = dice.rotate_back();
if(i == 3) tmp = dice.rotate_left();
if(maxID < tmp.b){
maxID = tmp.b;
maxX = nx;
maxY = ny;
maxDice = tmp;
}
}
if(x != maxX || y != maxY){
x = maxX;
y = maxY;
dice = maxDice;
return true;
}
return false;
}