import Cocoa import Darwin // STRUCTURES & ENUMS page 19/525 // DATE CHANGES //*********************************************************** // 17Jan2023 We have 2 enumns and one structure here // 1st enum rank //***********************************************************
enum Rank: Int { case Ace = 1 case Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten case Jack,Queen,King func simpleDescription () -> String { switch self { case .Ace: return "ace" case .Jack: return " jack" case .Queen: return " queen" case .King: return " king" default: return String( self.rawValue) } } }// enum close
let ace = Rank.Ace let aceRawValue = ace.rawValue
let king = Rank.King let kingRawValue = king.rawValue print(kingRawValue) // king raw value should be 13 ok
// page 20 4 suits in deck of cards enum Suit { case Spades,Hearts, Diamonds,Clubs func simpleDescription()-> String { switch self { case .Spades: return "spades" case .Hearts: return "hearts" case .Diamonds: return "diamonds" case .Clubs: return "clubs" } } }// enum for suit close
let hearts = Suit.Hearts
let heartDescription = hearts.simpleDescription()
print(heartDescription)
// page 21/525 // Use structures to support enums struct Card {
var rank: Rank
var suit: Suit
var black1 = Suit.Spades
var black2 = Suit.Clubs
var red1 = Suit.Hearts
var red2 = Suit.Diamonds
func simpleDescription()->String{
return"The rank is \(rank.simpleDescription()) of \(suit.simpleDescription())"
}
}// struc closingbrace
let threeOfSpades = Card(rank: .Three,suit:.Spades) let threeOfSpadesDescription = threeOfSpades.simpleDescription() print(threeOfSpadesDescription) // print the variable // EXPT develop a method to support for color : // red hearts and diamonds. // black spades and clubs