美文网首页
LogicHappy

LogicHappy

作者: hahalalo | 来源:发表于2018-09-06 16:47 被阅读0次

    Puzzle games

    NSArray*adjacentBox(NSIntegerindex,NSIntegerdegree) {

        // 先列出边角

        NSUIntegerup_left =0;

        NSUIntegerup_right = degree -1;

        NSUIntegerleft_lower =pow(degree,2) - degree;

        NSUIntegerright_lower =pow(degree,2) -1;

        // 是边角

        if(index == up_left) {

            // 左上

            return@[@(index +1),@(index + degree)];

        }

        if(index == up_right) {

            // 右上

            return@[@(index -1),@(index + degree)];

        }

        if(index == left_lower) {

            // 左下

            return@[@(index - degree),@(index +1)];

        }

        if(index == right_lower) {

            // 右下

            return@[@(index -1),@(index - degree)];

        }

        // 是边线

        if(index > up_left && index < up_right) {

            // 上边线

            return@[@(index + degree),@(index -1),@(index +1)];

        }

        NSMutableArray *left_lines = [NSMutableArray arrayWithCapacity:0];

        NSMutableArray *right_lines = [NSMutableArray arrayWithCapacity:0];

        for(NSUIntegeri = degree; i < degree * (degree -1); i ++) {

            if(i % degree ==0) {

                [left_linesaddObject:@(i)];

                [right_linesaddObject:@(i + degree -1)];

            }

        }

        if([left_linescontainsObject:@(index)]) {

            // 左边线

            return@[@(index +1),@(index - degree),@(index + degree)];

        }

        if([right_linescontainsObject:@(index)]) {

            // 右边线

            return@[@(index -1),@(index - degree),@(index + degree)];

        }

        if(index > left_lower && index < right_lower) {

            // 下边线

            return@[@(index - degree),@(index -1),@(index +1)];

        }

        // 其他

        return@[@(index - degree),@(index -1),@(index + degree),@(index +1)];

    相关文章

      网友评论

          本文标题:LogicHappy

          本文链接:https://www.haomeiwen.com/subject/ugixgftx.html