keskiviikko 29. tammikuuta 2014

naytto ja while

Tuodaan käyttöön työkalu java.io.*

import java.io.*;


Luodaan uusi luokka nimeltä Naytto

public class Naytto{

Annetaan toiminnolle nayta, arvona ulostuleva teksitijono. Tämä tarkoittaa sitä että Naytto-luokka pitää huolen siitä miltä ulostuleva tavara näyttää lopputuloksessa ja Naytto.nayta komennolla korvataan käskyt system.println

public static void nayta(String _str){
System.out.println(_str);
}

Käytetään toimintoa lueRivi tulkitsemaan konsoliin tullut teksti

public static String lueRivi(String _str){
return System.console().readLine(_str);

}

Kerrotaan, että jos käyttäjä käyttää merkkiä k kysytyllä hetkellä, ohjelma etenee ja jos käyttäjä valitsee vaihtoehdon k, ohjelma palauttaa tilanteen kysymyksen lähtökohtaan ja arpoo uudet luvut ja toistaa osoitetun kysymyksen. Tämä jatkuu niin kauan kunnes käyttäjä valitsee k, merkin

public static char lueMerkki(String _str) {
char c = 'k';
try {
System.out.print(_str);
c = (char)

Otetaan yhteys konsoliin ja käsketään sen luke merkki joka on sinne asetettu.

 System.console().reader().read();
} catch (Exception e){
System.err.println(e.getMessage());
}
return c; 
}
}


Luodaan luokka Peli ja esitellään Olennot pelaaja, vastustaja ja taistelu


public class Peli {

Olento pelaaja;
Olento vastustaja;
Taistelu taistelu;



public Peli() {
Naytto.nayta("\n *** Uusi peli alkaa ***");
pelaaja = luoPelaaja();
vastustaja = new Olento();
vastustaja.printInfo();
taistelu = new Taistelu(pelaaja, vastustaja);
taistelu.taistele();
}

Tehdään uusi metodi koskien pelaajan luomista.

private Olento luoPelaaja(){

Käsketään ohjelman printata ulos käsky nimen syöttöön ja mahdollisuus kirjoittaa se

String mj = Naytto.lueRivi("Syötä nimesi  ");

Kerrotaan vaihtoehdot jotka esitetään käyttäjälle. c tarkoittaa saatua vastausta joka on siis joko K/E. 
char c = 'e';

Käytetään while toimintoa joka käskee ohjelman siirtyä eteenpäin aina kun vastaus kysymykseen on e. == tarkoittaa vertausta, onko tulos e sama kuin haluttu tulos paikkaan c

while ( c == 'e' ){
pelaaja = new Olento();
pelaaja.setNimi(mj);
pelaaja.printInfo();
c = Naytto.lueMerkki("Arvotaanko ominaisuudet uudelleen(k/e)?");
}

Lopussa käsketään palauttamaan pelaaja käyttäjän valinnan huomioon ottaen.

return pelaaja;
}


}



Ei kommentteja:

Lähetä kommentti