Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #import "Utils.h"
00011
00012 @implementation Utils
00013
00021 +(int)generateRandomNumberFrom:(int)_min to:(int)_max
00022 {
00023 return (CCRANDOM_0_1() * (_max - _min) + _min);
00024 }
00025
00031 +(NSString*)getTimeStampWithFormat:(NSString*)_format
00032 {
00033
00034 NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
00035 [dateFormatter setDateFormat:_format];
00036
00037
00038 NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
00039 [dateFormatter release];
00040
00041 return dateString;
00042 }
00043
00051 +(UIColor*)getUIColourFromRed:(int)_red green:(int)_green blue:(int)_blue
00052 {
00053 return [UIColor colorWithRed:(float)_red/255.0 green:(float)_green/255.0 blue:(float)_blue/255.0 alpha:1.0];
00054 }
00055
00061 +(NSString*)secondsToMinutes:(int)_seconds
00062 {
00063 int quotient = floor(_seconds/60);
00064 int remainder = fmod(_seconds, 60);
00065
00066 NSString* quotientString = (quotient < 10) ? [NSString stringWithFormat:@"0%i", quotient] : [NSString stringWithFormat:@"%i", quotient];
00067 NSString* remainderString = (remainder < 10) ? [NSString stringWithFormat:@"0%i", remainder] : [NSString stringWithFormat:@"%i", remainder];
00068
00069 return [NSString stringWithFormat:@"%@:%@", quotientString, remainderString];
00070 }
00071
00076 +(NSDictionary*)loadPlistFromFile:(NSString*)_filename
00077 {
00078 NSString *plistPath;
00079
00080
00081 NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
00082 plistPath = [rootPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%.plist", _filename]];
00083 if(![[NSFileManager defaultManager] fileExistsAtPath:plistPath]) plistPath = [[NSBundle mainBundle] pathForResource:_filename ofType:@"plist"];
00084
00085
00086 NSDictionary *plistDictionary = [NSDictionary dictionaryWithContentsOfFile:plistPath];
00087 return plistDictionary;
00088 }
00089
00094 +(void)listAvailableFonts
00095 {
00096 NSMutableArray *fontNames = [[NSMutableArray alloc] init];
00097 NSArray *fontFamilyNames = [UIFont familyNames];
00098
00099 for (NSString *familyName in fontFamilyNames)
00100 {
00101 NSArray *names = [UIFont fontNamesForFamilyName:familyName];
00102 [fontNames addObjectsFromArray:names];
00103 }
00104
00105 [fontNames sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
00106 NSLog(@"%@", fontNames);
00107 [fontNames release];
00108 }
00109
00115 +(NSString*)getActionAsString:(Action)_action
00116 {
00117 NSString* action = nil;
00118
00119 switch (_action)
00120 {
00121 case kActionLeft:
00122 action = @"Left";
00123 break;
00124
00125 case kActionLeftHelmet:
00126 action = @"Left (helmet)";
00127 break;
00128
00129 case kActionRight:
00130 action = @"Right";
00131 break;
00132
00133 case kActionRightHelmet:
00134 action = @"Right (helmet)";
00135 break;
00136
00137 case kActionDown:
00138 action = @"Down";
00139 break;
00140
00141 case kActionDownUmbrella:
00142 action = @"Down (umbrella)";
00143 break;
00144
00145 case kActionEquipUmbrella:
00146 action = @"Equip umbrella";
00147 break;
00148
00149 default:
00150 action = [NSString stringWithFormat:@"unknown Action: %i", _action];
00151 break;
00152 }
00153
00154 return action;
00155
00156 }
00157
00163 +(NSString*)getBooleanAsString:(BOOL)_bool
00164 {
00165 return (_bool) ? @"YES" : @"NO";
00166 }
00167
00173 +(NSString*)getDifficultyAsString:(Difficulty)_difficulty
00174 {
00175 NSString* difficulty = nil;
00176
00177 switch(_difficulty)
00178 {
00179 case kDifficultyEasy:
00180 difficulty = @"Easy";
00181 break;
00182
00183 case kDifficultyNormal:
00184 difficulty = @"Normal";
00185 break;
00186
00187 case kDifficultyHard:
00188 difficulty = @"Hard";
00189 break;
00190
00191 default:
00192 difficulty = [NSString stringWithFormat:@"unknown Difficulty: %i", _difficulty];
00193 break;
00194 }
00195
00196 return difficulty;
00197 }
00198
00204 +(NSString*)getLearningTypeAsString:(MachineLearningType)_learningType
00205 {
00206 NSString* learningType = nil;
00207
00208 switch (_learningType)
00209 {
00210 case kLearningMixed:
00211 learningType = @"Mixed";
00212 break;
00213
00214 case kLearningReinforcement:
00215 learningType = @"Reinforcement";
00216 break;
00217
00218 case kLearningTree:
00219 learningType = @"Decision Tree";
00220 break;
00221
00222 case kLearningShortestRoute:
00223 learningType = @"Shortest Route";
00224 break;
00225
00226 case kLearningNone:
00227 learningType = @"None";
00228 break;
00229
00230 default:
00231 learningType = @"unknown MachineLearningType";
00232 break;
00233 }
00234
00235 return learningType;
00236
00237 }
00238
00244 +(NSString*)getObjectAsString:(GameObjectType)_object
00245 {
00246 NSString* object = nil;
00247
00248 switch (_object)
00249 {
00250 case kObjectTypeNone:
00251 object = @"None";
00252 break;
00253
00254 case kObjectExit:
00255 object = @"Exit";
00256 break;
00257
00258 case kObjectTrapdoor:
00259 object = @"Trapdoor";
00260 break;
00261
00262 case kObjectTerrain:
00263 object = @"Terrain";
00264 break;
00265
00266 case kObjectTerrainEnd:
00267 object = @"Terrain End";
00268 break;
00269
00270 case kObstaclePit:
00271 object = @"Pit";
00272 break;
00273
00274 case kObstacleCage:
00275 object = @"Cage";
00276 break;
00277
00278 case kObstacleWater:
00279 object = @"Water";
00280 break;
00281
00282 case kObstacleStamper:
00283 object = @"Stamper";
00284 break;
00285
00286 default:
00287 object = @"Unknown GameObject";
00288 break;
00289 }
00290
00291 return object;
00292 }
00293
00299 +(NSString*)getRatingAsString:(GameRating)_rating
00300 {
00301 NSString* rating = nil;
00302
00303 switch (_rating)
00304 {
00305 case kRatingA:
00306 rating = @"A";
00307 break;
00308
00309 case kRatingB:
00310 rating = @"B";
00311 break;
00312
00313 case kRatingC:
00314 rating = @"C";
00315 break;
00316
00317 case kRatingD:
00318 rating = @"D";
00319 break;
00320
00321 case kRatingF:
00322 rating = @"F";
00323 break;
00324
00325 default:
00326 rating = @"Unknown GameRating";
00327 break;
00328 }
00329
00330 return rating;
00331 }
00332
00338 +(NSString*)getStateAsString:(CharacterStates)_state
00339 {
00340 NSString* state = nil;
00341
00342 switch (_state)
00343 {
00344 case kStateSpawning:
00345 state = @"Spawning";
00346 break;
00347
00348 case kStateFalling:
00349 state = @"Falling";
00350 break;
00351
00352 case kStateIdle:
00353 state = @"Idle";
00354 break;
00355
00356 case kStateWalking:
00357 state = @"Walking";
00358 break;
00359
00360 case kStateFloating:
00361 state = @"Floating";
00362 break;
00363
00364 case kStateDead:
00365 state = @"Dead";
00366 break;
00367
00368 case kStateWin:
00369 state = @"CHARLIE SHEEN";
00370 break;
00371
00372 default:
00373 state = @"unknown CharacterState";
00374 break;
00375 }
00376
00377 return state;
00378 }
00379
00380 @end