2013-10-03 2 views
-2

게임은 간단합니다. 버튼 - 돈으로 돈을 벌 수 있습니다. - (1) 상점을 만들고, (2) 업그레이드하십시오.iOS 게임 소개

2 점이 저에게 문제입니다.

입니다. 상점을 짓는다면 내가 가게를 만들면 그 가게는 초당 돈을 얻는다. 이것은 프로세스가 매 초마다 실행되어야 함을 의미합니다. 일부 코드는이 작업을 수행 할 수 있습니까?

초. 업그레이드 업그레이드에 대한 코드를 이미 만들었습니다.

- (IBAction)upgrade:(UIButton *)sender { 
    if (sum >= 100000){ 
     i = 300; 
     sum = sum - 100000; 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"업그레이드 성공!" message:@"당신의 버거가 업그레이드 되었습니다! 축하합니다" delegate:self cancelButtonTitle:@"예, 감사합니다!" otherButtonTitles:nil]; 
     [alert show]; 
    } else { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"업그레이드 할 수 없습니다" message:@"총 금액이 부족합니다" delegate:self cancelButtonTitle:@"예, 더 모을께요" otherButtonTitles:nil]; 

[alert show]; 
    } 
} 

그러나, 문제는 내가이 93 업그레이드를 계획이었습니다됩니다 .. 내가 93이 코드를 같이 적어해야합니까? 한 번에 업그레이드하면 다시 업그레이드하지 않아야합니다.

예를 들어, 당신은 이미 당신의 돈 '100000' 한 번 업그레이드하면 (안 100000) 다음 업그레이드해야하지만 지금은 그 코드를 업그레이드 할 수 있습니다에 대한 .. 그래서 코드를 잠글 수있는 몇 가지 코드가 있습니까?

답변

0

첫 번째 질문 : 그냥 타이머를 사용하십시오. NSTimer를 사용하는 방법에 대한 온라인 가이드가 많으므로 여기에 샘플을 포함시키지 마십시오. 독자를위한 연습입니다.

두 번째 질문에 대해서는 데이터베이스 (정렬 유형) !

JSON에서와 같이 간단하게 작동합니다 (해킹하기가 쉽지만).)).

예를 들어 :

{ "upgrades":[ 
    {"id":1, "cost":1000, "perSec":1}, 
    {"id":2, "cost":10000, "perSec":2} 
    ] 
} 

그런 다음

당신이, 당신은 이전에 (사용 NSUserDefaults 그것을 구입 한 것을 알고 핵심 데이터 나 sqlite가에 저장하는 플래그를 필요, 그것은 중요하지 않습니다 어디서나 저장할 수 있습니다. 그런 다음 구입하지 않은 다음 업그레이드를 찾아 판매 할 수 있습니다.

업그레이드가 알고리즘 적으로 데이터베이스가 필요하지 않은 경우 이전 업그레이드와 업그레이드 번호 (첫 번째 업그레이드는 무엇입니까?) 등을 저장하고 다음 단계로 넘어 가기 위해 알고리즘을 수행하면됩니다 .