题目要求:
龟兔赛跑:
--普通格,共100格 _ _
龟:每次随机移动1至3格
兔子:每次随机移动1至6格
每20格会随机出现以下功能格各一次(不会在同一格内出现两种或两种以上功能)
功能格:(**和^^可以连续执行,@@和==不能连续执行)
**幸运星格:选手可再行动一次
@@地雷格:兔子回到上数两个地雷格,龟回到上一地雷格(若后方无地雷格则回到起点)
==传送格:兔子到达下一传送格,龟到达下数两个传送格(若前方无传送格则到达终点)
||树格:兔子停止三次行动
^^下坡格:龟前进10格
以下有题目分析出的类:
让我们开始吧!!!!!!!!!!!!!!!!!!!!!!!!!
分析思路:
由于Animal为大的父类,可以将成员继承给子类Rabbit和Tortoise类。所以须先考虑Rabbit和Tortoise中共同成员。经过我们仔细的开动脑筋,我们能发现Robbit和Tortoise都能奔跑,奔跑我们定义为Run,这一点我们很容易想到。在开动我们的脑筋,我们能发现Robbit和Tortoise在地图上都有位置,我们定义为position,(这点比较难想到,如果没想到可能会在外面定义一个变量来记录在地图上的位置)。既然脑筋已经开动,不如趁热打铁,想想还有吗?
想比肯定难不倒你们。
Run和position已写,我们继续看题目发现在功能格中兔子和乌龟也有相同的功能,想想能不能把这些也放进Animal这个大父类中。
这当然是可以的啊。能想到的话,说明对面向对象编程已经有了一定的了解,继续加油。
那兔子和乌龟的不同功能格行为怎么半?当然是放入各自的类中。
功能格的书写位置已经找到了,那我们就开始用代码来实现他。
!!在写代码前,想想类的书写的顺序,能大大的增强书写逻辑,和理清方向。
1.在想想之后,我们知道应该先写地图Map类,因为Map类是单独的,不像Animal与Rabbit 和Tortoise会与其他的类发生继承等关系。
Map的实现:
import java.util.Arrays; public class Map { int gn1[][]=new int [5][5]; public String[] getMap(){ String[] map = new String[100]; Arrays.fill(map, "__ "); int[][] gn = new int[5][5]; int []index = new int [100]; //以下是好方法的开始,注意注意注意,重要的东西说3变 //将100格分成5份,每份20格 for (int i = 0; i <5 ; i++) { for (int j = 0+i*20; j <20+i*20 ; j++) {//作用:让索引和数组中存的值相同 index[j]=j; } //获取随机数的 for (int k = 0; k <5 ; k++) { //[0,1) [20) int a = (int)(Math.random()*(20-k)+i*20); int temp = index[a]; index[a]= index[19-k+i*20]; index[19-k+i*20]=temp; gn[k][i]=temp; } } for (int i = 0; i < 5; i++) { map[gn[0][i]]="** "; map[gn[1][i]]="@@ "; map[gn[2][i]]="== "; map[gn[3][i]]="|| "; map[gn[4][i]]="^^ " ; } return map; } } public void showMap(String map[],Tortoise T,Rabbit R){ String []maps= Arrays.copyOf(map,map.length);//数组复制,以方便将被兔子和乌龟替换的数据还回到开始样貌,再进行重新替换。 if(R.position==T.position){ maps[T.position]="遇"; }else{ maps[R.position]="兔"; maps[T.position]="龟"; }for(String s:maps) { System.out.print(s); } System.out.println(); } }其中有一个好方法(求固定范围的随机不重复数),以下是方法图解:
1.第一步:假设要0到19的5不重复的随机数,先定义一个数组让每个索引值和数组对应的索引值像同。
a[i]索引: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
a[i]对应索引值: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
2.随机生成一个0到19的数:
假设为第一个随机数为13,就将a[13]与a[19]交换。
a[i]索引: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
a[i]对应索引值: 0 1 2 3 4 5 6 7 8 9 10 11 12 19 14 15 16 17 18 13
3.假设为第一个随机数为6,就将a[6]与a[18]交换
a[i]索引: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
a[i]对应索引值: 0 1 2 3 4 5 18 7 8 9 10 11 12 19 14 15 16 17 6 13
4.假设为第一个随机数为13,就将a[13]与a[17]交换(虽然13已经出现过,但由于值已经交换,a[13]的值已经改变,不会产生影响)
a[i]索引: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
a[i]对应索引值: 0 1 2 3 4 5 18 7 8 9 10 11 12 17 14 15 16 19 6 13
5.假设为第一个随机数为6,就将a[6]与a[16]交换(虽然6已经出现过,但由于值已经交换,a[6]的值已经改变,不会产生影响)
a[i]索引: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
a[i]对应索引值: 0 1 2 3 4 5 16 7 8 9 10 11 12 17 14 15 18 19 6 13
6.假设为第一个随机数为1,就将a[1]与a[15]交换.
a[i]索引: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
a[i]对应索引值: 0 15 2 3 4 5 16 7 8 9 10 11 12 17 14 1 18 19 6 13
7.欧克,我们已经得到了5格重复的数a[19],a[18],a[17],a[16],a[15].
代码实现:
//获取5个随机数的 for (int k = 0; k <5 ; k++) { //[0,1) [20) int a = (int)(Math.random()*20; int temp = index[a]; index[a]= index[19-k];//倒着换数 index[19-k]=temp; }//5个temp就是不重复的5个随机数
改:
假设要43到51的5不重复的随机数,先定义一个数组让每个索引值和数组对应的索引值像同。
a[i]索引: 43 44 45 46 47 48 49 50 51
a[i]对应索引值: 43 44 45 46 47 48 49 50 51
后面就是与先前对应的了。哈哈哈,学会吗?
Animal的实现:
由于Animal的方法在子类中全要重写,就可以写成抽象方法。
public abstract class Animal { //龟兔在地图上的位置 int position = 0; //run(重写) public abstract int run(); //验证当前是否为功能格(重写) public abstract void function(String [] map,Tortoise T); //跑的计算,和功能验证 public void run(String[] map,Tortoise T){ position = position+run(); function(map,T); } //这些子类中都有则写在父类中 //幸运星(写一遍,兔子可以调用两遍) public void x(String[] map,Tortoise T){ System.out.println("再执行一次"); run(); } //地雷(这是一次的地雷,兔子只用调两次,乌龟就要调用一次) public void dl(String map[]){ while (true){ if(position>0){ position--; if(map[position].equals("@@ ")){ break; }else{ position=0; break; } } } } //传送(这是一次的传送,兔子只用调一次,乌龟就要调用两次) public void cs(String[]map){ while(true){ if(position<99) { position++; if (map[position].equals("== ")) { break; } } else{ position=99; break; } } } } 欧克,父类已经完成,开始写子类。Rabbit类的实现:
继承父类Animal,并对父类方法进行重写,以实现Rabbit的行为。
Rabbit:
public class Rabbit extends Animal { @Override public int run() { int setp = (int )(Math.random()*6)+1; System.out.println("兔子走了"+setp+"步"); return setp; } @Override public void function(String[] map,Tortoise T) { if(position<=99){ if(map[ position].equals("**")){ System.out.println("兔子遇到了幸运星"); x(map,T); }else if(map[position].equals("@@")){ System.out.println("兔子遇到了地雷格"); dl(map); dl(map); }else if(map[position].equals("==")){ System.out.println("兔子遇到了传送格"); cs(map); }else if(map[position].equals("||")){ System.out.println("兔子遇到了有没有树枝"); //乌龟执行3次 T.run(map,T); T.function(map,T); T.run(map,T); T.function(map,T); T.run(map,T); T.function(map,T); } }else{ position=99; } } } Tortoise类的实现:public class Tortoise extends Animal { @Override public int run() { int setp = (int )(Math.random()*3)+1; System.out.println("乌龟走了"+setp+"步"); return setp; } @Override public void function(String[] map, Tortoise T) { if(position<=99){ if(map[position].equals("** ")){ System.out.println("乌龟遇到了幸运星"); x(map,T); }else if(map[position].equals("== ")){ System.out.println("乌龟遇到了传送格"); cs(map); cs(map); }else if(map[position].equals("@@ ")){ System.out.println("乌龟遇到了地雷格"); dl(map); }else if(map[position].equals("^^ ")){ System.out.println("乌龟遇到了下坡"); position = position+10; function(map,T); } } else{ position=99; } } }注意:
父类:
public void run(String[] map,Tortoise T){ position = position+run(); function(map,T); }子类:
@Override public int run() { int setp = (int )(Math.random()*6)+1; System.out.println("兔子走了"+setp+"步"); return setp; }@Override public int run() { int setp = (int )(Math.random()*3)+1; System.out.println("乌龟走了"+setp+"步"); return setp; }还记得怎么区分同名方法的调用对象吗?
在Java中,区分同名方法的调用对象主要依赖于方法的参数类型和参数值。当我们使用相同的方法名但不同的参数时,编译器会认为这是不同的方法,因此可以区分不同的对象调用相同的方法。
先讲一下这个,以防后面的方法调用出现疑惑。
好的,我们的准备工资已经完成,开始将这些类运用在Game中,开始组合测试代码。
Game的实现:
//主函数只用来调用方法, public class Game { public static void main(String[] args) { Map map = new Map(); //用Map中getmap方法显示地图 String [] m = map.getMap(); //创建对象 Tortoise T = new Tortoise(); Rabbit R = new Rabbit(); String maps[]=m;//将map的信息用maps记录下来,后面的地图就在maps的基础上改变 //输出地图的总览 for (int i = 0; i <m.length ; i++) { if(i%20==0){ System.out.println(); } System.out.print(m[i]); } System.out.println(); //开始整合,运行。 while(T.position<99&&R.position<99){//通过while循环来一直执行。 //通过参数的差异,调用父类中的run方法,而父类中的run方法也调用了子类重写run方法和function方法。即完成了输出随机步数,也通过调用function方法进入判断当前位置是否为功能格的部分。 T.run(maps,T); R.run(maps,T); //判断是谁先到达终点,将越界的数据拉回终点 if(T.position>99&&R.position>99){ T.position=99; R.position=99; }else if(R.position>99){ R.position=99; }else if(T.position>99){ T.position=99; } //输出兔子和乌龟在地图上的位置。 map.showMap(maps,T,R); } //最后判断兔子和乌龟谁是笑到最后的赢家 if(T.position>=99&&R.position>=99){ System.out.println("平局"); }else if(T.position>=99){ System.out.println("乌龟赢了"); }else if(R.position>=99){ System.out.println("兔子赢了"); } } } 结果展示:** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __
__ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __
__ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __
__ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __
== __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了2步
兔子走了1步
** 兔龟__ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了3步
兔子走了4步
** || __ __ __ 遇__ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了1步
兔子走了1步
** || __ __ __ __ 遇__ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了1步
兔子走了6步
** || __ __ __ __ __ 龟^^ __ __ __ 兔__ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了3步
兔子走了5步
** || __ __ __ __ __ __ ^^ __ 龟__ @@ __ __ __ __ 兔== __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了1步
兔子走了3步
** || __ __ __ __ __ __ ^^ __ __ 龟@@ __ __ __ __ __ == __ 兔@@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了3步
兔子走了4步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ 龟__ __ __ == __ __ @@ __ __ 兔__ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了2步
兔子走了6步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ 龟__ == __ __ @@ __ __ __ __ __ __ || __ 兔^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了1步
兔子走了6步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ 龟== __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ 兔__ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了3步
兔子走了2步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ 龟@@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ 兔__ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了2步
兔子走了4步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ 龟__ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ 兔== __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了3步
兔子走了5步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ 龟__ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ 兔__ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了1步
兔子走了6步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ 龟__ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ 兔__ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了3步
兔子走了3步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || 龟__ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ 兔__ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了1步
兔子走了6步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ 龟^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ 兔|| __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了3步
兔子走了3步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ 龟__ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ 兔@@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了1步
兔子走了2步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ 龟__ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ 兔__ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了2步
乌龟遇到了幸运星
再执行一次
乌龟走了1步
兔子走了1步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ 龟__ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ 兔== __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了1步
兔子走了6步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** 龟== __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ 兔^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了1步
乌龟遇到了传送格
兔子走了4步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ 龟__ ** __ __ __ ^^ __ __ 兔__ == __ ^^ __ __ __ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了2步
乌龟遇到了幸运星
再执行一次
乌龟走了2步
兔子走了6步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ 龟__ __ __ ^^ __ __ __ __ == __ ^^ __ 兔__ __ __ __ __ @@ __ __ || __ __ __ ** __ __
乌龟走了3步
兔子走了6步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ 龟^^ __ __ __ __ == __ ^^ __ __ __ __ __ __ __ 兔__ __ || __ __ __ ** __ __
乌龟走了1步
乌龟遇到了下坡
兔子走了4步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ 龟__ __ __ __ @@ __ __ || 兔__ __ ** __ __
乌龟走了1步
兔子走了6步
** || __ __ __ __ __ __ ^^ __ __ __ @@ __ __ __ __ __ == __ __ @@ __ __ __ __ __ __ || __ __ ^^ __ __ __ __ ** __ == __ __ __ __ == __ __ __ ** __ __ __ || __ @@ __ ^^ __ __ __ __ __ __ __ || __ __ @@ __ __ == __ ** __ __ __ ^^ __ __ __ __ == __ ^^ __ __ __ 龟__ __ __ @@ __ __ || __ __ __ ** __ 兔
兔子赢了
哈哈,还是兔子赢了,你们的呢?是有先天优势的兔子还是持之以恒的乌龟赢了呢?
哈哈,学会了吗?
加油自己,加油陌生人。
最后送你们一句话,当然也包括我自己。
"在生活的道路上,我们都会遇到挑战和困难。这些磨难并不意味着失败,而是我们成长的催化剂。记住,每一次跌倒都是通往成功的必经之路。你有无穷的潜力等待挖掘,只要你有勇气去追求,去梦想,去努力,你就能创造奇迹。你是最棒的,无论路有多么艰难,只要你坚持下去,胜利终将属于你。加油,你是最棒的!"