Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.swift
- // Zad_11_5
- //
- import Foundation
- enum Ozdoba{
- case bombka
- case cukierek
- case pierniczek
- case zabawka
- }
- enum RodzajDrzewa{
- case iglaste
- case lisciaste
- }
- let drzewko = Choinka(liczbapoziomow: 3, wysokoscpnia: 4, liczbaozdob: 5, rodzajozdoby: .bombka, wysokosc: 8, rodzajdrzewa: .iglaste, rokzasadzenia: 2023)
- drzewko.wyswietl()
- print("\n")
- drzewko.rysujChoinke(layercount: drzewko.liczbapoziomow, levelcount: drzewko.wysokosc)
- print("\n")
- let zmienna = drzewko.rysujOzdobionaChoinke(layercount: drzewko.liczbapoziomow, levelcount: drzewko.wysokosc, liczbaozdob1: drzewko.liczbaozdob)
- print("\n")
- let zmienna2 = drzewko.ozdobyDoKupienia(liczbaOzdob2: zmienna)
- print("Brakujacych ozdob: \(zmienna2)")
- ////////////////////////////////////////////////////////
- //
- // Drzewo.swift
- // Lab_11_5
- //
- import Foundation
- class Drzewo{
- var wysokosc: Int = 100
- var rodzajdrzewa: RodzajDrzewa
- var rokzasadzenia: Int = 2000
- init(wysokosc: Int, rodzajdrzewa: RodzajDrzewa, rokzasadzenia: Int) {
- self.wysokosc = wysokosc
- self.rokzasadzenia = rokzasadzenia
- self.rodzajdrzewa = rodzajdrzewa
- }
- func wyswietl(){
- print("Drzewo: \(rodzajdrzewa) o wysokosci: \(wysokosc) i roku zasadzenia: \(rokzasadzenia)")
- }
- }
- ////////////////////////////////////////////////////////
- //
- // Choinka.swift
- // Lab_11_5
- //
- import Foundation
- class Choinka : Drzewo
- {
- var liczbapoziomow: Int = 3
- var wysokoscpnia: Int = 20
- var liczbaozdob: Int = 1
- var rodzajozdoby: Ozdoba
- init(liczbapoziomow: Int, wysokoscpnia: Int, liczbaozdob: Int, rodzajozdoby: Ozdoba, wysokosc: Int, rodzajdrzewa: RodzajDrzewa, rokzasadzenia: Int){
- self.liczbapoziomow = liczbapoziomow
- self.wysokoscpnia = wysokoscpnia
- self.liczbaozdob = liczbaozdob
- self.rodzajozdoby = rodzajozdoby
- super.init(wysokosc: wysokosc, rodzajdrzewa: rodzajdrzewa, rokzasadzenia: rokzasadzenia)
- }
- func umiesc() -> [Int]{
- var tab1: [Int] = []
- for i in 0..<liczbapoziomow{
- tab1[i] = i+1
- }
- return tab1
- }
- override func wyswietl(){
- print("Drzewo: \(rodzajdrzewa) o wysokosci: \(wysokosc) i roku zasadzenia: \(rokzasadzenia), choinka o liczbie poziomow: \(liczbapoziomow), wysokosci pnia: \(wysokoscpnia), liczbie ozdob: \(liczbaozdob) rodzaju: \(rodzajozdoby)")
- }
- func rysujChoinke(layercount:Int, levelcount:Int) {
- let length = layercount * levelcount
- var starcount = 1
- var spacecount = length
- for _ in 1...layercount {
- for _ in 1...levelcount {
- for _ in 1...spacecount{
- print(" ",terminator: "")
- }
- for _ in 1...starcount {
- print("*",terminator: "")
- }
- print()
- starcount += 2
- spacecount -= 1
- }
- starcount = starcount - 2
- spacecount = spacecount + 1
- if levelcount <= 3 {
- starcount -= 2
- spacecount += 1
- } else {
- starcount -= 4
- spacecount += 2
- }
- }
- spacecount = length;
- for _ in 1...wysokoscpnia {
- for _ in 1...spacecount-1 {
- print(" ",terminator: "")
- }
- for _ in 1...3 {
- print("#",terminator: "")
- }
- print()
- }
- }
- func rysujOzdobionaChoinke(layercount:Int, levelcount:Int, liczbaozdob1: Int) -> Int{
- let length = layercount * levelcount
- var starcount = 1
- var spacecount = length
- var ilosc = liczbaozdob1
- var iloscwszystkich: Int = 0
- for _ in 1...layercount {
- for _ in 1...levelcount {
- for _ in 1...spacecount{
- print(" ",terminator: "")
- }
- for x in 1...starcount {
- if(x%2 == 0){
- if(ilosc>0){
- print("o",terminator: "")
- ilosc -= 1
- }
- else{
- print("*",terminator: "")
- }
- iloscwszystkich += 1
- }else{
- print("*",terminator: "")
- }
- }
- print()
- starcount += 2
- spacecount -= 1
- }
- starcount = starcount - 2
- spacecount = spacecount + 1
- if levelcount <= 3 {
- starcount -= 2
- spacecount += 1
- } else {
- starcount -= 4
- spacecount += 2
- }
- }
- spacecount = length;
- for _ in 1...wysokoscpnia {
- for _ in 1...spacecount-1 {
- print(" ",terminator: "")
- }
- for _ in 1...3 {
- print("#",terminator: "")
- }
- print()
- }
- return iloscwszystkich
- }
- func ozdobyDoKupienia(liczbaOzdob2: Int) -> Int{
- let iloscbrak = liczbaOzdob2 - liczbaozdob
- return iloscbrak
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement