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
4
0
1.1k