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