#import "c4delegate.h" #import "c4view.h" #import "c4model.h" @implementation Connect4Delegate -(void) applicationWillFinishLaunching:(NSNotification*) not { NSMenu* menu = [[[NSMenu alloc] init] autorelease]; [menu addItemWithTitle:@"Play Black" action:@selector(startBlack:) keyEquivalent: @"b"]; [menu addItemWithTitle:@"Play Red" action:@selector(startRed:) keyEquivalent: @"r"]; [menu addItemWithTitle:@"Quit" action:@selector(terminate:) keyEquivalent: @"q"]; [NSApp setMainMenu:menu]; } -(void) startBlack:(id)sender { NSWindow* win = [[NSWindow alloc] initWithContentRect:NSMakeRect(100, 100, 400, 400) styleMask: (NSTitledWindowMask | NSMiniaturizableWindowMask | NSClosableWindowMask | NSResizableWindowMask) backing: NSBackingStoreBuffered defer: NO]; Connect4Model* model = [[Connect4Model alloc] init]; [win setTitle:@"Connect 4"]; [win makeKeyAndOrderFront:nil]; [win setContentView: [[Connect4View alloc] initWithModel:model withHuman:0]]; [model release]; } -(void) startRed:(id)sender { NSWindow* win = [[NSWindow alloc] initWithContentRect:NSMakeRect(100, 100, 400, 400) styleMask: (NSTitledWindowMask | NSMiniaturizableWindowMask | NSClosableWindowMask | NSResizableWindowMask) backing: NSBackingStoreBuffered defer: NO]; Connect4Model* model = [[Connect4Model alloc] init]; [win setTitle:@"Connect 4"]; [win makeKeyAndOrderFront:nil]; [win setContentView: [[Connect4View alloc] initWithModel:model withHuman:1]]; [model release]; } @end