[Swift] 30 말하자면 지는 게임을 iOS 앱 개발로 만들어 보았다.

12097 단어 게임Swiftios 앱
안녕하세요 모티입니다.



개요



Swift는 iOS 앱 개발을 위한 프로그래밍 언어로, 매우 성장 분야라고 할 수 있습니다. 다음과 같은 장점을 일반적으로 들 수 있습니다 Swift의 특징으로는 ...
· 웹 프레임 워크가 충실합니다.
· 처리 속도가 빠름
· Apple 제품의 앱을 일관되게 개발할 수 있습니다.
・코딩이 심플
등이 있습니다. 즉, 초보자라도 붙어 쉽고, 또 유행을 타고 있는 언어라고 말할 수 있을 것 같습니다.
기존까지는 Objective-C라는 언어로 앱 개발이 주류였다고 합니다만, 속도나 코딩의 단순함 등 성능면에서 Swift가 웃돌아 현재 시장에 침투하고 있는 새로운 언어라는 특징이 있습니다.



(데이터는 조금 낡습니다만・・・ 높은 성장률이 특징적이네요.)

30 말하면 잃은 게임



번갈아 숫자를 선언하고 먼저 30을 선언해 버린 분의 패배 게임입니다. 선언은 번갈아 행한다. 최초의 숫자는 1 플레이어가 1번에 선언할 수 있는 수는 3개까지. 연속적인 정수로 연결해 나가야 한다. 즉 선행이 1,2,3이라고 말한 뒤, 상대는 4부터 시작해 간다.
실제로는 구두로 말합니다만, 이번은 앱상에서의 게임이 되기 때문에 버튼을 눌러 진행하는 흐름이 됩니다.

소스 코드






30.swift
//
//  ViewController.swift
//  30
//
//  Created by Motty on 2020/07/01.
//  Copyright © 2020 Motty. All rights reserved.

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        //初期化の際に1回だけ実行されるメソッド

    Counter.text = "0"
    Turn_Board.text = Turn1
    }

    //Propaties

    var CountNumber = 0 //0<CN<30
    var Turn1 = "Player1のターンです"
    var Turn2 = "Player2のターンです"
    var IsPlayer1 = true //If False : Now is Player2
    var AddCount1 = 0 //0<AC1<3
    var AddCount2 = 0 //0<AC2<3


    //Methods

    //プレイヤーのターンをスイッチする
    func player_switch() {
        if IsPlayer1 == true{
            IsPlayer1 = false
            Turn_Board.text = Turn2
        }else{
            IsPlayer1 = true
            Turn_Board.text = Turn1
        }
    }

    // 勝利判定のメソッド
    func WinnerJudge() {
        if CountNumber >= 30 {
            if IsPlayer1 == true{
                Turn_Board.text = "Player1の敗北です!"

            } else {
                Turn_Board.text = "Player2の敗北です”!"
            }
        }
    }

    //アドカウント判定のメソッド
    func AddCountJudge(){
        if IsPlayer1 == true{
            if AddCount1 >= 3{
                AddCount1 = 0
                player_switch()
            }
        }else{
            if AddCount2 >= 3{
                AddCount2 = 0
                player_switch()
            }
        }

    }

    // リセット
    func Reset0(){
        AddCount1 = 0
        AddCount2 = 0
        CountNumber = 0
        IsPlayer1 = true
        Counter.text = "0"
        Turn_Board.text = Turn1

    }


    //Arranging UIParts

    //Outlets
    @IBOutlet weak var Counter: UILabel!
    @IBOutlet weak var Turn_Board: UILabel!


    //Actions
    @IBAction func Add1(_ sender: Any) {
        CountNumber += 1
        AddCount1 += 1
        Counter.text = String(CountNumber)
        WinnerJudge()
        AddCountJudge()

    }
    @IBAction func Add2(_ sender: Any) {
        CountNumber += 1
        AddCount2 += 1
        Counter.text = String(CountNumber)
        WinnerJudge()
        AddCountJudge()
    }
    @IBAction func End1(_ sender: Any) {
        player_switch()
        Turn_Board.text = Turn2
    }
    @IBAction func End2(_ sender: Any) {
        player_switch()
        Turn_Board.text = Turn1
    }
    @IBAction func Reset(_ sender: Any) {
        Reset0()
    }    

}


<표시 화면>



결론



일단 기능은 움직입니다만 레이아웃이나 버그등은 거의 체크하고 있지 않습니다. . 처녀작이라고 하는 것으로 용감을···.
그러나 UI 부품은 편리하네요. GUI 조작으로 앱을 만들 수 있으므로 이번 프로그래밍을 한 공정은 전체의 절반에서 60% 정도였습니다. 그러나 영어 표기나, Swift 독자적인 기능도 있거나 하기 때문에, 익숙해지는 데는 좀 더 시간이 걸릴 것 같다고도 느꼈습니다.
iPhone과 andrpid 앱의 시장은 성장 산업이므로 앞으로도 많은 앱이 등장한다고 생각합니다. (XR이나 IoT 등의 세상에 나가는 도중 단계의 기술과 앱의 친화성도 높기 때문에.)

여담입니다만, SWift에서는 AR을 간이적으로 작성할 수 있는 라이브러리가 있다고 하고, 매우 흥미롭습니다.

참고: ARKit로 만드는 AR 명함
htps : // 이 m / k 보 y / ms / d5c7 0f4174 4b8d5f0

좋은 웹페이지 즐겨찾기