龟图)Logo语言是年轻的计算机用户所熟悉的种语言,龟图是这种种语言的一个著名应用。想像一只机器海龟在Java程序的控制下在房间内移动。海龟有一支画笔,可以处在两种位置,笔头朝上或朝下。当画笔朝下时,海龟画出其运动的轨迹;当画笔朝上时,海龟自由移动,不会写下任何内容。请模拟海龟的操作并创建一个计算机化的图板。使用一个20*20的数组floor,并将其初始化为0。从一个包含命令的数组中读取命令,始终跟踪海龟的当前位置以及画笔的朝向。假定海龟总是从位置(0,0)开始移动,并且画笔朝上。程序中必须处理的海龟命令如下:
公司主营业务:成都网站设计、成都网站制作、外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出淮南免费做网站回馈大家。
命令 含义
1 画笔朝上
2 画笔朝下
3 右转
4 左转
5,10 向前走10步(或不为10的步数)
6 打印20*20的数组
9 数据结束(循环结束标志)
假如海龟在图板中心附近的某个位置上,下面的“程序”将在画笔朝上时画出一个12*12的正方形。
2
5,12
3
5,12
3
5,12
3
5,12
5,12
1
6
9
当海龟在运动的画笔朝下,将数组floor的相应元素置为1。当给出6号命令(打印)时,若某数组元素为1,则显示一个星号,或者显示其它字符;若某数组元素为0,就显示一个空格。编写一个程序,实现龟图功能。编写几个龟图程序,画出有趣的图形,并增加它命令,使龟图语言的功能更强大。
感觉挺有趣的,试着写了个~
public static void main(String[] arg) {
new wugui().run();
new tuzi().run();
}
static class wugui {
final int sudu = 4;// 乌龟的速度是每秒4米
public static boolean hasEnd = false;// 是否已经跑到终点
public void run() {
new Thread() {
public void run() {
int distance = 0;
while (distance 100) {
try {
Thread.sleep(1000);
distance += sudu;
System.out.println("小乌龟跑了" + distance + "米");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
hasEnd = true;
if (tuzi.hasEnd) {
System.out.println("呜呜,差一点点就赢了~");
} else {
System.out.println("胜利是属于有准备的人的,你的自大害了你!-------乌龟赢了");
}
}
}.start();
}
}
static class tuzi {
final int sudu = 5;// 兔子的速度是每秒5米
public static boolean hasEnd = false;// 是否已经跑到终点
public void run() {
new Thread() {
@Override
public void run() {
int distance = 0;// 跑了多少米
boolean hasXiuXi = false;// 是否休息过
while (distance 100) {
try {
Thread.sleep(1000);
distance += sudu;
System.out.println("小兔子跑了" + distance + "米");
if (distance 50 !hasXiuXi) {
System.out.println("小兔子累了,决定休息一会儿~");
Thread.sleep((long) (10000 * Math.random()));
System.out.println("小兔子休息够了,又开始跑了,决一胜负吧!");
hasXiuXi = true;
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
hasEnd = true;
if (wugui.hasEnd) {
System.out.println("呜呜,早知道就不休息了~");
} else {
System.out.println("哇哈哈,你个战5渣也想赢我~~做梦去吧!!-------兔子赢了");
}
}
}.start();
}
}
public class test {
public static void main(String[] arg){
Rabbit rabbit = new Rabbit();
Tortoise tortoise = new Tortoise();
getTime(rabbit.speed,tortoise.speed,1000);
}
public static void getTime(int s1,int s2,int distance){
int time = 0;
if(s1s2){
time = distance/ (s1-s2);
System.out.println(time+"秒后乌龟和兔子相遇");
}else if(s1s2){
time = distance/ (s2-s1);
System.out.println(time+"秒后乌龟和兔子相遇");
}else if(s1==s2){
System.out.println("两者不可能相遇");
}
}
}
class Rabbit{
String name ;
int speed ;
public Rabbit(){
name = "兔子";
speed = 20;
}
public Rabbit(String name,int speed){
this.name = name;
this.speed = speed;
}
}
class Tortoise{
String name;
int speed;
public Tortoise(){
this.name = "乌龟";
this.speed = 10;
}
public Tortoise(String name,int speed){
this.name = name;
this.speed = speed;
}
}
jose 不动 ,maria forward(40) turn(-90)
这是java 中的方法传参问题 ,在java中参数类型是引用类型,传的是这个引用参数的引用的副本,在dosth()中,这个引用turtle指向了maria的地址,改变的都是maria值
python中的乌龟可以有小海龟模样。小乌龟绘图概述所谓的turtle绘图,就是通过编写的代码,控制屏幕上的点移动绘图,我们的小乌龟可以沿直线移动,也可以旋转一个特定的角度,小海龟turtle是Python语言中一个很流行的绘制图像的函数库。
python中乌龟模样的画法
想象一个小乌龟在一个横轴为x纵轴为y的坐标系原点,00位置开始它根据一组函数指令的控制在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形,画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。
turtle绘图中就是使用位置方向描述小乌龟画笔的状态,操纵海龟绘图有着许多的命令,这些命令可以划分为3种一种为运动命令一种为画笔控制命令还有一种是全局控制命令,向当前画笔方向移动distance像素长度,向当前画笔相反方向移动distance像素长度。
设置2个动态图片在写个方法
public void run() {
while (true) {
try {
Thread.sleep(30);
} catch (InterruptedException e) {
e.printStackTrace();
}
repaint();
}