主要内容
课程目标、iOS开发介绍、Concentration小游戏demo
一 课程目标
- 学习基于swift语言的iOS程序开发及部署
- 深入理解面向对象的设计方法
二 iOS开发相关
1. iOS操作系统架构
iOSiOS自底向上分为4层,底层与硬件打交道,上层偏向于应用
- Core OS ,包括操作系统内核、BSD、文件系统、电源管理等。
- Core Service,包括文件访问、网络、SQLite等
- Media,提供媒体服务功能,如图片、PDF、音频、OpenGL功能
- Cocoa Touch, 多触点,警告,摄像头,GPS等应用服务等
2. IOS开发介绍
IOS开发生态- 工具 IDE环境Xcode及支持环境
- 开发语言 Swift
- 开发支持包
- 设计模式 MVC
三 Concertration小游戏DEMO
1 游戏介绍
- 主界面,包含偶数张表情纸牌(按钮实现,两两表情一样)和一个分数框(文本框)
- 规则,以四张牌为例,初始状态四张牌均牌面朝下,游戏过程中点击任意一张牌可将牌面反转,分数加1,此时:
1)如之前无牌面朝上,则刚点击的牌保持朝上状态;
2)如之前有一张牌面朝上,且刚点击的牌表情与其一致,则两张牌同时在界面消失,反之,两张牌再次牌面朝下
当所有牌全部匹配成功后,游戏结束,计算分数,分数越低,代表专注力越高。
本节只完成半成品,实现界面设计,实现翻牌及计分功能即可,完整游戏第二节课实现
2 DEMO制作
- 下载安装Xcode
- 新建空白工程,熟悉Xcode界面布局
- 拖拽形式完成storyboard界面设计
- 完成ViewController.swift源文件编码,实现点击翻照图片,分数更新功能
3 知识点
- 学会Xcode新建空白single View app工程,学会编译运行
- 学会基本变量Int,String,Class,函数,初步认识可选类型(optional)
4 示例代码
//
// ViewController.swift
// Concertration
//
// Created by xx on 2020/2/22.
// Copyright © 2020 Tsinghua University. All rights reserved.
// GitTest First Time
// GitTest Sencond Time
// GItTest Third Time
import UIKit
class ViewController: UIViewController {
var flipCount = 0 {
didSet{
flipCountLabel.text = "Flips: \(flipCount)"
}
}
@IBOutlet var cardButtons: [UIButton]!
var emojiChoicces = ["👻", "🎃", "👻", "🎃"]
@IBOutlet weak var flipCountLabel: UILabel!
@IBAction func touchCard(_ sender: UIButton) {
flipCount += 1
if let cardNum = cardButtons.firstIndex(of: sender) {
flipCard(withEmoji: emojiChoicces[cardNum], on: sender)
} else{
print("Button doesn't exsit")
}
}
func flipCard(withEmoji emoji:String, on button:UIButton){
if button.currentTitle == emoji{
button.setTitle("", for: UIControl.State.normal)
button.backgroundColor = #colorLiteral(red: 0.9607843161, green: 0.7058823705, blue: 0.200000003, alpha: 1)
} else {
button.setTitle(emoji, for: UIControl.State.normal)
button.backgroundColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
}
}
}
网友评论