[Swift]30言ったら負けのゲームを、iOSアプリ開発で作ってみた。
こんにちはMottyです。
概要
SwiftはiOSアプリ開発用のプログラミング言語でして、非常に成長分野であると言えます。以下のようなメリットが一般的に挙げられますSwiftの特徴としては・・・
・Webフレームワークが充実している
・処理速度が速い
・Apple製品のアプリを一貫して開発できる
・コーディングがシンプル
などがあります。つまり、初心者でもとっつきやすく、また流行りに乗っている言語と言えそうです。
従来まではObjective-Cという言語でのアプリ開発が主流だったそうですが、速さやコーディングのシンプルさなど性能面でSwiftが上回り、現在市場に浸透しつつある新しい言語、といった特徴があります。
(データは少し古いですが・・・高い成長率が特徴的ですね。)
30言ったら負けのゲーム
交互に数字を宣言し、先に30を宣言してしまった方の負けのゲームです。宣言は交互に行う。初めの数字は1プレイヤーが1度に宣言できる数は3つまで。連続した整数でつないでいかなければならない。つまり先行が1,2,3と言い終えたあと、相手は4から始めていく。
実際は口頭で言いますが、今回はアプリ上でのゲームとなるのでボタンを押して進行する流れとなります。
ソースコード
//
// 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操作でアプリを作れるので、今回プログラミングを行なった工程は全体の半分から6割程度でした。しかし英語表記や、Swift独自の機能もあったりするので、慣れるのにはもう少し時間がかかりそうだなとも感じました。
iPhoneやandrpidアプリの市場は成長産業ですので、これからもたくさんのアプリが登場すると思います。(XRやIoTなどの世に出回る途中段階の技術とアプリの親和性も高いので。)
余談ですが、SWiftではARを簡易的に作成できるライブラリがあるそうで、非常に興味深いです。
参考:ARKitで作るAR名刺
https://qiita.com/kboy/items/d5c7e0f4174da4b8d5f0
Author And Source
この問題について([Swift]30言ったら負けのゲームを、iOSアプリ開発で作ってみた。), 我々は、より多くの情報をここで見つけました https://qiita.com/Yt330110713/items/606961d5cca4315649bb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .