🔢
数字当てゲームの開発
はじめに
SwiftUIで数字当てゲームのiOSアプリを開発しました。このアプリは、ランダムに選ばれた3つの数字を当てるシンプルなゲームです。この記事では、アプリの開発背景、技術スタック、設計、開発プロセスについて紹介します。
技術スタック
プログラミング言語: Swift
フレームワーク: SwiftUI
ゲームのルール
まずはじめに、このゲームのルールを説明します。
コンピュータがランダムに選んだ3つの数字(0から9の間)をプレイヤーが10回以内に当てるゲームです。プレイヤーが数字を入力する度に、以下のようなフィードバックを表示しヒントを与えます。
- 桁の位置と数字が一致している場合→「ヒット」
- 桁の位置は違うが、数字が一致している場合→「ブロー」
「1ヒット0ブロー」のように表示してヒントを与える。
プログラムのフローチャート
流れずをxmindにまとめて整理しました。
課題と解決策
開発では、ポップアップでの表示や、背景のグラデーション表示など多くの課題がありました。これらの課題に対しては、先人達の知恵をお借りしてなんとか対応しました。
グラデーション作成
// 背景グラデーション
private func backGroundColor() -> LinearGradient {
let start = UnitPoint.init(x: 0.0, y: 0.0)
let end = UnitPoint.init(x: 1.0, y: 1.0)
// convert UIColor to Color
let colors = Gradient(colors: [Color.blue, Color(UIColor.purple)])
let gradientColor = LinearGradient(gradient: colors, startPoint: start, endPoint: end)
return gradientColor
}
ZStackに設定
ZStack {
// 背景
self.backGroundColor().edgesIgnoringSafeArea(.all)
Text("hello")
}
今後の展望
- 難易度の調整
- 対戦プレイ機能
まとめと感想
今回のプロジェクトでは、SwiftとSwiftUIを使ってシンプルな数字当てゲームを作成しました。ゲームのロジックをプログラムするのに苦労しましたがXCodeの機能であるplaygroundで何度もテストを行いました。また、SwiftUIでのデザイン実装と一連の開発プロセスを学ぶことができました。
アプリのリンク
作成したアプリのリンクです。
Discussion