среда, 21 августа 2013 г.

Алэйна - принцесса с острова Капри

Автор: Ricky Java
Язык: русский
Кол-во: 5шт
Разрешение: 1000 × 1000
Скачать: Алэйна - принцесса с острова Капри.zip

История: Алэйна. Принцесса Капри, юное создание, неописуемой красоты, почитаемая у себя на острове,за добросердечие и кроткий норов. Но сегодня, Алэйна в прескверном настроении, ибо проснувшись по утру, она обнаружила, что из спальни пропало ее нижнее белье...

Весь день, Алэйна, повсюду, искала пропажу, но все без толку. Пока, в конце концов, не сообразила, позвать стражников. Принцесса подробно описала им пропавшее нижнее белье, пообещав любую награду за его возвращение. Меж тем, солнце село, а исчезнувшие детали ее туалета не находились.

Эмили, не стоит отчаиваться

Домохозяйка
Автор: Ricky Java
Язык: русский
Кол-во: 5шт
Разрешение: 1000 × 1000
Скачать: Эмили, не стоит отчаиваться.zip

История: Эмили в дурном настроении. Ее обнова, сшитый на заказ бюстгальтер, стоившей ей 350 долларов ужасно жмет, к тому же, она только что рассталась со своим парнем, решившимся приударить за ее близкой подругой, Натали. Естественно, Эмили не в восторге от предательства любимого человека.

Но то ли еще будет....

Финалистки



Автор: Ricky Java
Язык: русский
Кол-во: 5шт
Разрешение: 1000 × 1000
Скачать: Финалистки.zip

История: Корделия, Джейд и Мара, финалисты конкурса Мисс Обнаженная Аквилонии, готовы, окунуться в священные воды Фонтана Тибора. Омовение - неизменный ритуал, перед заключительным туром и награждением победительниц.

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

воскресенье, 14 июля 2013 г.

Objective-C: NSViewController - простой пример управления слоями или видами (views)

Xcode: Version 4.6.3

Для начала создадим новый проект в xcode, с названием Example. Сразу добавим в него два класса  NSViewController (File - New - File → Objective-C class) с именами:
FirstViewController и SecondViewController каждый с собственными xib-ами, галочка «With XIB for user interfasce» соответственно должна быть поставлена.


В SecondViewController.xib и FirstViewController.xib на  слой (Custom View) добавляем кнопку и текстовое поле, для визуализации. Должно получиться конструкция показанная на скриншоте ниже. В MainMenu.xib две кнопки и новый слой 0, а уже на него текстовое поле.

 

В MainMenu.xib из правой колонки перетащим два контролера типа «ViewController».


Созданные контролеры привяжем к конкретным классам:


После подготовительной работы опишем наши будущие действия. Так по кнопке 1 показываем слой 1 *(скрывая слой 2), по кнопке 2 показываем слой 2 *(скрывая при этом слой 1).

AppDelegate.h

#import <Cocoa/Cocoa.h>
@class FirstViewController;
@class SecondViewController;


@interface AppDelegate : NSObject <NSApplicationDelegate>

@property (assign) IBOutlet NSWindow *window;
@property (weak) IBOutlet NSView *view0;
@property (unsafe_unretained) IBOutlet FirstViewController *firstViewController;
@property (unsafe_unretained) IBOutlet SecondViewController *secondViewController;

- (IBAction)button1:(id)sender;
- (IBAction)button2:(id)sender;

@end

AppDelegate.m

#import "AppDelegate.h"
#import "FirstViewController.h"
#import "SecondViewController.h"

@implementation AppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    // Insert code here to initialize your application
}

- (IBAction)button1:(id)sender {
   
    NSLog(@"Кнопка 1 нажата");   
    [[_secondViewController view]removeFromSuperview];
    [_view0 addSubview:[_firstViewController view]];
    [[_firstViewController view] setFrame:[_view0 bounds]];

}

- (IBAction)button2:(id)sender {
   
    NSLog(@"Кнопка 2 нажата");
    [[_firstViewController view]removeFromSuperview];
    [_view0 addSubview:[_secondViewController view]];
    [[_secondViewController view] setFrame:[_view0 bounds]];

}

