Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File
- import java.io.FileWriter
- import kotlin.random.Random
- //class Arma {
- // var nome = "indefinito"
- // var elemento = "cinetica"
- // val dannoBase = 60
- // Arma(ilNome: String, qualeElemento: String, ilDannoBase: Int)
- // {
- // nome = ilNome
- // elemento = qualeElemento
- // dannoBase - ilDannoBase
- // }
- //}
- class Arma(var nome: String = "none", var elemento: String = "none", var dannoBase: Int = 1, donoDivino: Int = 0) {
- //inizializzatore per danno base
- init {
- require(dannoBase>=0)
- dannoBase *= 1 + donoDivino/100 //con donoDivino = 10 -> *= (1+0.1) = 1.1
- //throw IOException()
- }
- }
- class Personaggio(var nome: String, var classe: String, var salute: Int=0, var scudo: Int=0)
- fun A() : Arma {
- //logica di un qualche tipo che decide
- //che é meglio demandare la creazione a B
- return B()
- }
- fun B() : Arma{
- //logica di un qualche tipo che decide
- //che é meglio demandare la creazione a C
- var arma: Arma
- try {
- arma = C()
- }
- catch (eccezione: IllegalArgumentException)
- {
- //qui logica di gestione dell'eccezione
- //importante da svolgere e solo al
- //livello di questa funzione si hanno
- //le informazioni necessarie
- arma = Arma()
- }
- return arma
- }
- fun C() : Arma {
- //apriamo un file in scrittura
- val writer = FileWriter(File("Armi.txt"))
- writer.write("Accesso al file armi in data ...")
- var armaCreata: Arma
- //qui istruzioni varie ...
- try {
- armaCreata = Arma("folgorator", elemento = "elettrico", dannoBase = -1, Random.nextInt(0, 20))
- }
- catch (eccezione: IllegalArgumentException)
- {
- //logica di gestione
- throw IllegalArgumentException()
- }
- finally {
- println("Risorsa File Liberata ...")
- writer.close()
- }
- //qui istruzioni varie ...
- return armaCreata
- // println("istruzione 1 ...")
- // println("istruzione 2 ...")
- // println("istruzione 3 ...")
- // println("istruzione 4 ...")
- //
- // var armaCreata: Arma
- // try {
- // armaCreata = Arma("folgorator", elemento = "elettrico", dannoBase = -1, Random.nextInt(0, 20))
- // }
- // catch (eccezione : IllegalArgumentException)
- // {
- // println("Eccezione gestita da C")
- // armaCreata = Arma()
- // }
- //
- // println("istruzione 5 ...")
- // println("istruzione 6 ...")
- // println("istruzione 7 ...")
- // println("istruzione 8 ...")
- // try {
- // armaCreata =Arma("folgorator", elemento = "elettrico", dannoBase = -1, Random.nextInt(0, 20))
- // }
- // catch (eccezione: IllegalArgumentException) {
- // println("L'arma non può essere creata con questi parametri")
- // armaCreata = Arma()
- // }
- // catch (eccezione: Exception) {
- // armaCreata = Arma()
- // }
- // finally {
- // writer.write("Arma create il ....: e qui i dati dell'arma")
- // println("libero risorsa")
- // writer.close()
- // }
- //
- // //altro che usa armaCreata
- // println("Arma create il ....: e qui i dati dell'arma")
- }
- //TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
- // click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
- fun main() {
- val pers1 = Personaggio("spiritXZZ", classe = "spaccaossa")
- println(pers1.scudo)
- var arma1: Arma
- arma1 = A()
- println(arma1.nome)
- println("Libero risorse ...")
- //...
- println(arma1.elemento)
- arma1.elemento="fuoco"
- println(arma1.elemento)
- }
Advertisement
Add Comment
Please, Sign In to add comment