проведите пальцем по направлениям и зафиксируйте текстовую строку - PullRequest
0 голосов
/ 02 сентября 2011

Помоги мне ... Я застрял.Я пытаюсь сделать из простой игры что-то наподобие свистка злой птицы.Я не знаю, как это зашифровать.У меня есть две метки и код перемещения пальца (вверх, вниз, влево или вправо, любые направления).

Я хочу передать label1.text ("333333777777555555888888") на label2.text с более коротким номером ("3758").Так что я могу сделать игру с искусственным интеллектом лучше.Как мне это сделать?

Вот код.

      for (NSValue *point_value in TouchRecord) {
             CGPoint current_point = [point_value CGPointValue];
             NSUInteger idx = [self subregionIndexContainingPoint:current_point];

             //collect string on label2
             NSString *numValue = [[NSString alloc] initWithFormat:@"%d", idx];
             label1.text = [label1.text  stringByAppendingString:numValue];


       }

Спасибо.

1 Ответ

0 голосов
/ 02 сентября 2011

Я не совсем уверен, что это то, что вы хотите, но я думаю, что это так.

Чтобы сократить строку до одного числа, используйте эту функцию.

+(NSString*) removeDuplicateNumbersFromString:(NSString*)first{
    //if first is "1112222334445" the return value of this function would be "12345"

    NSString *end = [NSString stringWithString:@""]; //the return string
    char last; //will track changes in numbers

    for (int i = 0; i < [first length]; i++) {
        char charAtIndex = [first characterAtIndex:i]; 
        if (last != charAtIndex) {
            //if the last character is different than the current character
            //set the current character as last, and add that character to the return string
            last = charAtIndex;
            end = [end stringByAppendingFormat:@"%c",last];
        }
     }
     NSLog(@"First:%@, End:%@",first,end); //prints out the start/end strings
     return end;
}
...