@end

Усложним задачу по клику кнопки слоя First скрыть слой First и показать слой Second, а по клику кнопки слоя Second скрыть слой Second и показать слой First. По сути зеркальные действия.

FirstViewController.h

#import <Cocoa/Cocoa.h>
@class SecondViewController;

@interface FirstViewController : NSViewController
@property (weak) IBOutlet NSView *view0;
@property (strong) IBOutlet NSView *firstView;
@property (unsafe_unretained) IBOutlet SecondViewController *secondViewController;

- (IBAction)buttonFirst:(id)sender;

@end

FirstViewController.m

#import "FirstViewController.h"
#import "SecondViewController.h"

@interface FirstViewController ()

@end

@implementation FirstViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Initialization code here.
    }
   
    return self;
}

- (IBAction)buttonFirst:(id)sender {
   
    NSLog(@"Кнопка buttonFirst нажата");
    [_firstView removeFromSuperview];
    [[_secondViewController view] removeFromSuperview];
    [_view0 addSubview:[_secondViewController view]];
    [[_secondViewController view] setFrame:[_view0 bounds]];
   
}

@end

SecondViewController.h

#import <Cocoa/Cocoa.h>
@class FirstViewController;

@interface SecondViewController : NSViewController

@property (weak) IBOutlet NSView *view0;
@property (strong) IBOutlet NSView *secondView;
@property (unsafe_unretained) IBOutlet FirstViewController *firstViewController;


- (IBAction)buttonSecond:(id)sender;

@end

SecondViewController.m

#import "SecondViewController.h"
#import "FirstViewController.h"

@interface SecondViewController ()

@end

@implementation SecondViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Initialization code here.
    }
   
    return self;
}

- (IBAction)buttonSecond:(id)sender {
   
    NSLog(@"Кнопка buttonSecond нажата");
    [_secondView removeFromSuperview];
    [[_firstViewController view] removeFromSuperview];
    [_view0 addSubview:[_firstViewController view]];
    [[_firstViewController view] setFrame:[_view0 bounds]];}

@end

понедельник, 24 июня 2013 г.

Objective-C: Генерация случайного числа

Xcode: Version 4.6.3

Допустим нам надо получить случайное число в каком-то диапазоне положительных чисел, к примеру любое случайное число от 0 до 1, воспользуемся решением ниже:

