龜圖)Logo語言是年輕的計(jì)算機(jī)用戶所熟悉的種語言,龜圖是這種種語言的一個(gè)著名應(yīng)用。想像一只機(jī)器海龜在Java程序的控制下在房間內(nèi)移動(dòng)。海龜有一支畫筆,可以處在兩種位置,筆頭朝上或朝下。當(dāng)畫筆朝下時(shí),海龜畫出其運(yùn)動(dòng)的軌跡;當(dāng)畫筆朝上時(shí),海龜自由移動(dòng),不會(huì)寫下任何內(nèi)容。請(qǐng)模擬海龜?shù)牟僮鞑?chuàng)建一個(gè)計(jì)算機(jī)化的圖板。使用一個(gè)20*20的數(shù)組floor,并將其初始化為0。從一個(gè)包含命令的數(shù)組中讀取命令,始終跟蹤海龜?shù)漠?dāng)前位置以及畫筆的朝向。假定海龜總是從位置(0,0)開始移動(dòng),并且畫筆朝上。程序中必須處理的海龜命令如下:
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出淮南免費(fèi)做網(wǎng)站回饋大家。
命令 含義
1 畫筆朝上
2 畫筆朝下
3 右轉(zhuǎn)
4 左轉(zhuǎn)
5,10 向前走10步(或不為10的步數(shù))
6 打印20*20的數(shù)組
9 數(shù)據(jù)結(jié)束(循環(huán)結(jié)束標(biāo)志)
假如海龜在圖板中心附近的某個(gè)位置上,下面的“程序”將在畫筆朝上時(shí)畫出一個(gè)12*12的正方形。
2
5,12
3
5,12
3
5,12
3
5,12
5,12
1
6
9
當(dāng)海龜在運(yùn)動(dòng)的畫筆朝下,將數(shù)組floor的相應(yīng)元素置為1。當(dāng)給出6號(hào)命令(打?。r(shí),若某數(shù)組元素為1,則顯示一個(gè)星號(hào),或者顯示其它字符;若某數(shù)組元素為0,就顯示一個(gè)空格。編寫一個(gè)程序,實(shí)現(xiàn)龜圖功能。編寫幾個(gè)龜圖程序,畫出有趣的圖形,并增加它命令,使龜圖語言的功能更強(qiáng)大。
感覺挺有趣的,試著寫了個(gè)~
public static void main(String[] arg) {
new wugui().run();
new tuzi().run();
}
static class wugui {
final int sudu = 4;// 烏龜?shù)乃俣仁敲棵?米
public static boolean hasEnd = false;// 是否已經(jīng)跑到終點(diǎn)
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("嗚嗚,差一點(diǎn)點(diǎn)就贏了~");
} else {
System.out.println("勝利是屬于有準(zhǔn)備的人的,你的自大害了你!-------烏龜贏了");
}
}
}.start();
}
}
static class tuzi {
final int sudu = 5;// 兔子的速度是每秒5米
public static boolean hasEnd = false;// 是否已經(jīng)跑到終點(diǎn)
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("小兔子累了,決定休息一會(huì)兒~");
Thread.sleep((long) (10000 * Math.random()));
System.out.println("小兔子休息夠了,又開始跑了,決一勝負(fù)吧!");
hasXiuXi = true;
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
hasEnd = true;
if (wugui.hasEnd) {
System.out.println("嗚嗚,早知道就不休息了~");
} else {
System.out.println("哇哈哈,你個(gè)戰(zhàn)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 不動(dòng) ,maria forward(40) turn(-90)
這是java 中的方法傳參問題 ,在java中參數(shù)類型是引用類型,傳的是這個(gè)引用參數(shù)的引用的副本,在dosth()中,這個(gè)引用turtle指向了maria的地址,改變的都是maria值
python中的烏龜可以有小海龜模樣。小烏龜繪圖概述所謂的turtle繪圖,就是通過編寫的代碼,控制屏幕上的點(diǎn)移動(dòng)繪圖,我們的小烏龜可以沿直線移動(dòng),也可以旋轉(zhuǎn)一個(gè)特定的角度,小海龜turtle是Python語言中一個(gè)很流行的繪制圖像的函數(shù)庫。
python中烏龜模樣的畫法
想象一個(gè)小烏龜在一個(gè)橫軸為x縱軸為y的坐標(biāo)系原點(diǎn),00位置開始它根據(jù)一組函數(shù)指令的控制在這個(gè)平面坐標(biāo)系中移動(dòng),從而在它爬行的路徑上繪制了圖形,畫布就是turtle為我們展開用于繪圖區(qū)域,我們可以設(shè)置它的大小和初始位置。
turtle繪圖中就是使用位置方向描述小烏龜畫筆的狀態(tài),操縱海龜繪圖有著許多的命令,這些命令可以劃分為3種一種為運(yùn)動(dòng)命令一種為畫筆控制命令還有一種是全局控制命令,向當(dāng)前畫筆方向移動(dòng)distance像素長度,向當(dāng)前畫筆相反方向移動(dòng)distance像素長度。
設(shè)置2個(gè)動(dòng)態(tài)圖片在寫個(gè)方法
public void run() {
while (true) {
try {
Thread.sleep(30);
} catch (InterruptedException e) {
e.printStackTrace();
}
repaint();
}