Mikä tässä koodissa mättää kun MOOC tarkistus antaa vain 88% pisteistä.
Ulos tulee virhe: Komennon ratkaise sammuta, tulee ohjata robotti työntämään laatikko kohdealueelle. Eli mitä se tarkoittaa?
-------------------------------------------------------------------------------------------------------
import java.util.Scanner;
import robotti.Ohjain;
public class Paaohjelma {
public static void main(String[] args) {
Scanner lukija = new Scanner(System.in);
Ohjain.asetaLaatikkoSatunnaisesti();
Ohjain.kaynnista();
// kertoo robotin x- ja y-koordinaatit
int robottiX = Ohjain.robottiX();
int robottiY = Ohjain.robottiY();
// kertoo laatikon x- ja y-koordinaatit
int laatikkoX = Ohjain.laatikkoX();
int laatikkoY = Ohjain.laatikkoY();
// kertoo rahtialueen x- ja y-koordinaatit
int tavoiteX = Ohjain.tavoiteX();
int tavoiteY = Ohjain.tavoiteY();
while (true) {
System.out.print("Komento (sammuta, vasen, oikea, liiku, liikuMonta, ratkaise): ");
String komento = lukija.nextLine();
if (komento.equals("sammuta")) {
Ohjain.sammuta();
break;
} else if (komento.equals("vasen")) {
Ohjain.vasen();
} else if (komento.equals("oikea")) {
Ohjain.oikea();
} else if (komento.equals("liiku")) {
Ohjain.liiku();
} else if (komento.equals("liikuMonta")) {
System.out.print("Kuinka monta askelta: ");
int askel = Integer.parseInt(lukija.nextLine());
Ohjain.liikuMonta(askel);
} else if (komento.equals("ratkaise")) {
Ohjain.vasen();
int laatikolleY = laatikkoY - robottiY;
int laatikolleX = laatikkoX - robottiX;
int tavoitteelleY = tavoiteY - laatikkoY;
int tavoitteelleX = tavoiteX - laatikkoX - 1;
Ohjain.liikuMonta(laatikolleY);
Ohjain.oikea();
Ohjain.liikuMonta(laatikolleX);
Ohjain.liikuMonta(tavoitteelleX);
Ohjain.vasen();
Ohjain.liiku();
Ohjain.oikea();
Ohjain.liiku();
Ohjain.oikea();
Ohjain.liikuMonta(tavoitteelleY);
Ohjain.liiku();
Ohjain.liikuMonta(tavoitteelleX);
}
}
}
}
MOOC tehtävä 24 mättää!
10
2075
Vastaukset
- paakalloohjelma
Muistuttaa aika paljon C-kieltä JAVA kyllä, tiedän erään ammattikorkean yliopettajan joka tietäisi noista, itse en JAVA:a en juurikaan tunne, C:tä sekä Assemblyä kyllä.
Muuta funktion nimeksi "Paakalloohjelma" - Javaw
Sulla on break-lause tossa ekassa if-lauseessa, jolloin metodin suoritus loppuu.
Break vain switch...caseihin ja looppeihin.- 3Timo
Ja en nyt me varmaks sanomaan, mut yleensä hyviin btapoihin kuuluu alustaa muuttujat (yleensä nollaks) ennenkuin niitä aletaan käyttämään? Nythän tossa pelkästään luetaan noi robotin ajurin antamat koordinaatit, jotka voi alkutilanteessaan olla ihan mitä tahansa!?
- aloittelija
Vastaus tulee hiukan myöhässä. Itsekkin jonkun aikaa tehtävää pähkäilin, mutta kokeile tuolla (ellet jo ole ratkaisua keksinyt) :
// Robotin ohjaus
int laatikolleY = laatikkoY - robottiY;
int laatikolleX = laatikkoX - robottiX;
int tavoitteelleY = laatikkoY - tavoiteY;
int tavoitteelleX = tavoiteX - laatikkoX;
Ohjain.vasen();
Ohjain.liikuMonta(laatikolleY);
Ohjain.oikea();
Ohjain.liikuMonta(laatikolleX);
Ohjain.liikuMonta(tavoitteelleX - 1);
Ohjain.vasen();
Ohjain.liiku();
Ohjain.oikea();
Ohjain.liiku();
Ohjain.oikea();
Ohjain.liikuMonta(tavoitteelleY);- Koodaajaksiko
Ei toimi näin, sillä jos robotti lähtee vierestä, niin se tekee saman kaavan ylempänä. Tämä tehtävä on vaikea...
- poweruser
ei vitun takkutukka
- ayyadf
Onko kellää 100% koodia?
- ystävällinen_herrasmies
100% koodi
https://tmc.mooc.fi/mooc/paste/JvPjIDrgfaRYRu4VLb8lyQ - jolan
YLEMPI EI TOIMIKKAAN SORI; UUSI
http://pastebin.com/raw/KEtVAhRz- close
Tuo oli ihan hyvä yritys, mutta ei kuitenkaan oikea vastaus. Vaikka järjestelmä sen hyväksyisikin niin tehtävänannossa on sanottu, että "Komennon "ratkaise" tulee toimia myös silloin, kun se annetaan komennon "viereen" jälkeen.", jota tämä kyseisen koodi ei toteuta.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Me työeläkeläiset äänestämme SDP:tä
SDP on luonut koko työeläkejärjestelmän, jonka hedelmistä saamme nyt nauttia. Kansaneläkelaitos on Maalaisliiton tekele,2085289SDP:n johto pesi kätensä häirintäkohusta
"Suurimman oppositiopuolue SDP:n johto olisi todennäköisimmin halunnut vaieta puolueen ympärillä velloneen häirintäkohun494057SDP on vastuunkantaja, ja siksi suosituin kansan keskuudessa
Kiusaamiseenkin SDP puuttuu heti sellaisen tultua ilmi. Esimerkiksi persut lakaisevat nämä maton alle ja pahentavat site344018Eikö tunnukin kamalalta, kun en
anna periksi vaikka parhaasi olet tehnyt antaaksesi täystyrmäyksen? Ja kyllähän minä monta iskua olen saanut ja maannut813746Persut on Suomen mamutuspuolue nro 1.
Heti ensimmäisenä persuvuonna 2015 maahantoivat Suomeen 35 tuhatta kunniavierastaan. Tuoreimpana persuvuonna 2025 pers253662SDP on selvästi paras valinta äänestyskopissa
Puolueella on arvomaailma kohdallaan, sillä on hyvä CV itsenäisen Suomen historiassa vastuunkantajana ja hyvinvointivalt673633Punavihreät puolueet haluavat Suomeen satoja tuhansia kehitysmaalaisia
SDP, vihreät ja vassarit haluavat nostaa esim. pakolaiskiintiötä todella paljon. Orpon hallituksen aikana maahanmuutto302670Kenen juontajan pitäisi voittaa tänään Kultainen Venla? Ehdolla Pimiä, Holma ja Vaaherkumpu
Kultainen Venla gaalassa jaetaan tänään tv-alan palkintoja. Yksi suosituimmista kategorioista on Juontaja. Vappu Pimiä1062410SDP:n selitykset ontuu pahasti - "On käsitelty heti, mutta kukaan ei tiedä"
Kokoomuslaiset pistää taas demareita nippuun. Tuppuraisen mukaan mukaan SDP:n useat ahdistelutapaukset on käsitelty het412366Oletko nainen turhautunut, kun en tule juttelemaan siellä?
Haluaisin tottakai tulla. Älä käsitä väärin. Ehkä ensi kerralla?332247