// Метод генерации случайных чисел от начального положительного значения до конечного положительного значения
// Начальное положительного значение и конечное положительное значение входят в этот диапазон
- (NSUInteger) generate: (unsigned long) initialValue generate: (unsigned long) finalValue {
  
    // Возвращаем генерированное число
    return initialValue + (arc4random() % finalValue);
  

Проверка:

int a = 0, b = 1;

long v = [self generate:a generate: (b - a) + 1];

NSLog(@"Случайное число от %d до %d = %lu", a, b, v);

Objective-C: Женская русская фамилия из мужской

Xcode: Version 4.6.3 

Преобразование женской фамилии из мужской, подразумевает замену окончаний в слове. То есть действуют простые правила, если мужская фамилия заканчивается на -ов, -ев, -ин, -ёв то в конце добавляется -а. Если окончание на -ий, -ый, -ой добавляется -ая. Все остальные фамилии остаются как есть.

Набросаем метод:

// Метод преобразования русской женской фамилии из мужской русской фамилии
// От мужских русских фамилий на -ов, -ев, -ин, -ёв добавляется -а
// От мужских русских фамилий на -ий, -ый, -ой добавляется -ая
// Остальные остаются как есть
- (NSString*) conversionHumanWomanFamilyRu: (NSString*) humanManFamilyRu {
   
    // Забираем от строки(мужской фамилии) два последних символа
  NSString *endTwoCharactersHumanManFamilyRu = [humanManFamilyRu substringFromIndex:([humanManFamilyRu length] - 2)];
   
    //NSLog(@"String:%@, two last character of the string:%@, string length:%lu", humanManFamilyRu, endTwoCharactersHumanManFamilyRu, ([humanManFamilyRu length] - 2));
   
    // Сравниваем окончание
    if ( [endTwoCharactersHumanManFamilyRu isEqual: @"ов"] || [endTwoCharactersHumanManFamilyRu isEqual: @"ев"] || [endTwoCharactersHumanManFamilyRu isEqual: @"ёв"] || [endTwoCharactersHumanManFamilyRu isEqual: @"ин"]) {
          
        humanManFamilyRu = [humanManFamilyRu stringByAppendingString:@"а"];
       
        // NSLog(@"%@",humanManFamilyRu);
       
    } else {
       
        if ([endTwoCharactersHumanManFamilyRu isEqual: @"ий"] || [endTwoCharactersHumanManFamilyRu isEqual: @"ый"] || [endTwoCharactersHumanManFamilyRu isEqual: @"ой"]) {
           
            humanManFamilyRu = [humanManFamilyRu stringByReplacingCharactersInRange: NSMakeRange(([humanManFamilyRu length]-2),2) withString:@"ая" ];
           
            // NSLog(@"%@",humanManFamilyRu);
           
        }
       
    }    
    // Возвращаем женскую фамилию
    return humanManFamilyRu;
}

И наконец производим правильность работы метода:

NSString *humanWomanFamilyRu =[self conversionHumanWomanFamilyRu:@"Ангарский"];

NSLog(@"Русская женская фамилия:%@", humanWomanFamilyRu);

пятница, 7 декабря 2012 г.

Наложницы

Автор: Ricky Java
Язык: русский
Кол-во: 5шт
Разрешение: 1000 × 1000
Скачать: Наложницы.zip

История: Каждое утро, согласно заведенному распорядку, наложницы имперского гарема Лотарингии, ожидая прихода принца, устраивали на балконе смотрины. Бесстыже, козыряя своими аппетитными формами, каждая из одалисок в тайне надеялась, что именно ее, сегодня выберут для монарших утех.
актрисаСержена: У Сержены красивый голос и природный дар к музыке. Она искусная флейтистка, ее конек - неистовая и завораживающая игра на двух флейтах разом. К тому же, она очень любит животных, самые свирепые волкодавы из королевской псарни слушаются ее беспрекословно, а королевский жеребец по кличке Тайфун от нее без ума. До поступления на службу к принцу, слыла известной киноактрисой и востребованной моделью глянцевых журналов.
фанаткаРимма: Римма - первая, по размерам, в гареме. Ей восемнадцать лет, она самая молоденькая и амбициозная из рабынь, прекрасно сложена и эрудированна, и ко всему прочему, зажигательно, исполняет восточные танцы. Очень гибкая, принять любую позу, для нее не составляет большого труда. Решив доказать всем, что она больше, чем просто еще одна кукла со смазливым личиком, старается обслужить принца и его гостей, по высшему классу. Для нее нет табу в постели. В гарем, ее, студентку-первокурсницу педагогического, привело страстное влечение к VIP-Персонам и мировым знаменитостям. Теперь, знакомство с сильными мира сего, не только, ее обожаемое хобби, но и любимая работа, одновременно.
путешественница Урсула: Урсула попала в имперский дворец, еще подростком, но быстро освоилась, и вскоре, благодаря своей природной красоте, двум преогромным женским прелестям, кроткому норову и безотказности, стала одной из лучших и любимых наложниц принца. Очень выносливая и неприхотливая в быту, плюс замечательно варит кофе с молоком, на завтрак. Коммуникабельная, обожает быть в центре внимания, любой, пусть даже сугубо мужской компании. В юности, любила путешествовать автостопом, поэтому, знает много языков, обычаев и правил гостеприимства, неукоснительно соблюдаемых в отношении странствующих, в одиночку, молоденьких девушек. Принц, частенько берет ее с собой на всяческие рауты и длительные поездки, в качестве секретаря по связям с общественностью. Незаменима, в решении проблемы оставляемого залога или оплаты долгов принца в зарубежных вояжах.