// // PolygonShape.m // Assignment1 // // Created by Thijs Scheepers on 30-06-09. // Copyright 2009 Web6.nl Diensten. All rights reserved. // #import "PolygonShape.h" @implementation PolygonShape @synthesize numberOfSides, minimumNumberofSides, maximumNumberOfSides; - (id)initWithNumberOfSides:(int)sides minimumNumberOfSides:(int)min maximumNumberOfSides:(int)max { self = [super init]; numberOfSides = sides; if (min > 2) { minimumNumberofSides = min; } else { minimumNumberofSides = 3; } if (max < 13) { maximumNumberOfSides = max; } else { maximumNumberOfSides = 12; } return self; } -(id)init{ self = [super init]; numberOfSides = 5; minimumNumberofSides = 3; maximumNumberOfSides = 10; return self; } -(float)angleInDegrees { return (180 * (numberOfSides - 2) / numberOfSides); } -(float)angleInRadians { float value = [self angleInDegrees]; return ( (value * 3.14159265) / 180); } -(NSString*)name { NSArray *values = [NSArray arrayWithObjects: @"Triangle", @"Square", @"Pentagon", @"Hexagon", @"Heptagon", @"Octagon", @"Enneagon", @"Decagon", @"Hendecagon", @"Dodecagon", nil]; NSString * name; if(name = [values objectAtIndex:(numberOfSides - 3)]) { return name; } else { return @"error"; } } -(void)description { NSString* name = [self name]; float degrees = [self angleInDegrees]; float radians = [self angleInRadians]; NSString * description = [NSString stringWithFormat:@"Hello I am a %i sided polygon (aka a %@) with angles of %1.0f degrees ( %1.4f radians).", numberOfSides , name , degrees , radians]; //NSString * description = [NSString stringWithFormat:@"Hello I am a %@", name]; NSLog(description); } -(void)dealloc { NSString* name = [self name]; NSLog(@"%@ is deallocated",name); [super dealloc]; } @end