|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object demo.AstiaPeli demo.AstiaPeli2
public class AstiaPeli2
John McLane (Bruce Willis) joutui elokuvassa Die Hard 3 ongelman eteen,
jossa piti kahdella vesikanisterilla mitata jonkin muun suuruinen
vesimäärä "tarkasti" ja näin estää pommin räjähtäminen.
Koska aika meni varsin tiukalle, on vastaavien tilanteiden harjoittelemiseksi
nyt tehty uusi menestysohjelma "Astia".
Pelillä demonstroidaan/harjoitellaan miten voidaan kahdella astialla,
5 l ja 8 l, muodostaa kaikki mahdolliset tilavuudet 1-13 l.
Pelissä on kaksi varsinaista astiaa: a5 ja a8, sekä kolmas apuastia
ampari. Nestettä voidaan kerrallaan kaataa yhdestä astiasta toiseen
joko siten, että astian koko sisältö tyhjennetään jos se mahtuu
tai astista kaadetaan sen verran että toinen astia tulee täyteen.
Tee ohjelma jota voitasiin käyttää seuraavasti:
Käytössäsi on 8 ja 5 litran astia ja Ämpäri (100 l) 8 litran astiassa on 0 litraa 5 litran astiassa on 0 litraa Mistä kaadetaan ja mihin >ä 8[ret] 8 litran astiassa on 8 litraa 5 litran astiassa on 0 litraa Mistä kaadetaan ja mihin >8 5[ret] 8 litran astiassa on 3 litraa 5 litran astiassa on 5 litraa Mistä kaadetaan ja mihin >5 ä[ret] 8 litran astiassa on 3 litraa 5 litran astiassa on 0 litraa Mistä kaadetaan ja mihin >8 5[ret] 8 litran astiassa on 0 litraa 5 litran astiassa on 3 litraa Mistä kaadetaan ja mihin >[ret]Toteutettu peli-luokaksi, jossa käytetään hyväksi Astia2-luokkaa. Tarkistaa myös pelin aikana löydetyt kombinaatiot
Field Summary | |
---|---|
private Esiintymat |
esiintymat
|
Fields inherited from class demo.AstiaPeli |
---|
astiat |
Constructor Summary | |
---|---|
AstiaPeli2()
|
Method Summary | |
---|---|
double |
astioidenSumma()
Laskee kaikkien käytössä olevien astioiden yhteistilavuuden |
void |
lisaaEsiintymat()
Lisää esiintymat-taulukkoon kaikki ne astioiden summakombinaatiot, joita niistä saa tällä hetkellä. |
static void |
main(java.lang.String[] args)
Testataan astiapeliä |
void |
pelaa()
Käynistetään peli. |
boolean |
tulostaEsiintymat()
Tulostaa löytämistilanteen |
Methods inherited from class demo.AstiaPeli |
---|
etsi, getLkm, lisaaAstia, nimiOhje, tulostaMaarat, tulostaOhje |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private Esiintymat esiintymat
Constructor Detail |
---|
public AstiaPeli2()
Method Detail |
---|
public void pelaa()
pelaa
in class AstiaPeli
Suuntaaja.StringInput si = new Suuntaaja.StringInput(); Suuntaaja.StringOutput so = new Suuntaaja.StringOutput(); si.input("ä 8\n8 5\n4 5\n\n"); String tulos = "Käytössäsi on 5.0 sekä 8.0 litran astiat ja Ämpari (100.0 l)\n"+ "5.0 litran astiassa on 0.0 litraa nestettä\n" + "8.0 litran astiassa on 0.0 litraa nestettä\n" + "Olet ratkaissut tilavuudet: \n" + "Ratkaisematta on: 1 2 3 4 5 6 7 8 9 10 11 12 13 \n" + "Mistä kaadetaan ja mihin >" + // NOPMD "5.0 litran astiassa on 0.0 litraa nestettä\n" + "8.0 litran astiassa on 8.0 litraa nestettä\n" + "Olet ratkaissut tilavuudet: 8 \n" + "Ratkaisematta on: 1 2 3 4 5 6 7 9 10 11 12 13 \n" + "Mistä kaadetaan ja mihin >" + "5.0 litran astiassa on 5.0 litraa nestettä\n" + "8.0 litran astiassa on 3.0 litraa nestettä\n" + "Olet ratkaissut tilavuudet: 3 5 8 \n" + "Ratkaisematta on: 1 2 4 6 7 9 10 11 12 13 \n" + "Mistä kaadetaan ja mihin >" + "Nimeä ei tunneta: 4 tai 5\n" + "Tunnetaan nimet: \n" + "ä 5 8 \n" + "5.0 litran astiassa on 5.0 litraa nestettä\n" + "8.0 litran astiassa on 3.0 litraa nestettä\n" + "Olet ratkaissut tilavuudet: 3 5 8 \n" + "Ratkaisematta on: 1 2 4 6 7 9 10 11 12 13 \n" + "Mistä kaadetaan ja mihin >"; AstiaPeli2 peli = new AstiaPeli2(); peli.lisaaAstia("5",5); peli.lisaaAstia("8",8); peli.tulostaOhje(); peli.pelaa(); so.ero(tulos) === null; si.palauta(); so.palauta();
public double astioidenSumma()
public void lisaaEsiintymat()
public boolean tulostaEsiintymat()
public static void main(java.lang.String[] args)
args
- ei käytössä
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |