Swift Code – Biến và hằng số

Trong lập trình, việc đầu tiên một lập trình viên cần phải làm là bắt tay vào khai báo và định nghĩa các biến, sau đó chúng ta mới lưu trữ và sử dụng nó cho chương trình. Đối với Swift, biến cũng là một thành phần không thể thiếu.

Chúng ta sẽ bắt đầu với việc khai báo một biến trong Swift. Hãy xem một ví dụ:

var lapKanTitle: String = “LapKan Corp.”

Ở trên, ta vừa khai báo một biến tên lapKanTitle kiểu String và có giá trị khởi tạo là “LapKan Corp.”. Đây cũng là cách khai báo biến phổ biến nhất trong Swift!

Tiếp theo là một ví dụ khác:

let lapKanTitle: String = “LapKan Corp.”

Hai câu lệnh khá giống nhau, chỉ khác nhau ở từ khóa var và let. Vậy, sự khác biệt ở đây là gì? Trong câu lệnh thứ nhất, từ khóa var khai báo một biến và biến này có thể thay đổi giá trị, còn ở câu lệnh thứ hai, với từ khóa let ta có thể hiểu biến ở đây như là một biến Constants (hằng số) và giá trị của biến sẽ không thay đổi trong suốt chương trình!

Hãy xem một vài ví dụ khác:

let lapKanTitle: String = “LapKan Corp.”

var lkVersion: Double = 1.0

let lkLevel: Int = 1000

let lkIsAwesome: Bool = true

Ở trên, chúng ta có 3 hằng số và một biến thường!

Cùng với sự ra đời của Swift, Apple cũng cho thêm 1 định nghĩa mới là “Type Inference” (Nói mới là Apple mới ra cho họ thôi, chứ cái này bên C # có lâu rồi, ngôn ngữ khác thì hem biết). Đại khái nó như thế này:

let lapKanTitle = “Swift” // inferred as String

var lkVersion = 1.0 // inferred as Double

let lkLevel = 1000 // inferred as Int

let lkIsAwesome = true // inferred as Bool

Cách khai báo mới này so với cách khai báo trước có gì khác nhau? Dễ dàng nhận thấy các biến đã được lược bỏ các kiểu dữ liệu như String, Double, Int, Bool. Đây chính là Type Inference mà ta đã nhắc tới ở trên. Điều này có ý nghĩa gì? Chúng ta có khả năng khai báo các biến tự do hơn trước nhiều. Nhiều lúc khi sử dụng, Swift sẽ có lựa chọn đúng hơn cho kiểu dữ liệu giúp chúng ta tiết kiệm được bộ nhớ cho việc sử dụng kiểu biến hay nếu chúng ta có thay đổi một kiểu biến ở đâu đó thì chương trình vẫn tối ưu hoá và chạy đúng. Nó khôn chỉ tiết kiệm được thời gian, công sức mà còn rút ngắn được code viết ra.

Thế thì tại sao Swift vẫn hỗ trợ việc khai báo có chứa kiểu dữ liệu như trên, đó là vì có những lúc chúng ta buộc phải sử dụng đúng kiểu dữ liệu để chương trình chạy được. Swift không phải vạn năng để lúc nào cũng hiểu được chính xác lập trình viên nghĩ gì (thật ra có lẽ chính lập trình viên cũng éo hiểu lúc đó nghĩ gì) nên vẫn có những lúc mà chúng ta cần định nghĩa chính xác thứ mà bạn muốn.

Lời khuyên cho lập trình viên là: Hãy sử dụng tối đa lợi thế không cần khai báo biến để giúp cho bạn tiết kiệm thời gian, công sức và dễ dàng bảo trì code trong tương lai.

Christmas Mummy Maze

Giáng Sinh đã tới rồi!

Game mới của nhóm chúng mình đã ra. Với cách chơi tương tự như Mummy Maze của Popcap, bạn sẽ được thử thách khả năng trí tuệ với việc tránh lũ quái vật đang rượt theo Ông già Noel để giật quà.

Hãy giúp ông già Noel nào.

Download Link: EscapeMaze

Chi phí để làm cho một nhân vật trò chơi?

Một nhà phát triển của Portal, Kim Swift đưa ra con số là khoảng $ 80K cho tổng chi phí tạo một nhân vật.
Hầu hết mọi người hiểu rằng làm cho trò chơi video có thể là tốn rất nhiều thời gian và rất đắt đỏ.
Nhưng thực sự tốn bao nhiêu? Trong bài phát biểu của mình tại PAX Prime hôm nay, nhà thiết kế game Kim Swift đã cố gắng để đưa ra các chi phí liên quan đến việc phát triển phòng thu trò chơi lớn, bằng cách liệt kê ra chí phí để tạo ra một nhân vật trong trò chơi.
Swift hiện đang làm việc trên “game ẩn” cho Amazon Game Studios. Trước đây cô đã từng tham gia các dự án Portal, Left 4 Dead và Quantum Conundrum.
Trong bài phát biểu của mình, cô đã cố gắng để nêu lên các quan niệm sai lầm phổ biến về phát triển game. Một ví dụ, cô nói, những người chơi luôn tin rằng giá của các game được bán ra thật sự quá mắc so với giá thành thực tế.
Swift đã cho thấy làm thế nào một trò chơi nhân vật – một chiến binh cận chiến – được thực hiện, từ phác thảo khái niệm ban đầu, thông qua các hình ảnh động, để tạo ra, qua giọng nói, thiết kế chiến đấu, âm thanh và các hiệu ứng đặc biệt.
Ví dụ, một nghệ sĩ phác thảo có thể sẽ dành hai tuần làm việc  để thiết kế nhân vật, với một lương khoảng $ 3,000. Một hiệu ứng nghệ sĩ tạo ra các hình ảnh của vũ khí và tác động hình ảnh động cũng có thể dành khoảng hai tuần vào nhiệm vụ đặc biệt này, với mức tiền lương khoảng $ 3,000.
Các chuyên gia khác làm việc trên các nhân vật sẽ bao gồm một nghệ sĩ nhân vật, một phim hoạt hình kỹ thuật, một nhà thiết kế chiến đấu, hoạt náo viên, lập trình viên, diễn viên lồng tiếng và kỹ sư âm thanh. Trong một studio lớn làm việc trên một trò chơi kinh phí lớn, một trong những nhân vật này có thể mất khoảng ba tháng để lấy từ ý tưởng đến thực tế được tái hiện trong trò chơi.
Sử dụng trung bình lương ngành công nghiệp game và xuất bản Swift kể vào tổng chi phí tiền lương cho các nhân vật là $ 46.5K. Nhưng bà cũng nói thêm các chi phí như không gian văn phòng, máy tính, phần mềm và tiện ích. Tổng chi phí cho một nhân vật theo cách tính trên là khoảng $ 80K.
“Đó chỉ là một nhân vật”, Swift nói. “Ngoại suy mà ra nhiều nhân vật và môi trường và nó sẽ đẩy chi phí làm một game thành một khoảng chi phí khổng lồ.”

Happy Fruit More Fruit Side

Touch on the button on the side have more fruit

iOS Simulator Screen Shot Jun 4, 2015, 9.10.03 AM iOS Simulator Screen Shot Jun 4, 2015, 9.10.05 AM iOS Simulator Screen Shot Jun 4, 2015, 9.10.07 AM iOS Simulator Screen Shot Jun 4, 2015, 9.10.14 AM iOS Simulator Screen Shot Jun 4, 2015, 9.10.21 AM

Center trong lập trình IOS

Khi sử dụng 1 tính năng nhiều lần thì ta nên dùng đến Singleton Pattern để có thể dễ dàng kiểm soát được kết quả, rút ngắn code và trên hết tối ưu hoá cho chương trình.

Trong các trường hợp mà chúng ta sử dụng 1 tính năng chính trong cả chương trình như 1 chương trình  quản lý tiền bạc chẳng hạn. Việc sử dụng phép tính ConvertUSD được thực hiện hàng trăm lần và luôn xét đến trường hợp từ loại tiền mặt này sang loại tiền khác. Việc việc đơn giản là ta tạo ra một LKMoneyCenter chuyên dùng cho việc đổi tiền mặt này.

#import <Foundation/Foundation.h>

@interface LKMoneyCenter : NSObject

{

BOOL lkUSDtoVND;

}

+ (id)lkSharedManager;

– (BOOL)lkGetCurrentMode;

– (void)lkSettingMode:(BOOL)lkMode;

– (float)lkConvertMoney:(float)lkMoney;

@end

* Nội dung file .m

#import “LKMoneyCenter.h”

@implementation LKMoneyCenter

+ (id)lkSharedManager{

static LKMoneyCenter * lkSharedMyManager = nil;

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

lkSharedMyManager = [[self alloc] init];

});

return lkSharedMyManager;

}

– (BOOL)lkGetCurrentMode{

return lkUSDtoVND;

}

– (void)lkSettingMode:(BOOL)lkMode{

lkUSDtoVND = lkMode;

}

– (float)lkConvertMoney:(float)lkMoney{

return lkUSDtoVND ? lkMoney * 21500 : lkMoney / 21500;

}

@end

=> Như vậy ta có thể call ở bất cứ đâu và sử dụng 1 biến để lưu trữ xem nên đổi loại tiền như thế nào.

Project mẫu: https://www.fshare.vn/file/31JF7HHOP8RT

Nghề lập trình IOS kiếm được bao nhiêu?

Đầu tiên, chúng ta phải kể đến chi phí để bắt đầu lập trình với IOS. Để lập trình với IOS bạn cần một máy Mac để có thể làm việc với Xcode. Máy Mac có thể là iMac hay Macbook. Tuy nhiên để công việc tiến hành trôi chảy bạn cần có một máy mạnh để có thể build chương trình nhanh và đủ RAM/sức mạnh để giả lập IOS trong trường hợp không có máy để test (hay cần để test tất cả các loại máy từ iPhone 4 đến iPhone 5, 6 và 6 plus). Một Macbook Pro sẽ đáp ứng mọi tiêu chí cũng như có tính di động cao dành cho dân lập trình. Như vậy bạn tốn chừng 1.799 $ cho công cụ quan trọng nhất của mình.

Bạn cần phải dành 99 $ để đóng tiền account cho Apple trong 1 năm và 1 thiết bị thật như iPhone/iPod hay iPad để có thể build ra và up lên Appstore (không thể giả lập vì muốn build lên Appstore cần có thiết bị thật để archive).

Tổng chi phí là hơn 2.000 $ cho việc bắt đầu lập trình còn chưa kể đến âm thanh, hình ảnh và các chương trình bổ trợ cho việc lập trình của bạn.

Theo Genk thì nếu làm nhóm bạn sẽ thu được vào khoảng 2.000 $ mỗi tháng cho nhóm 3 người. Nếu bạn chịu ôm hết thì một mình bạn sẽ làm được khoảng 1.000 $. Riêng mình thì số này cao hơn nhiều tuy nhiên cá nhân mình không muốn công bố cho lắm 🙂 cũng tại nó thuộc về nhiều lĩnh vực chứ không chỉ riêng lập trình nên cũng không thể tham khảo được. Nhưng nói chung với mức đầu tư như vậy thì thu nhập không thể thấp được nếu bạn tập trung vào làm. Vì vậy đừng bán rẻ nghể của bạn chỉ với 1-2 triệu/ứng dụng nhé (và những khách hàng yêu dấu, chúng tôi đầu tư cũng nhiều và học hỏi để lập trình cũng cực khổ lắm đấy nên các bạn làm ơn đừng ép giá quá)

Đâu là muc tiêu trọng tâm của bạn?

Bạn là một nhà phát hành game nhỏ như vậy tài chính và các nguồn lực của bạn có giới hạn rất lớn (kể cả trong trường hợp bạn có lớn mạnh thì cũng khó có thể có nguồn lực vô hạn). Như vậy bạn cần có một mục tiêu trọng tâm.

Mục tiêu trọng tâm chính là thứ bạn hướng tới trong công việc kinh doanh của chính bạn. Nó chính là tâm điểm của cả đế chế mà bạn xây dựng trong tương lai.

Nó cũng là con đường ngắn nhất để làm bạn nổi bật và có nền tảng riêng cho chính thương hiệu của bạn. Đó chính là điều mà bạn cần làm được với trò chơi của bạn, thứ đại diện cho khả năng và sức lực mà bạn cống hiến cho xã hội.

Hãy nhớ lại một Popcap, một thương hiệu nổi tiếng trong giới game mini ngày trước (sau khi bị thâu tóm thì không còn như trước nữa). Những game của Popcap luôn đơn giản, tập trung vào các đề tài đã được khai thác trước đó nhưng được phát triển thêm một bước nữa để trở thành một game ăn khách.

* Câu hỏi bạn cần đặt ra là:

– Những game của bạn tập trung chủ yếu vào điều gì?

– Game sau của bạn khi người ta chơi sẽ có thể nhận ra nó cùng một người phát triển hay không?

* Những thứ bạn cần tránh:

– Bạn thích rất nhiều thứ nhưng thành thật mà nói, không thể nào làm tất cả mọi thứ được đâu, hãy chọn ra trọng tâm của mình. Game có rất nhiều thể loại và thể loại nào cũng có thể thành công, cái bạn cần là sự tập trung.

– Tránh đi theo lối mòn trong suy nghĩ, đã làm game độc lập bạn không cần phải tuân theo lệnh của bất cứ ai, hãy vẽ ra game của mình và làm. Tuy nhiên nên xác định rõ mục tiêu của game, ví dụ cần 20 màn chơi và 4 loại quả đặc biệt thì hãy tiến tới đó trước khi bạn nghĩ sẽ có thêm 40 màn chơi.

* Những thứ bạn cần làm:

– Tìm hiểu niềm đam mê của bạn

– Ra được bản game demo và chạy được (đừng bỏ cuộc trước đó)

– Hãy làm người chơi của chính bạn. Nếu chính bạn còn không chơi được 10 h làm sao người khác có thể làm được?

Kết:

– Đó là một chặng đường dài. Bạn cũng cần có người đồng hành, có rất nhiều sự hỗ trợ. Nếu cần thiết cứ liên hệ mình sẽ chỉ thêm cho bạn một vài kinh nghiệm để làm game tốt hơn