技巧:
方法一
输入中有可能会向四个方向移动,但是把每个方向写一遍会让代码变长,所以我们可以记住四个方向,写一个包含四个方向的函数,通过这个函数,完成移动。这个函数可以通过递归实现,如果前面那个点是空的,那么把这个棋子移到前面那个点之后就结束了;如果那个点有棋子,横坐标轴和纵坐标轴都按照方向变化,因为会把前面的棋子推走,而且被推走的棋子可能会有多个,所以递归处理,变化后,从变化过的点开始继续递归,这里也就是核心的代码了,可以大大减少代码量。
方法二
这个方向是数组唯一可以变化的值,转弯后这个会在 ",>,v,<""^,>,v,<"",>,v,<" 四个值中变化,如果每次变化后都要一个一个判断就会让代码变长,我们可以通过一个数组把这四个方向记录下来,还有一个变量来记住现在的方向 (1 3)(1~3)(1 3) ,可以通过这个直接找到对应的字符。下面是相关的操作。
1.刚开始输入
方法三
有四个方向,可以先记录在数组里面,记住要按顺序,否则会乱,比如可以这样记录:
分别代表 ↑,→,↓,←↑,→,↓,←↑,→,↓,← 。
代码: