برنامه نویسی

ساخت اولین برنامه iOS من

به دنیای وحشی، وحشی و شگفت انگیز توسعه اپلیکیشن iOS خوش آمدید، جایی که رویاها به واقعیت تبدیل می شوند و کافئین به دنبال بی امان نوآوری ما می افزاید. خود را در دفتر باز یک استارت‌آپ فناوری تصور کنید که با صدای کم خلاقیت، صدای کلیک ریتمیک صفحه‌کلیدهای مکانیکی، و گهگاه طغیان‌های مملو از جنجال در حالی که کسی با ساخت اپلیکیشن بعدی در سطح تیم کوک می‌جنگد، سر و صدا می‌کنید.

در این مقاله، ما ابتدا وارد ماجراجویی ایجاد یک بازی کارتی دو نفره می‌شویم. آماده شوید تا خطوط کد را به یک تجربه تعاملی و جذاب تبدیل کنید که دید شما را روی صفحه زنده می کند.

راه اندازی

قبل از اینکه بتوانیم کدنویسی را شروع کنیم، باید محیط توسعه خود را راه اندازی کنیم. این شامل چند مرحله کلیدی است تا اطمینان حاصل شود که همه چیز را برای ساخت و آزمایش برنامه iOS خود داریم. در اینجا چیزی است که شما باید انجام دهید:

  • Xcode را نصب کنید: Xcode محیط توسعه یکپارچه اپل (IDE) برای macOS است. این شامل همه چیزهایی است که برای ایجاد برنامه برای همه دستگاه های اپل نیاز دارید. به Mac App Store بروید و آخرین نسخه Xcode را دانلود کنید. پس از نصب، آن را باز کنید و کمی وقت بگذارید تا با رابط کاربری آشنا شوید.
  • یک پروژه جدید ایجاد کنید:
    Xcode را راه اندازی کنید و با انتخاب “Create a new Xcode project” از صفحه خوش آمدگویی، یک پروژه جدید ایجاد کنید. الگوی «برنامه» را در زیر تب iOS انتخاب کنید و روی «بعدی» کلیک کنید. جزئیات پروژه را تکمیل کنید:

    • نام محصول: به بازی خود یک نام بدهید (به عنوان مثال، “CardGame”).
    • تیم: در صورت عضویت در Apple ID یا تیم خود را انتخاب کنید.
    • نام سازمان: نام شرکت یا شخصی شما.
    • شناسه سازمان: یک شناسه منحصر به فرد، معمولاً یک نام دامنه معکوس (به عنوان مثال، com.yourname).
    • زبان: سریع.
    • رابط کاربری: SwiftUI.
  • تنظیم نسخه کنترل:

    کنترل نسخه برای هر پروژه توسعه ضروری است. Xcode به طور یکپارچه با Git ادغام می شود و به شما امکان می دهد تغییرات را ردیابی کنید و با دیگران همکاری کنید. هنگام تنظیم پروژه خود، با انتخاب گزینه «Create Git repository on my Mac» یک مخزن Git را راه اندازی کنید.

  • با SwiftUI آشنا شوید:

    SwiftUI چارچوب اپل برای ایجاد رابط کاربری در تمامی پلتفرم های اپل است. اگر قبلاً با SwiftUI آشنا نیستید، مدتی را صرف بررسی اصول اولیه SwiftUI کنید. مستندات و آموزش های رسمی اپل منابع بسیار خوبی هستند.

  • شبیه ساز خود را راه اندازی کنید:

    Xcode دارای یک شبیه ساز داخلی است که به شما امکان می دهد برنامه خود را بر روی دستگاه های مجازی مختلف آزمایش کنید. مدل آیفون مورد نظر خود را از نوار ابزار دستگاه انتخاب کنید و شبیه ساز را راه اندازی کنید تا مطمئن شوید همه چیز به درستی کار می کند.

  • دارایی های خود را آماده کنید:

    تمام دارایی های لازم برای بازی کارت خود را جمع آوری کنید. این شامل تصاویر کارت‌ها، پس‌زمینه‌ها و هر عنصر گرافیکی دیگری است که نیاز دارید. اطمینان حاصل کنید که دارایی های شما برای iOS اندازه و قالب بندی مناسبی دارند.

با تنظیم همه چیز، اکنون آماده هستیم تا وارد مرحله کدنویسی شویم. در بخش بعدی، با طرح ساختار اصلی بازی کارتی خود و اجرای عملکرد اصلی شروع می کنیم. بنابراین، آستین‌ها را بالا بزنید، Xcode را فعال کنید و بیایید این بازی را زنده کنیم!

ساخت

اکنون که محیط توسعه خود را آماده کرده ایم، وقت آن است که به بخش سرگرم کننده بپردازیم: ساختن بازی خود. ما قصد داریم یک بازی ساده و در عین حال جذاب با ورق با دسته ای از 13 کارت ایجاد کنیم، که در آن هر کارت از 2 تا 14 رتبه بندی می شود. این طرح به شرح زیر است:

  • دو مجموعه کارت روی تخته قرار می گیرد.
  • یک تابع تصادفی یک کارت برای هر بازیکن تولید می کند.
  • بازیکنی که کارت بالاتری دارد راند را برنده می شود و یک امتیاز کسب می کند.
  • بازی تا زمانی ادامه می یابد که همه کارت ها بازی شوند و بازیکنی که بیشترین امتیاز را داشته باشد برنده می شود.

بیا شروع کنیم!

مرحله 1: متغیر Player را تعریف کنید

یک فایل بازنویسی سوئیفت با نام ایجاد کنید ContentView.swift و یک متغیر برای پخش کننده کارت خود تعریف کنید:

//    player card
    @State var player_card:String = "back"
    @State var player_card2:String = "back"

//  player score value
    @State var player_scorevalue:Int = 0
    @State var player_scorevalue2:Int = 0

//    player rounds
    @State var player_rounds:Int = 0
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 2: تابع Random deck را ایجاد کنید

در همان فایل، یک تابع برای تولید و به هم زدن یک دسته کارت اضافه کنید:

func Deal(){

//     Player Random number generator
        var PlayerScoreValue:Int = Int.random(in: 2...14)
        var PlayerScoreValue2:Int = Int.random(in: 2...14)

//        Card generator
        player_card = "card" + String(PlayerScoreValue)
        player_card2 = "card" + String(PlayerScoreValue2)

        if PlayerScoreValue > PlayerScoreValue2 {
            player_scorevalue += 1
        }else{
            player_scorevalue2 += 1
        }

        player_rounds += 1;

    }
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: صفحه بازی را تنظیم کنید

یک رابط کاربری بازی ایجاد کنید. این نما کارت ها و امتیازات هر بازیکن را نمایش می دهد:

var body: some View {
        ZStack {
            Image("background-plain")
            VStack{
                Image("logo")
                HStack{
                    Image(player_card)
                    Image(player_card2)
                }
                Button{
                    Deal()
                }label: {
                    Image("button")
                }
                .padding(.all)
                HStack{
                    VStack{
                        Text("Player 1")
                            .font(.title)
                            .fontWeight(.bold)
                            .foregroundColor(Color.white)
                        Text(String(player_scorevalue))
                            .font(.title2)
                            .fontWeight(.bold)
                            .foregroundColor(Color.white)
                            .padding(.all, 3.0)
                    }
                    .padding(.all)
                    VStack{
                        Text("Player 2")
                            .font(.title)
                            .fontWeight(.bold)
                            .foregroundColor(Color.white)
                        Text(String(player_scorevalue2))
                            .font(.title2)
                            .fontWeight(.bold)
                            .foregroundColor(Color.white)
                            .padding(.all, 3.0)
                    }
                    .padding(.all)
                }
                .padding(.all, 18.0)

                Text(String(player_rounds))
                    .font(.title)
                    .fontWeight(.heavy)
                    .foregroundColor(Color.red)
                    .padding(.all)
                    .frame(width: nil)
                    .border(Color.white, width: 3)
                    .cornerRadius(10.0)


            }
        }
        .padding()
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: کد نهایی

در نهایت کد:

import SwiftUI

struct ContentView: View {

//    player card
    @State var player_card:String = "back"
    @State var player_card2:String = "back"

//  player score value
    @State var player_scorevalue:Int = 0
    @State var player_scorevalue2:Int = 0

//    player rounds
    @State var player_rounds:Int = 0

    var body: some View {
        ZStack {
            Image("background-plain")
            VStack{
                Image("logo")
                HStack{
                    Image(player_card)
                    Image(player_card2)
                }
                Button{
                    Deal()
                }label: {
                    Image("button")
                }
                .padding(.all)
                HStack{
                    VStack{
                        Text("Player 1")
                            .font(.title)
                            .fontWeight(.bold)
                            .foregroundColor(Color.white)
                        Text(String(player_scorevalue))
                            .font(.title2)
                            .fontWeight(.bold)
                            .foregroundColor(Color.white)
                            .padding(.all, 3.0)
                    }
                    .padding(.all)
                    VStack{
                        Text("Player 2")
                            .font(.title)
                            .fontWeight(.bold)
                            .foregroundColor(Color.white)
                        Text(String(player_scorevalue2))
                            .font(.title2)
                            .fontWeight(.bold)
                            .foregroundColor(Color.white)
                            .padding(.all, 3.0)
                    }
                    .padding(.all)
                }
                .padding(.all, 18.0)

                Text(String(player_rounds))
                    .font(.title)
                    .fontWeight(.heavy)
                    .foregroundColor(Color.red)
                    .padding(.all)
                    .frame(width: nil)
                    .border(Color.white, width: 3)
                    .cornerRadius(10.0)


            }
        }
        .padding()
    }

    func Deal(){

//     Player Random number generator
        var PlayerScoreValue:Int = Int.random(in: 2...14)
        var PlayerScoreValue2:Int = Int.random(in: 2...14)

//        Card generator
        player_card = "card" + String(PlayerScoreValue)
        player_card2 = "card" + String(PlayerScoreValue2)

        if PlayerScoreValue > PlayerScoreValue2 {
            player_scorevalue += 1
        }else{
            player_scorevalue2 += 1
        }

        player_rounds += 1;

    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

عکس کامل برنامه

از اینکه برای خواندن این مقاله وقت گذاشتید متشکرم! امیدوارم آموزنده و مفید بوده باشید.

👍 اگر از این پست قدردانی کردید، لطفا آن را لایک کنید!

🔄 این را با هر کسی که ممکن است از آن بهره مند شود به اشتراک بگذارید.

💬 دوست دارم نظرات و نکاتی را که ممکن است داشته باشید بشنوم – در زیر نظر دهید!

👤 من را برای وبلاگ های روشنگرتر در آینده دنبال کنید!

با یک قهوه از کار من حمایت کنید ☕ – از سخاوت شما متشکرم!

برام قهوه بخر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا