本文整理汇总了C++中Dice::pitch方法的典型用法代码示例。如果您正苦于以下问题:C++ Dice::pitch方法的具体用法?C++ Dice::pitch怎么用?C++ Dice::pitch使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dice
的用法示例。
在下文中一共展示了Dice::pitch方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dfs
void dfs(Dice dice,int sx,int sy){
//check stage
//1 2
// 0
//3 4
bool isok = false;
for(int num=6;num>=4;num--){
if(dice.surface[FRONT] == num){
int dx = sx;
int dy = sy - 1;
if(stage[dy][dx].size() < stage[sy][sx].size()){
dice.pitch(3);
dfs(dice,dx,dy);
isok = true;
goto found;
}
}
else if(dice.surface[REAR] == num){
int dx = sx;
int dy = sy + 1;
if(stage[dy][dx].size() < stage[sy][sx].size()){
dice.pitch(1);
dfs(dice,dx,dy);
isok = true;
goto found;
}
}
else if(dice.surface[LEFT] == num){
int dx = sx - 1;
int dy = sy;
if(stage[dy][dx].size() < stage[sy][sx].size()){
dice.roll(3);
dfs(dice,dx,dy);
isok = true;
goto found;
}
}
else if(dice.surface[RIGHT] == num){
int dx = sx + 1;
int dy = sy;
if(stage[dy][dx].size() < stage[sy][sx].size()){
dice.roll(1);
dfs(dice,dx,dy);
isok = true;
goto found;
}
}
}
found:;
if(!isok){
stage[sy][sx].push_back(dice.surface[TOP]);
}
}