Осъзнавам, че for-цикълът вероятно би бил най-добрият начин да направите това, просто не знам правилния начин да кажа за всеки 5 преминати препятствия, добавете 1 към общото цяло число на Scriptures
Имам приложение, подобно на Flappy bird. Обект преминава между два вертикални обекта, като потребителят докосва, за да го задържи плаващ.
Методът за оценяване е малко по-различен, така че ще направя всичко възможно да го обясня. В приложението потребителят събира „писания“, като преминава през препятствията. За всеки 5 преминати препятствия потребителят печели 1. Така че в моя метод за точкуване първо разделям на 2 (за да отчитам преминаването между две препятствия) и след това разделям на 5, за да разбера колко писания са спечелени.
Също така се опитвам да следя общия брой спечелени писания. Правя това, като създавам цяло число NSUserDefault, което започва от 0. Това, което се опитвам да направя, е да разделя на 2, за да получа броя на преминатите препятствия, след това да разделя на 5, за да получа колко писания са спечелени, и да добавя това число към NSUserDefault, който споменах по-рано. Въпреки това, с кода, който предстои да видите, щом дадено писание бъде спечелено, то поддържа тази стойност и така за първите 5 препятствия всичко е наред, но след като едно писание бъде спечелено, то добавя писание към стандартните за всеки един време. Може ли някой да ме посъветва как да извърша добавянето само ако номерът на finalChange е различен от последния отчет?
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSInteger startIt = [defaults integerForKey:@"totalScripturesCollected"];
NSInteger goBetween = _score/2;
NSInteger finalChange = goBetween/5;
NSInteger toReport = startIt + finalChange;
[defaults setInteger:_score/2 forKey:@"theScore"];
[defaults setInteger:toReport forKey:@"totalScripturesCollected"];
[defaults synchronize];
NSLog(@"startit %ld", (long)startIt);
NSLog(@"gobetween %ld", (long)goBetween);
NSLog(@"finalchange %ld", (long)finalChange);
NSLog(@"toreport %ld", (long)toReport);