Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Choinka.swift
- // swieta
- //
- // Created by student on 09/01/2023.
- //
- import Foundation
- class Choinka: Drzewo {
- var liczbaPoziomow: Int;
- var wysokoscPnia: Int;
- var liczbaOzdob: Int;
- var rodzajOzdob: Ozdoba;
- init (wysokosc: Int, rodzaj: RodzajDrzewa, rokZasadzenia: Int, liczbaPoziomow: Int, wysokoscPnia: Int, liczbaOzdob: Int, rodzajOzdob: Ozdoba) {
- self.liczbaPoziomow = liczbaPoziomow;
- self.wysokoscPnia = wysokoscPnia;
- self.liczbaOzdob = liczbaOzdob;
- self.rodzajOzdob = rodzajOzdob;
- super.init(wysokosc: wysokosc, rodzaj: rodzaj, rokZasadzenia: rokZasadzenia);
- }
- override func wyswietl() {
- print("wysokosc: \(self.wysokosc) rodzaj: \(self.rodzaj) rok zasadzenia: \(self.rokZasadzenia) liczb poziomow: \(self.liczbaPoziomow) wysokosc pnia :\(self.wysokoscPnia) liczba ozdob: \(self.liczbaOzdob) rodzaj ozdob: \(self.rodzajOzdob)");
- }
- func rysujChoinke() {
- var liczbaOzdob = self.liczbaOzdob;
- self.liczbaOzdob = 0;
- rysujOzdobionaChoinke()
- self.liczbaOzdob = liczbaOzdob;
- }
- func ozdobyDoKupienia() {
- var layercount = self.liczbaPoziomow
- var levelcount = self.wysokosc / self.liczbaPoziomow
- var length = layercount * levelcount
- var starcount = 1
- var spacecount = length
- for _ in 1...layercount {
- for _ in 1...levelcount {
- for _ in 1...spacecount{
- }
- for i in 1...starcount {
- if (i % 2 == 0) {
- self.liczbaOzdob += 1;
- }
- }
- starcount += 2
- spacecount -= 1
- }
- starcount = starcount - 2
- spacecount = spacecount + 1
- if levelcount <= 3 {
- starcount -= 2
- spacecount += 1
- } else {
- starcount -= 4
- spacecount += 2
- }
- }
- print("Nalezy kupic \(self.liczbaOzdob) ozdob.")
- }
- func rysujOzdobionaChoinke() {
- var liczbaozdob = self.liczbaOzdob;
- var layercount = self.liczbaPoziomow
- var levelcount = self.wysokosc / self.liczbaPoziomow
- var length = layercount * levelcount
- var starcount = 1
- var spacecount = length
- for _ in 1...layercount {
- for _ in 1...levelcount {
- for _ in 1...spacecount{
- print(" ",terminator: "")
- }
- for i in 1...starcount {
- if (i % 2 == 0 && liczbaozdob > 0 ) {
- print("O", terminator: "");
- liczbaozdob -= 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...3 { //3 to wysokość pnia
- for _ in 1...spacecount-1 {
- print(" ",terminator: "")
- }
- for _ in 1...3 {
- print("#",terminator: "")
- }
- print()
- }
- }
- }
- //
- // Drzewo.swift
- // swieta
- //
- // Created by student on 09/01/2023.
- //
- import Foundation
- class Drzewo {
- var wysokosc: Int;
- var rodzaj: RodzajDrzewa;
- var rokZasadzenia: Int;
- init(wysokosc: Int, rodzaj: RodzajDrzewa, rokZasadzenia: Int) {
- self.wysokosc = wysokosc
- self.rodzaj = rodzaj
- self.rokZasadzenia = rokZasadzenia
- }
- func wyswietl() {
- print("wysokosc: \(self.wysokosc) rodzaj: \(self.rodzaj) rok zasadzenia: \(self.rokZasadzenia)");
- }
- }
- //
- // main.swift
- // swieta
- //
- // Created by student on 09/01/2023.
- //
- import Foundation
- enum Ozdoba: CaseIterable {
- case bombka, pierniczek, cukierek, zabawka
- }
- enum RodzajDrzewa: CaseIterable {
- case lisciaste, iglaste
- }
- var choinka = Choinka(wysokosc: 15, rodzaj: RodzajDrzewa.iglaste, rokZasadzenia: 2001, liczbaPoziomow: 5, wysokoscPnia: 2, liczbaOzdob: 6, rodzajOzdob: Ozdoba.bombka);
- choinka.wyswietl();
- choinka.rysujOzdobionaChoinke();
- choinka.ozdobyDoKupienia();
- print("Hello, World!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement