Перейти к содержимому

Фотография

Разработка для OS X и iOSОбмен опытом


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 179

#101
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Т.е. cellsize  на cellsize (70 пикселей)


  • 0

#102
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Текущая версия (только выводит игровое поле на экран)

Xcode 4.6.3


Сообщение отредактировал fibe: 09.08.2013, 09:37:56

  • 0

#103
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Заяц, как ладья на шахматной доске, может двигаться либо по вертикали, либо по горизонтали. За один шаг он может переместиться на соседнюю клетку. Предположим, что у нас есть фишки, с числами. 

Разложим фишки с цифрой 1 на соседние с зайцем клетки, получим все клетки, на которые можно переместить зайца за один шаг.

Разложим фишки с цифрой 2 на оставшиеся пустые клетки (не занятые ни фишками, ни фигурками) на которые можно переместиться с клетки с фишкой 1 за один шаг.

Продолжая раскладывать фишки таким образом, мы закроем все пустые клетки в которые существует путь из клетки с зайцем. 

В оставшиеся свободные клетки переместиться нельзя, так путь к ним прегражден фигурками.

 

В итоге мы получили алгоритм, по которому на этапе выбора фигурки для перемещения, мы уже сможем определить на какую клетку можно переместиться и за сколько ходов, а на какую нельзя.

 

post-344524-0-75548300-1375686788_thumb.

switch ([_gameField getTestCellFromI:fromto[0]+1 AndJ:fromto[1]+1]) {
                case 0:
                    NSLog(@"Вы передумали");
                    break;
                case BUSY_CELL:
                    NSLog(@"Вы выбрали другой шарик");
                    break;
                case EMPTY_CELL:
                    NSLog(@"Хода нет");
                    break;
                    
                default:
                    NSLog(@"Сюда можно попасть за %d шагов", [_gameField getTestCellFromI:fromto[0]+1 AndJ:fromto[1]+1]);
                    break;
            }

Когда пользователь выбрал шарик на поле, формируется массив testCells[11][11], затем когда пользователь нажимает на игровом поле второй раз, нам остается лишь проверить значения массива testCells


  • 0

#104
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Текущая версия в действии:

Прикрепленные файлы

  • Прикрепленный файл  Lines.zip   683,42К   Количество загрузок: 115

  • 0

#105
fibe

fibe
  • В доску свой
  • 2 405 сообщений

разобрался там нужен ваф который меньше 30 секунд

 

Может попробуете добавить в программу анимацию и звуки?

    [CLGameAnimation animateWithDuration:1
                                   delay:0.0
                                 options: UIViewAnimationOptionRepeat | UIViewAnimationOptionAllowUserInteraction |
                                          UIViewAnimationOptionAutoreverse | UIViewAnimationCurveEaseInOut
                              animations:^{_cellSelectedView.alpha=0.1;}
                              completion:^(BOOL finished) {}];
 

  • 0

#106
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Версия с анимацией:

 

- (void) startFlashingCell {
    [CLGameAnimation animateWithDuration:1
                                   delay:0.0
                                 options: UIViewAnimationOptionRepeat | UIViewAnimationOptionAllowUserInteraction |
     UIViewAnimationOptionAutoreverse | UIViewAnimationCurveEaseInOut
                              animations:^{_cellSelectedView.alpha=0.1;}
                              completion:^(BOOL finished) {NSLog(@"flashing");}];
}
- (void) stopFlashingCell {
    [CLGameAnimation setAnimationBeginsFromCurrentState:YES];
    [CLGameAnimation animateWithDuration:0.0
                                   delay:0.0
                                 options: UIViewAnimationOptionBeginFromCurrentState |
     UIViewAnimationOptionAllowUserInteraction
                              animations:^{_cellSelectedView.alpha=0.0;}
                              completion:^(BOOL finished) {NSLog(@"stop flashing");}];

    
}
- (void) stepsAnimationfrom: (int) a to: (int) b {
    CGRect imageRect;
    int ki, kj;
    imageRect.size = CGSizeMake(CELL_SIZE, CELL_SIZE);
    ki=animationCells[a]/9;
    kj=animationCells[a]%9;
    _cellSelectedView.alpha=1.0;
    imageRect.origin = CGPointMake(CELL_SIZE*kj, CELL_SIZE*ki);
    [CLGameAnimation animateWithDuration: 0.1
                                   delay: 0.0
                                 options: UIViewAnimationCurveEaseInOut
                              animations:^{_cellSelectedView.frame=imageRect;}
                              completion:^(BOOL finished) { if (a<b) {
        [self stepsAnimationfrom:a+1 to:b];
    } else {
        [self doAfterStepAnimationFinish];
    }
                              }];
    
}

Сообщение отредактировал fibe: 10.08.2013, 13:38:05

  • 0

#107
fibe

fibe
  • В доску свой
  • 2 405 сообщений

 

Lines (Color Lines, в народе Шарики) — логическая компьютерная игра, изобретённая Олегом Дёминым, Геннадием Денисовым и Игорем Ивкиным и разработанная российской компанией Gamos в1992 году.

В классической игре на экране показано квадратное поле 9×9 клеток, в случайные клетки на котором программа выставляет три шарика разных цветов. Всего 7 возможных цветов. За один ход игрок может передвинуть один шарик, выделив его и указав его новое местоположение. Для совершения хода необходимо, чтобы между начальной и конечной клетками существовал путь из свободных клеток. Цель игры состоит в удалении максимального количества шариков, которые исчезают при выстраивании шариков одного цвета по пять и более в ряд (по горизонтали, вертикали или диагонали). При исчезновении ряда шариков новые три шарика не выставляются. В остальных случая каждый ход выставляются новые три шарика. Игрок может видеть заранее три шарика, которые появятся в следующем ходу.

Color_Lines_screenshot_scaled_640_480.pn

 

Игра уже работает, необходимо доработать дизайн

 

Прикреплённые изображения:

  • Снимок экрана 2013-08-11 в 18.13.29.png

  • 0

#108
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Всего 7 возможных цветов
Я немного решил поправить условия, добавив возможность "Легкий" - 5 цветов, "Нормальный" - 6 и "Трудный" - 7 
  • 0

#109
fibe

fibe
  • В доску свой
  • 2 405 сообщений


Для сетки(поле) ее отображения что собераетесь использовать?

- (void)drawRect:(CGRect)rect
{
    CGRect imageRect;
    CGContextRef context=UIGraphicsGetCurrentContext();
    imageRect.size = CGSizeMake(CELL_SIZE, CELL_SIZE);
    
    int i, j;
    
    for (i=0; i<9; i++) {
        for (j=0; j<9; j++) {
            imageRect.origin = CGPointMake(CELL_SIZE*j, CELL_SIZE*i);
            CGContextDrawImage(context, imageRect, image[0]);
            if (cells[i][j]) {
                CGContextDrawImage(context, imageRect, image[cells[i][j]]);
            }
        }
    }
}
- (void) getImageForGame: (int) i {
    NSString *filename = [[NSString alloc] initWithFormat:@"%d.png", i];
    NSString *imagePath = [[NSBundle mainBundle] pathForResource:filename ofType:nil];
    UIImage *img = [UIImage imageWithContentsOfFile:imagePath];
    image[i]=CGImageRetain(img.CGImage);
}

    CGImageRef image[8];

    int cells[9][9];

 image[0] это картинка пустой ячейки

Прикреплённые изображения:

  • 0.png

  • 0

#110
fibe

fibe
  • В доску свой
  • 2 405 сообщений

 

 

Lines (Color Lines, в народе Шарики) — логическая компьютерная игра, изобретённая Олегом Дёминым, Геннадием Денисовым и Игорем Ивкиным и разработанная российской компанией Gamos в1992 году.

В классической игре на экране показано квадратное поле 9×9 клеток, в случайные клетки на котором программа выставляет три шарика разных цветов. Всего 7 возможных цветов. За один ход игрок может передвинуть один шарик, выделив его и указав его новое местоположение. Для совершения хода необходимо, чтобы между начальной и конечной клетками существовал путь из свободных клеток. Цель игры состоит в удалении максимального количества шариков, которые исчезают при выстраивании шариков одного цвета по пять и более в ряд (по горизонтали, вертикали или диагонали). При исчезновении ряда шариков новые три шарика не выставляются. В остальных случая каждый ход выставляются новые три шарика. Игрок может видеть заранее три шарика, которые появятся в следующем ходу.

Color_Lines_screenshot_scaled_640_480.pn

 

 

 

 

Я не программист, я только учусь. И мне пришла в голову мысль, а что если написать эту игру для iPad? Кстати, если в App Store задать поиск по слову "Lines", то найдется не один десяток различных реализаций этой игры. Например Цветные линии. Зачем еще одна? Решая задачи, связанные с реализацией этой игры, я научусь языку программирования Object C, освою работу в Xcode, пройду путь от идеи до размещения в App Store. Размещая этапы создания приложения на сайте, я возможно найду желающих поучаствовать в этом процессе, советами, обсуждениями, либо просто извлекут из этого материала пользу для себя. 

Для тех кому интересно приглашаю на свою страничку


  • 0

#111
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Уроки по программированию для iOS:

 

Переход с Xcode 4.1 на 4.2

Основы программирования

Установка Xcode и iPhone SDK

Введение в Objective-C

Функции

Что такое NSLog() и с чем его едят?

Компиляция и Запуск программ

Отладка (Debugging)

Условный оператор

Циклы

Концепция Objective-C

Более подробно о классах

Указатели

NSString (строки)

NSMutableString (изменяемые строки)

NSArray (массивы)

NSMutableArray (изменяемые массивы)

NSDictionary (словари)

NSMutableDictionary (изменяемые словари)

NSRange (диапазоны)

NSUserDefaults (хранение данных)

Дата (NSDate)

Указатели продолжение

Интерфейс класса

Источники информации (поиск методов)

Управление памятью (Memory management) (Xcode 4.1)

Свойства и методы доступа (Xcode 4.1)

Automatic Reference Counting (ARC) (Xcode 4.2 и выше)

Категории

Знакомство с GUI

Чистка кода (#define, Refactor)
Добавляем в проект Framework

Полезные сочетания клавиш в Xcode (Шорткаты)

Что еще нужно знать

 

Создание первого приложения Hello world

Отображаем настройки программы в меню Settings

 

Видеоуроки

Xcode 4.3

Как использовать Ad Hoc

Настройка apple developer account

Публикация приложения в AppStore

 

Для опытных
Делегирование

Наследование

Синглтон (Singleton)

Таймер (NSTimer)

Блоки

Ортогональное программирование

Прототипы в программировании

Оценка

Распознавание взломанных приложений (Anti-Piracy)

Потоки

Литералы

 

Касания и все, что с ними связано

Обработка касаний

Распознавание жестов

 

Функции устройства (Device API)

Определение координат (CoreLocation)

Адресная книга

Акселерометр (UIAccelerometer)

Отправка Email с приложения

Работа с камерой (CameraRoll)


Работа со шрифтами
Добавление в приложение своих шрифтов

Таблицы UITableView

Самая простая таблица (UITableView)

Сегментированная таблица (Grouped UITableView)

Более подробно о таблицах

Более подробно о ячейках

Редактирование таблиц

Нарядная табличка (Custom Table)

Свои ячейки (custom cell)

Добавляем таблицу на View

Подсчет высоты ячейки

UISearchDisplayController

Индексированная таблица

Раскрывающаяся таблица

 

ScrollView

Знакомство с ScrollView


Выборщик UIPickerView

Знакомство с PickerView

Выборщик даты (UIDatePicker)

 

UINavigationController

Контроллер навигаций (UINavigationController)

Изменение анимации перехода у NavigationController

Top Bar
Bottom Bar
Меняем стиль NavigationController
Более детально о навигации
Добавляем UINavigationController в существующий проект

 

UITabBarController

UITabBarController

 

UIWebView

Создание собственного браузера

Методы делегата WebView

Связь Objective-C и JavaScript

 

Простые примеры работы с интерфейсом

Универсальное приложение (Universal App)

Закругление углов у UIView

Уведомления (сообщения)

Выпадающее меню (UIActionSheet)

Переключатель (UISwitch)

UISlider

UIProgressView

UISegmentedControls

Делегирование в интерфейсе

Выпадающее меню с пикером (UNActionPicker)

 

Анимация

Анимация UIImageView

Промежуточная анимация в iOS

Анимация перехода


Сообщение отредактировал fibe: 13.09.2013, 06:29:12

  • 0

#112
kasse

kasse
  • Завсегдатай
  • 228 сообщений

Посоветуйте видео-туториалы по Objective-C и xCode для новичков пожалуйста


  • 0

#113
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Их на самом деле много, если задать поиск в youtube по словам tutorial, xcode, программирование ios и т.п.

 

К примеру на русском языке натолкнулся сегодня на серию видео-руководств, но... мягко говоря... нудно и слишком растянуто... 

 

Если знаете английский то лучше послушайте 

iPad and iPhone Application Development (HD)

от Paul Hegarty

tns.lljeexxn.170x170-75.jpg


Сообщение отредактировал fibe: 17.09.2013, 22:48:22

  • 1

#114
kasse

kasse
  • Завсегдатай
  • 228 сообщений

Благодарю!


  • 0

#115
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Хочешь быть iOS разработчиком? Будь им!

(взято с Хабрахабра)

 

Глава 1. Начало.
Все началось с того, что я, и еще несколько ребят выбрали в качестве учебного проекта разработку приложения под Ipad. В процессе поиска было найдено руководство от Apple, в котором компания подробно расписала основные положения и особенности разработки под свои платформы. 
В качестве языка был выбран Objective-C. Вначале Objective-C вызвал небольшое удивление, но распробовав, он пришелся по вкусу:



Xcode также выглядел угрожающе. Но эти видеоуроки помогли в нем освоиться и разобраться.
Глава 2. Основы.



Глава 3. Базы данных.


Глава 4. Работа со звуком: приготовьтесь, будет громко!



Глава 5. Анимация: делаем это красиво.


Глава 6. Работа с сетью



Глава 7. Кастомизация элементов.




Глава 8. Тестирование: делаем качественный продукт.


Глава 9. Локализация: готовимся к завоеванию мира.


Глава 10. Для дизайнеров.


Глава 11. In-App Purchases: монетизация, монетизация, монетизация!


Глава 12. Разное.



И отдельно стоит упомянуть:


  • 0

#116
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Обучение начинающих - дело рук самих начинающих

Проект переехал на другой сайт и сейчас полностью переделывается под Xcode 5. Буду рад видеть вас среди участников


  • 0

#117
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Готово:

Всем, кому интересно поучаствовать в проекте - будем рады


Сообщение отредактировал fibe: 01.10.2013, 06:44:48

  • 0

#118
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Желающие принять участие в тестировании приложения присылайте индетификатор устройсва на ilines@ifamily.kz, я вышлю профайл и ссылку на бета версию


  • 0

#119
ТатлиК

ТатлиК
  • В доску свой
  • 1 792 сообщений

Наконец приобрел себе простенький MacBook

И могу начать потихоньку начать разбираться с программированием созданием приложений и веб сайтов в xcode.

 

Смотрю Вы здесь уже уйму полезной информации накидали, экий Вы фанат apple


Сообщение отредактировал ТатлиК: 14.11.2013, 03:08:57

  • 0

#120
fibe

fibe
  • В доску свой
  • 2 405 сообщений

Наконец приобрел себе простенький MacBook
Поздравляю! 

 

Основы работы на Мак: http://www.apple.com...port/macbasics/
Практическое пособие (там же и видеоруководства): http://www.apple.com...indouthow/mac/ 

  • 0


Количество пользователей, читающих эту тему: 0

пользователей: 0, неизвестных прохожих: 0, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.