Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

[SWIFT]Nie działa wyświetlanie aktualnej liczby ludności miasta

$
0
0

Witam :)

Jestem dość początkujący. Uczę się z książki (już miesiąc-półtora miesiąca): "Programowanie w języku Swift. Big Nerd Ranch Guide" autorów Matthew Mathias, John Gallagher i skończyłem rozdział o strukturach i klasach. Za zadanie miałem poprawić kod, aby liczba ludności nie spadała poniżej 0 i gdy liczba zabitych ludzi będzie większa niż aktualna liczba ludności w mieście to aby wyświetlało, że populacja wynosi 0. W drugim zadaniu natomiast mam dodać wampiry i ich użyć. Niestety jak korzystam z wampirów to liczba ludności zawsze wychodzi 100. Próbowałem wielu rzeczy, ale albo są błędy, których nie dało się niestety rozwiązać albo nie daje to porządanego skutku. Chcę, aby po każdym ataku pokazywało ile ludzi pozostało po ataku wampira (tak jakby zawsze 1 wampir atakuje) a najlepiej, żeby wraz z atakiem coraz większej ilości wampirów i zombie coraz szybciej ubywało ludzi, czyli chcę coś ponad zadaniem zrobić. Niestety pomysłów już nie mam. Próbuję korzystać z dokumentacji, ale na razie słabo mi idzie korzystanie z niej. Ktoś mi pomoże? Nakieruje mnie lub wskaże mi gdzie czegoś brakuje? Może jakiegoś sposobu nie zauważyłem i nadal nie widzę.

import Foundation

class Monster {
    var town: Town?
    var name: String

    init(names: String = "Monster") {
        name = names
    }

    func terrorizeTown() {
        if town != nil {
            print("\(name) terrorizes the city")
        }
        else if Town().population == 0 {
            print("\(name) ceases to terrorize the city")
        }
        else {
            attackTheZombie.terrorizeTown()
            print("\(name) jet not found the city to terrorize.")
            }
    }
}
import Foundation

struct Town {
    var population = 100
    var numberOfStopLights = 4

    func printPopulation() {
        print("Population: \(population), number intersections with light signaling: \(numberOfStopLights)")
    }

    mutating func changePopulation(amout: Int) {
        if population > 0 {
        population += amout
        }
        else if population < amout {
            print("Populations isn't in the city")
        }
    }
}
import Foundation

class Zombie: Monster {


    override init (names: String = "Zombie") {
        super.init(names: "Zombie")
    }

    final override func terrorizeTown() {
        if Town().population > 0 {
           town?.changePopulation(amout: -10)
            print(Town().population)
            super.terrorizeTown()
        }
        else if Town().population < 0 {
                print("Populations is  0.")
            }
    }
}
import Foundation

class Vampire: Monster {
    var vampires: [String] = []
    var newVampires = [
        "Marcin","Ewa","Daniel","Paweł","Daniel","Adam"
    ]

    override init (names: String = "Vampire") {
        super.init(names: "Vampire")
    }

    override func terrorizeTown() {
        if Town().population > 0 {

            for number in newVampires {
                vampires.append(number)
                print(vampires)
                print(vampires.count)
                print(Town().population)

            }
        }
        else if Town().population == 0 {
            print("Populations: \(Town().population)")
        }
    }
}
import Foundation

var myTown = Town()

myTown.printPopulation()


let attackTheZombie = Zombie()
attackTheZombie.town = myTown
attackTheZombie.terrorizeTown()
attackTheZombie.town?.printPopulation()

attackTheZombie.terrorizeTown()
attackTheZombie.town?.printPopulation()
attackTheZombie.terrorizeTown()
attackTheZombie.town?.printPopulation()
attackTheZombie.terrorizeTown()
attackTheZombie.town?.printPopulation()
attackTheZombie.terrorizeTown()
attackTheZombie.town?.printPopulation()
attackTheZombie.terrorizeTown()
attackTheZombie.town?.printPopulation()
attackTheZombie.terrorizeTown()
attackTheZombie.town?.printPopulation()
attackTheZombie.terrorizeTown()
attackTheZombie.town?.printPopulation()
attackTheZombie.terrorizeTown()
attackTheZombie.town?.printPopulation()
attackTheZombie.terrorizeTown()
attackTheZombie.town?.printPopulation()
attackTheZombie.terrorizeTown()
attackTheZombie.town?.printPopulation()

myTown.printPopulation()

let  attackTheVampire = Vampire()
attackTheVampire.town = myTown
attackTheVampire.terrorizeTown()
attackTheVampire.town?.printPopulation()
attackTheVampire.terrorizeTown()
attackTheVampire.town?.printPopulation()
attackTheVampire.terrorizeTown()
attackTheVampire.town?.printPopulation()
attackTheVampire.terrorizeTown()
attackTheVampire.town?.printPopulation()

 


Viewing all articles
Browse latest Browse all 21942

Trending Articles


Sprawdź z którą postacią z anime dzielisz urodziny


MDM - Muzyka Dla Miasta (2009)


Częstotliwość 3.722MHz


POSZUKIWANY TOMASZ SKOWRON-ANGLIA


Ciasto 3 Bit


Kasowanie inspekcji Hyundai ix35


Steel Division 2 SPOLSZCZENIE


SZCZOTKOWANIE TWARZY NA SUCHO


Potrzebuje schemat budowy silnika YX140


Musierowicz Małgorzata - Kwiat kalafiora [audiobook PL]