HNUST 1695 :跳格子 |
您所在的位置:网站首页 › 90后跳格子游戏的玩法及图 › HNUST 1695 :跳格子 |
逸夫楼的大厅的地面有10行10列的石砖,我们用坐标(x,y)来表示石砖的位置。如图示: 一天lxl在逸夫楼大厅玩跳格子游戏,跳格子游戏有7个动作:1.向左转,2向右转,3向后转,4向左跳一格,5向前跳一格,6向右跳一格,7向后跳一格。游戏前,lxl在(1,1)处并面向y轴正方向,他会做n次动作,若某个动作会让lxl跳出逸夫楼大厅则原地不动,每一次动作后都需要你输出lxl当前的位置。当n次动作都做完后,你还需要统计lxl到达过多少个格子。 输入 第一行输入n(0 int m; cin >> m; //以当前坐标为点,向左转代表-1,向右转代表+1,向后转代表+2 if (m == 1) flag = flag - 1; //调转方向 //移动方向 //相当于 // // 1 4 //7 // (4-4-1+4)%4+4 // 1 5 //4 // (5-4-1)%4+4 // 1 6 //5 // (6-4-1)%4+4 // 1 7 //6 // (7-4-1)%4+4 else if (m == 2)flag = flag + 1; //调转方向 //移动方向 //相当于 // // 2 4 //5 // (4-4+1)%4+4 // 2 5 //6 // (5-4+1)%4+4 // 2 6 //7 // (6-4+1)%4+4 // 2 7 //4 // (7-4+1)%4+4 else if (m == 3)flag = flag + 2; //调转方向 //移动方向 //相当于 // // 3 4 //6 // (4-4+2)%4+4 // 3 5 //7 // (5-4+2)%4+4 // 3 6 //4 // (6-4+2)%4+4 // 3 7 //5 // (7-4+2)%4+4 //输入4 5 6 7 时先判断此时的方向 else { m = (m - 4 + flag); if (m < 0)m += 4; m = m % 4; m = m + 4; } if (m == 4)//向左跳 { if (x - 1 < 1); else x--; if (arr[x][y] == 0) sum++; arr[x][y]++; } if (m == 5)//向前跳 { if (y + 1 > 10); else y++; if (arr[x][y] == 0)sum++; arr[x][y]++; } if (m == 6)//向右跳 { if (x + 1 > 10); else x++; if (arr[x][y] == 0)sum++; arr[x][y]++; } if (m == 7)//向后跳 { if (y - 1 < 1); else y--; if (arr[x][y] == 0)sum++; arr[x][y]++; } printf("(%d,%d)\n", x, y); } cout |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |