🔢

数字当てゲームの開発

2024/05/26に公開

はじめに

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でのデザイン実装と一連の開発プロセスを学ぶことができました。

アプリのリンク

作成したアプリのリンクです。
https://apple.co/3odHKs2

Discussion