3 * Copyright (c) 2007-2008, Blue Static <http://www.bluestatic.org>
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6 * General Public License as published by the Free Software Foundation; either version 2 of the
7 * License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
10 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
13 * You should have received a copy of the GNU General Public License along with this program; if not,
14 * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 @interface Word (Private
)
20 - (void)createAlphagram
;
27 * Creates a new word object
29 - (id)initWithWord
:(NSString
*)aWord
31 if (self = [super init
])
33 word
= [aWord retain
];
34 [self createAlphagram
];
58 * Gets the length of the word
66 * Returns the alphagram
68 - (NSString
*)alphagram
74 * Generates the alphagram for the word
76 - (void)createAlphagram
78 char *str
= (char *)[word UTF8String
];
81 for (int i
= 1; i
< [word length
]; i
++)
84 for (j
= i
; j
> 0 && temp
< str
[j
- 1]; j
--)
91 alphagram
= [[NSString stringWithUTF8String
:str
] retain
];
97 - (NSString
*)description
99 return [NSString stringWithFormat
:@
"<Word:%@/%@>", word
, alphagram
];