#import <Foundation/Foundation.h>
#import "NSDictionary+ReadFile.h"
#import "Cloth.h"
#import "Weapon.h"
#import "Skill.h"
#import "Hero.h"
#import "Monster.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSDictionary *allData = [NSDictionary readFileWithName:@"GameData"];
#pragma mark ------衣服----
NSMutableArray *clothList = [NSMutableArray array];
NSArray *cloths = allData[@"clothes"];
for (int i=0; i<cloths.count; i++) {
NSDictionary *clothDic = cloths[i];
Cloth *cloth = [[Cloth alloc]initWithName:clothDic[@"name"] andDef:[clothDic[@"def"] intValue]];
[clothList addObject:cloth];
}
NSLog(@"%@ %d",[clothList[0] name],[clothList[0] def]);
#pragma mark ------武器----
NSMutableArray *weaponList = [NSMutableArray array];
NSArray *weapons = allData[@"weapon"];
for (int i=0; i<weapons.count; i++) {
NSDictionary *weaponDic = weapons[i];
Weapon *weapon = [[Weapon alloc]initWithName:weaponDic[@"name"] andAtt:[weaponDic[@"att"] intValue]];
[weaponList addObject:weapon];
}
NSLog(@"%@ %d",[weaponList[0] name],[weaponList[0] att]);
#pragma mark ------英雄技能--
NSMutableArray *HeroSkillList = [NSMutableArray array];
NSArray *hSkills = allData[@"heroSkill"];
for (int i=0; i<hSkills.count; i++) {
NSDictionary *hSkillDic = hSkills[i];
Skill *heroSkill = [[Skill alloc]initWithName:hSkillDic[@"name"] andPower:[hSkillDic[@"att"] intValue]];
[HeroSkillList addObject:heroSkill];
}
#pragma mark -----怪物技能---
NSMutableArray *MonsterSkillList = [NSMutableArray array];
NSArray *mSkills = allData[@"monsterSkill"];
for (int i=0; i<mSkills.count; i++) {
NSDictionary *mSkillDic = mSkills[i];
Skill *monsterSkill = [[Skill alloc]initWithName:mSkillDic[@"name"] andPower:[mSkillDic[@"att"] intValue]];
[MonsterSkillList addObject:monsterSkill];
}
#pragma mark ------英雄-----
NSMutableArray *heroList = [NSMutableArray array];
NSArray *heros = allData[@"hero"];
for (int i=0; i<heros.count; i++) {
NSDictionary *heroDic = heros[i];
Hero *hero = [[Hero alloc]initWithName:heroDic[@"name"] andBlood:[heroDic[@"blood"] intValue] andAtt:[heroDic[@"att"]intValue] andDef:[heroDic[@"def"] intValue] andSkill:HeroSkillList[0] andWeapon:weaponList[0] andCloth:clothList[0]];
[heroList addObject:hero];
}
#pragma mark -----怪物----
NSMutableArray *monsterList = [NSMutableArray array];
NSArray *monsters = allData[@"monster"];
for (NSDictionary *monsterDic in monsters) {
Monster *monster = [[Monster alloc]initWithName:monsterDic[@"name"] andBlood: [monsterDic[@"blood"]intValue] andAtt:[monsterDic[@"att"]intValue] andDef:[monsterDic[@"def"]intValue] andSkill:MonsterSkillList[0]];
[monsterList addObject:monster];
}
NSLog(@"%@ %d",[monsterList[0]name],[monsterList[0]att]);
}
return 0;
}
#import <Foundation/Foundation.h>
@class Skill;
@interface Monster : NSObject
@property NSString *name;
@property int blood;
@property int att;
@property int def;
@property Skill *monsterSkill;
- (instancetype)initWithName:(NSString *)name andBlood:(int)blood andAtt:(int)att andDef:(int)def andSkill:(Skill *)monsterSkill;
@end
#import "Monster.h"
#import "Skill.h"
@implementation Monster
- (instancetype)initWithName:(NSString *)name andBlood:(int)blood andAtt:(int)att andDef:(int)def andSkill:(Skill *)monsterSkill
{
self = [super init];
if (self) {
_name = name;
_blood = blood;
_att = att;
_def = def;
_monsterSkill = monsterSkill;
}
return self;
}
@end
#import <Foundation/Foundation.h>
@class Skill;
@class Weapon;
@class Cloth;
@interface Hero : NSObject
@property NSString *name;
@property int blood;
@property int att;
@property int def;
@property Skill *heroSkill;
@property Weapon *heroWeapon;
@property Cloth *heroCloth;
- (instancetype)initWithName:(NSString *)name andBlood:(int)blood andAtt:(int)att andDef:(int)def andSkill:(Skill *)heroSkill andWeapon:(Weapon *)heroWeapon andCloth:(Cloth *)heroCloth;
@end
#import "Hero.h"
#import "Skill.h"
#import "Weapon.h"
#import "Cloth.h"
@implementation Hero
- (instancetype)initWithName:(NSString *)name andBlood:(int)blood andAtt:(int)att andDef:(int)def andSkill:(Skill *)heroSkill andWeapon:(Weapon *)heroWeapon andCloth:(Cloth *)heroCloth
{
self = [super init];
if (self) {
_name = name;
_blood = blood;
_att = att;
_def = def;
_heroSkill = heroSkill;
_heroCloth = heroCloth;
_heroWeapon = heroWeapon;
}
return self;
}
@end
#import <Foundation/Foundation.h>
@interface Skill : NSObject
@property NSString *name;
@property int att;
- (instancetype)initWithName:(NSString *)name andPower:(int)att;
@end
#import "Skill.h"
@implementation Skill
- (instancetype)initWithName:(NSString *)name andPower:(int)att
{
self = [super init];
if (self) {
_name = name;
_att = att;
}
return self;
}
@end
#import <Foundation/Foundation.h>
@interface Weapon : NSObject
@property NSString *name;
@property int att;
- (instancetype)initWithName:(NSString *)name andAtt:(int)att;
@end
#import "Weapon.h"
@implementation Weapon
- (instancetype)initWithName:(NSString *)name andAtt:(int)att
{
self = [super init];
if (self) {
_name = name;
_att = att;
}
return self;
}
@end
#import <Foundation/Foundation.h>
@interface Cloth : NSObject
@property NSString *name;
@property int def;
- (instancetype)initWithName:(NSString *)name andDef:(int)def;
@end
#import "Cloth.h"
@implementation Cloth
- (instancetype)initWithName:(NSString *)name andDef:(int)def
{
self = [super init];
if (self) {
_name = name;
_def = def;
}
return self;
}
@end
#import <Foundation/Foundation.h>
@interface NSDictionary (ReadFile)
+ (NSDictionary *)readFileWithName:(NSString *)name;
@end
#import "NSDictionary+ReadFile.h"
@implementation NSDictionary (ReadFile)
+ (NSDictionary *)readFileWithName:(NSString *)name
{
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"/Desktop/%@.plist",name]];
return [NSDictionary dictionaryWithContentsOfFile:path];
}
@end