Commit 8b22f48d by Mobile Roshka

commit terminado

parents
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
BB08D95124101BCC001B8E22 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB08D95024101BCC001B8E22 /* AppDelegate.swift */; };
BB08D95324101BCC001B8E22 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB08D95224101BCC001B8E22 /* SceneDelegate.swift */; };
BB08D95824101BCC001B8E22 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BB08D95624101BCC001B8E22 /* Main.storyboard */; };
BB08D95A24101BD0001B8E22 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BB08D95924101BD0001B8E22 /* Assets.xcassets */; };
BB08D95D24101BD0001B8E22 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BB08D95B24101BD0001B8E22 /* LaunchScreen.storyboard */; };
BB08D96824101BD1001B8E22 /* juegoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB08D96724101BD1001B8E22 /* juegoTests.swift */; };
BB08D97324101BD1001B8E22 /* juegoUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB08D97224101BD1001B8E22 /* juegoUITests.swift */; };
BB08D98124101C32001B8E22 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB08D98024101C32001B8E22 /* HomeViewController.swift */; };
BB08D98324101CFA001B8E22 /* SingleModeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB08D98224101CFA001B8E22 /* SingleModeViewController.swift */; };
BB08D98524101D30001B8E22 /* AdvancedModeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB08D98424101D30001B8E22 /* AdvancedModeViewController.swift */; };
BB08D98724101D5C001B8E22 /* ExpertModeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB08D98624101D5C001B8E22 /* ExpertModeViewController.swift */; };
BBBF41F324111B090056E414 /* FirstView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBBF41F224111B090056E414 /* FirstView.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
BB08D96424101BD1001B8E22 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BB08D94524101BCC001B8E22 /* Project object */;
proxyType = 1;
remoteGlobalIDString = BB08D94C24101BCC001B8E22;
remoteInfo = juego;
};
BB08D96F24101BD1001B8E22 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BB08D94524101BCC001B8E22 /* Project object */;
proxyType = 1;
remoteGlobalIDString = BB08D94C24101BCC001B8E22;
remoteInfo = juego;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
BB08D94D24101BCC001B8E22 /* juego.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = juego.app; sourceTree = BUILT_PRODUCTS_DIR; };
BB08D95024101BCC001B8E22 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
BB08D95224101BCC001B8E22 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
BB08D95724101BCC001B8E22 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
BB08D95924101BD0001B8E22 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
BB08D95C24101BD0001B8E22 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
BB08D95E24101BD0001B8E22 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
BB08D96324101BD1001B8E22 /* juegoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = juegoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
BB08D96724101BD1001B8E22 /* juegoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = juegoTests.swift; sourceTree = "<group>"; };
BB08D96924101BD1001B8E22 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
BB08D96E24101BD1001B8E22 /* juegoUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = juegoUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
BB08D97224101BD1001B8E22 /* juegoUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = juegoUITests.swift; sourceTree = "<group>"; };
BB08D97424101BD1001B8E22 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
BB08D98024101C32001B8E22 /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = "<group>"; };
BB08D98224101CFA001B8E22 /* SingleModeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SingleModeViewController.swift; sourceTree = "<group>"; };
BB08D98424101D30001B8E22 /* AdvancedModeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdvancedModeViewController.swift; sourceTree = "<group>"; };
BB08D98624101D5C001B8E22 /* ExpertModeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExpertModeViewController.swift; sourceTree = "<group>"; };
BBBF41F224111B090056E414 /* FirstView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirstView.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
BB08D94A24101BCC001B8E22 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
BB08D96024101BD1001B8E22 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
BB08D96B24101BD1001B8E22 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
BB08D94424101BCC001B8E22 = {
isa = PBXGroup;
children = (
BB08D94F24101BCC001B8E22 /* juego */,
BB08D96624101BD1001B8E22 /* juegoTests */,
BB08D97124101BD1001B8E22 /* juegoUITests */,
BB08D94E24101BCC001B8E22 /* Products */,
);
sourceTree = "<group>";
};
BB08D94E24101BCC001B8E22 /* Products */ = {
isa = PBXGroup;
children = (
BB08D94D24101BCC001B8E22 /* juego.app */,
BB08D96324101BD1001B8E22 /* juegoTests.xctest */,
BB08D96E24101BD1001B8E22 /* juegoUITests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
BB08D94F24101BCC001B8E22 /* juego */ = {
isa = PBXGroup;
children = (
BB08D95024101BCC001B8E22 /* AppDelegate.swift */,
BB08D95224101BCC001B8E22 /* SceneDelegate.swift */,
BB08D98024101C32001B8E22 /* HomeViewController.swift */,
BB08D95624101BCC001B8E22 /* Main.storyboard */,
BB08D95924101BD0001B8E22 /* Assets.xcassets */,
BB08D95B24101BD0001B8E22 /* LaunchScreen.storyboard */,
BB08D95E24101BD0001B8E22 /* Info.plist */,
BB08D98224101CFA001B8E22 /* SingleModeViewController.swift */,
BB08D98424101D30001B8E22 /* AdvancedModeViewController.swift */,
BB08D98624101D5C001B8E22 /* ExpertModeViewController.swift */,
BBBF41F224111B090056E414 /* FirstView.swift */,
);
path = juego;
sourceTree = "<group>";
};
BB08D96624101BD1001B8E22 /* juegoTests */ = {
isa = PBXGroup;
children = (
BB08D96724101BD1001B8E22 /* juegoTests.swift */,
BB08D96924101BD1001B8E22 /* Info.plist */,
);
path = juegoTests;
sourceTree = "<group>";
};
BB08D97124101BD1001B8E22 /* juegoUITests */ = {
isa = PBXGroup;
children = (
BB08D97224101BD1001B8E22 /* juegoUITests.swift */,
BB08D97424101BD1001B8E22 /* Info.plist */,
);
path = juegoUITests;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
BB08D94C24101BCC001B8E22 /* juego */ = {
isa = PBXNativeTarget;
buildConfigurationList = BB08D97724101BD1001B8E22 /* Build configuration list for PBXNativeTarget "juego" */;
buildPhases = (
BB08D94924101BCC001B8E22 /* Sources */,
BB08D94A24101BCC001B8E22 /* Frameworks */,
BB08D94B24101BCC001B8E22 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = juego;
productName = juego;
productReference = BB08D94D24101BCC001B8E22 /* juego.app */;
productType = "com.apple.product-type.application";
};
BB08D96224101BD1001B8E22 /* juegoTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = BB08D97A24101BD1001B8E22 /* Build configuration list for PBXNativeTarget "juegoTests" */;
buildPhases = (
BB08D95F24101BD1001B8E22 /* Sources */,
BB08D96024101BD1001B8E22 /* Frameworks */,
BB08D96124101BD1001B8E22 /* Resources */,
);
buildRules = (
);
dependencies = (
BB08D96524101BD1001B8E22 /* PBXTargetDependency */,
);
name = juegoTests;
productName = juegoTests;
productReference = BB08D96324101BD1001B8E22 /* juegoTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
BB08D96D24101BD1001B8E22 /* juegoUITests */ = {
isa = PBXNativeTarget;
buildConfigurationList = BB08D97D24101BD1001B8E22 /* Build configuration list for PBXNativeTarget "juegoUITests" */;
buildPhases = (
BB08D96A24101BD1001B8E22 /* Sources */,
BB08D96B24101BD1001B8E22 /* Frameworks */,
BB08D96C24101BD1001B8E22 /* Resources */,
);
buildRules = (
);
dependencies = (
BB08D97024101BD1001B8E22 /* PBXTargetDependency */,
);
name = juegoUITests;
productName = juegoUITests;
productReference = BB08D96E24101BD1001B8E22 /* juegoUITests.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
BB08D94524101BCC001B8E22 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1110;
LastUpgradeCheck = 1110;
ORGANIZATIONNAME = "Mobile Roshka";
TargetAttributes = {
BB08D94C24101BCC001B8E22 = {
CreatedOnToolsVersion = 11.1;
};
BB08D96224101BD1001B8E22 = {
CreatedOnToolsVersion = 11.1;
TestTargetID = BB08D94C24101BCC001B8E22;
};
BB08D96D24101BD1001B8E22 = {
CreatedOnToolsVersion = 11.1;
TestTargetID = BB08D94C24101BCC001B8E22;
};
};
};
buildConfigurationList = BB08D94824101BCC001B8E22 /* Build configuration list for PBXProject "juego" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = BB08D94424101BCC001B8E22;
productRefGroup = BB08D94E24101BCC001B8E22 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
BB08D94C24101BCC001B8E22 /* juego */,
BB08D96224101BD1001B8E22 /* juegoTests */,
BB08D96D24101BD1001B8E22 /* juegoUITests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
BB08D94B24101BCC001B8E22 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
BB08D95D24101BD0001B8E22 /* LaunchScreen.storyboard in Resources */,
BB08D95A24101BD0001B8E22 /* Assets.xcassets in Resources */,
BB08D95824101BCC001B8E22 /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BB08D96124101BD1001B8E22 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
BB08D96C24101BD1001B8E22 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
BB08D94924101BCC001B8E22 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
BB08D95124101BCC001B8E22 /* AppDelegate.swift in Sources */,
BB08D98124101C32001B8E22 /* HomeViewController.swift in Sources */,
BB08D98724101D5C001B8E22 /* ExpertModeViewController.swift in Sources */,
BB08D98524101D30001B8E22 /* AdvancedModeViewController.swift in Sources */,
BB08D98324101CFA001B8E22 /* SingleModeViewController.swift in Sources */,
BB08D95324101BCC001B8E22 /* SceneDelegate.swift in Sources */,
BBBF41F324111B090056E414 /* FirstView.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BB08D95F24101BD1001B8E22 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
BB08D96824101BD1001B8E22 /* juegoTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BB08D96A24101BD1001B8E22 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
BB08D97324101BD1001B8E22 /* juegoUITests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
BB08D96524101BD1001B8E22 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = BB08D94C24101BCC001B8E22 /* juego */;
targetProxy = BB08D96424101BD1001B8E22 /* PBXContainerItemProxy */;
};
BB08D97024101BD1001B8E22 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = BB08D94C24101BCC001B8E22 /* juego */;
targetProxy = BB08D96F24101BD1001B8E22 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
BB08D95624101BCC001B8E22 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
BB08D95724101BCC001B8E22 /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
BB08D95B24101BD0001B8E22 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
BB08D95C24101BD0001B8E22 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
BB08D97524101BD1001B8E22 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.1;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
BB08D97624101BD1001B8E22 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.1;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
BB08D97824101BD1001B8E22 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = juego/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = roshka.juego;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
BB08D97924101BD1001B8E22 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = juego/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = roshka.juego;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
BB08D97B24101BD1001B8E22 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = juegoTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 13.1;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = roshka.juegoTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/juego.app/juego";
};
name = Debug;
};
BB08D97C24101BD1001B8E22 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = juegoTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 13.1;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = roshka.juegoTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/juego.app/juego";
};
name = Release;
};
BB08D97E24101BD1001B8E22 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = juegoUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = roshka.juegoUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = juego;
};
name = Debug;
};
BB08D97F24101BD1001B8E22 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = juegoUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = roshka.juegoUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = juego;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
BB08D94824101BCC001B8E22 /* Build configuration list for PBXProject "juego" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BB08D97524101BD1001B8E22 /* Debug */,
BB08D97624101BD1001B8E22 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BB08D97724101BD1001B8E22 /* Build configuration list for PBXNativeTarget "juego" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BB08D97824101BD1001B8E22 /* Debug */,
BB08D97924101BD1001B8E22 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BB08D97A24101BD1001B8E22 /* Build configuration list for PBXNativeTarget "juegoTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BB08D97B24101BD1001B8E22 /* Debug */,
BB08D97C24101BD1001B8E22 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BB08D97D24101BD1001B8E22 /* Build configuration list for PBXNativeTarget "juegoUITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BB08D97E24101BD1001B8E22 /* Debug */,
BB08D97F24101BD1001B8E22 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = BB08D94524101BCC001B8E22 /* Project object */;
}
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:juego.xcodeproj">
</FileRef>
</Workspace>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
uuid = "EB0D7AB6-6F33-4EDA-B8F6-0628BDA69387"
type = "1"
version = "2.0">
</Bucket>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>juego.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
</dict>
</plist>
//
// advancedMode.swift
// juego
//
// Created by Mobile Roshka on 3/4/20.
// Copyright © 2020 Mobile Roshka. All rights reserved.
//
import UIKit
class AdvancedModeViewController: UIViewController {
/*Se inicializan los valores a ser utilizados, puntaje, si el juego esta en curso, si el tiempo esta en curso, temporizador, contador de intentos y posicion del boton
*/
var points = 0
var initGame = false
var initTimer = false
var timer = Timer()
var timeRest = 0
var countGames = 0
let screenSize :CGRect = UIScreen.main.bounds
let screenWidth = UIScreen.main.bounds.width
let screenHeight = UIScreen.main.bounds.height
var x = 0
var y = 0
var buttonWidth = 86
var buttonHeight = 86
//el puntaje actual del jugador
@IBOutlet weak var pointsLblAM: UILabel!
//el tiempo restante
@IBOutlet weak var timeRestAMLbl: UILabel!
//texto y propiedades del boton jugar (se opaca cuando inicia el juego)
@IBOutlet weak var playGameAMOutlet: UIButton!
@IBOutlet weak var viewOutlet: UIView!
@IBAction func instructions(_ sender: Any) {
showAlertIntructions(message: "Presiona el boton azul la mayor cantidad de veces posibles antes de que se acabe el tiempo ")
}
@IBAction func bestPlayerBtn(_ sender: Any) {
showAlertBestPoint(message: "Mejor puntaje: \nObtenido por")
}
@IBOutlet weak var touchBtnOutlet: UIButton!
//eventos relacionados al inicio del juego
@IBAction func playGameAM(_ sender: Any) {
/*Inicia el juego cuendo se presiona el boton, */
points = 0
initGame = true
initTimer = true
timeRest = 30
timeRestAMLbl.text = "\(timeRest)"
playGameAMOutlet.alpha = 0.5
if initTimer{
points = 0
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(timeRestMethod), userInfo :nil, repeats: true)
}
}
//Método para ir decrementando el tiempo y eventos correspondientes
@objc func timeRestMethod()
{
timeRest -= 1
timeRestAMLbl.text = "\(timeRest)"
//condicion de parada del temporizador y enventos al terminar el juego
if timeRest == 0 {
timer.invalidate()
initGame = false
countGames += 1
showAlertGameOver(message: "Intento \(countGames) \nHas logrado \(points) puntos")
playGameAMOutlet.alpha = 1
pointsLblAM.text = "0"
resetButton()
}
}
//contador de puntos segun cantidad de clicks
@IBAction func touchPlayBtnAM(_ sender: Any) {
if buttonHeight < 30 {
timer.invalidate()
showAlertGameOver(message: "Intento \(countGames) \nHas ganado en \(30 - timeRest) segundos")
playGameAMOutlet.alpha = 1
resetButton()
}
if initGame{
x = Int.random(in: 53..<(Int(screenWidth)-53)
)
y = Int.random(in: 100..<(Int(screenHeight)/2))
touchBtnOutlet.center.x = CGFloat(x)
touchBtnOutlet.center.y = CGFloat(y)
buttonWidth -= 6
buttonHeight -= 6
touchBtnOutlet.frame.size = CGSize(width: CGFloat(buttonWidth), height: CGFloat(buttonHeight))
points += 1
pointsLblAM.text = "\(points)"
}
}
//alerta cuando termina el juego, aparece el numero actual de intentos y el puntaje obtenido
private func showAlertGameOver(message: String){
let alertGameOver = UIAlertController(title: "Juego Terminado", message:message, preferredStyle: .alert)
alertGameOver.addAction(UIAlertAction(title: "Aceptar", style: .default, handler: nil))
present(alertGameOver, animated:true, completion:nil)
}
private func showAlertIntructions(message: String){
let alert = UIAlertController(title: "Instrucciones", message:message, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Aceptar", style: .default, handler: nil))
present(alert, animated:true, completion:nil)
}
private func showAlertBestPoint(message: String){
let alert = UIAlertController(title: "Mejor Puntaje", message:message, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Aceptar", style: .default, handler: nil))
present(alert, animated:true, completion:nil)
}
private func resetButton(){
touchBtnOutlet.center.x = screenWidth/2
touchBtnOutlet.center.y = screenHeight/2
buttonWidth = 86
buttonHeight = 86
touchBtnOutlet.frame.size = CGSize(width: CGFloat(buttonWidth), height: CGFloat(buttonHeight))
}
override func viewDidLoad() {
super.viewDidLoad()
resetButton()
}
}
//
// AppDelegate.swift
// juego
//
// Created by Mobile Roshka on 3/4/20.
// Copyright © 2020 Mobile Roshka. All rights reserved.
//
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}
// MARK: UISceneSession Lifecycle
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
// Called when a new scene session is being created.
// Use this method to select a configuration to create the new scene with.
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
}
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
// Called when the user discards a scene session.
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
}
}
{
"images" : [
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "3x"
},
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "83.5x83.5",
"scale" : "2x"
},
{
"idiom" : "ios-marketing",
"size" : "1024x1024",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
</document>
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="qT3-sx-fxy">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--First View Controller-->
<scene sceneID="ACG-86-ndV">
<objects>
<viewController id="t2O-hf-qVJ" customClass="FirstViewController" customModule="juego" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="geh-77-reM">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" alignment="center" spacing="100" translatesAutoresizingMaskIntoConstraints="NO" id="6At-ab-uqu">
<rect key="frame" x="40" y="138" width="334" height="674"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="ZoV-rO-b1H">
<rect key="frame" x="41.5" y="0.0" width="251.5" height="287"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="TOCA BOTON 2.0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7VN-ud-tO1">
<rect key="frame" x="0.0" y="0.0" width="251.5" height="143.5"/>
<fontDescription key="fontDescription" type="system" pointSize="32"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="hand.point.right.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="gFh-RN-Zuc">
<rect key="frame" x="0.0" y="145" width="251.5" height="139"/>
</imageView>
</subviews>
<constraints>
<constraint firstItem="7VN-ud-tO1" firstAttribute="centerX" secondItem="ZoV-rO-b1H" secondAttribute="centerX" id="mqQ-nx-761"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="equalSpacing" spacing="150" translatesAutoresizingMaskIntoConstraints="NO" id="NW3-Vv-Hqf">
<rect key="frame" x="9" y="387" width="316.5" height="287"/>
<subviews>
<stackView opaque="NO" contentMode="top" axis="vertical" distribution="fillEqually" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="0w0-bG-TYg">
<rect key="frame" x="0.0" y="0.0" width="316.5" height="96"/>
<subviews>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Nombre de Jugador" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="mjC-UL-y3P">
<rect key="frame" x="0.0" y="0.0" width="316.5" height="47"/>
<fontDescription key="fontDescription" type="system" pointSize="21"/>
<textInputTraits key="textInputTraits"/>
<connections>
<action selector="nameTextField:" destination="t2O-hf-qVJ" eventType="editingDidEnd" id="oUz-93-GzF"/>
<action selector="nameTextField:" destination="MmY-pB-zcy" eventType="editingDidEnd" id="pkZ-l6-3Uc"/>
</connections>
</textField>
<stackView opaque="NO" contentMode="scaleToFill" spacing="77" translatesAutoresizingMaskIntoConstraints="NO" id="TwG-Af-Wry">
<rect key="frame" x="0.0" y="49" width="316.5" height="47"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="249" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="wUl-fo-SYo">
<rect key="frame" x="0.0" y="0.0" width="138.5" height="47"/>
<fontDescription key="fontDescription" type="system" pointSize="29"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<state key="normal" title="Guardar ">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<preferredSymbolConfiguration key="preferredSymbolConfiguration" scale="default"/>
</state>
<connections>
<action selector="saveBtn:" destination="t2O-hf-qVJ" eventType="touchUpInside" id="23L-IU-SPa"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="T8P-ri-hTq">
<rect key="frame" x="215.5" y="0.0" width="101" height="47"/>
<fontDescription key="fontDescription" type="system" pointSize="29"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<state key="normal" title="Ingresar">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="enterBtn:" destination="t2O-hf-qVJ" eventType="touchUpInside" id="lJS-CK-v0r"/>
<segue destination="BYZ-38-t0r" kind="show" identifier="segueHVC" id="O40-9x-qN4"/>
</connections>
</button>
</subviews>
</stackView>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="n62-YA-xmo">
<rect key="frame" x="0.0" y="258" width="316.5" height="29"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Desarrollado por Julio Hemosa" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="us9-Ha-l8g">
<rect key="frame" x="0.0" y="0.0" width="316.5" height="29"/>
<fontDescription key="fontDescription" type="system" pointSize="24"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
</subviews>
<constraints>
<constraint firstItem="0w0-bG-TYg" firstAttribute="leading" secondItem="NW3-Vv-Hqf" secondAttribute="leading" id="2UT-0P-VHx"/>
<constraint firstAttribute="trailing" secondItem="0w0-bG-TYg" secondAttribute="trailing" id="6As-yr-nCF"/>
</constraints>
</stackView>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="llq-IP-r0I" firstAttribute="bottom" secondItem="6At-ab-uqu" secondAttribute="bottom" constant="50" id="IRA-wm-t9E"/>
<constraint firstItem="6At-ab-uqu" firstAttribute="leading" secondItem="llq-IP-r0I" secondAttribute="leading" constant="40" id="iqv-v6-RUS"/>
<constraint firstItem="6At-ab-uqu" firstAttribute="top" secondItem="llq-IP-r0I" secondAttribute="top" constant="50" id="o7A-7T-Vr7"/>
<constraint firstItem="llq-IP-r0I" firstAttribute="trailing" secondItem="6At-ab-uqu" secondAttribute="trailing" constant="40" id="wyG-ag-hrc"/>
</constraints>
<viewLayoutGuide key="safeArea" id="llq-IP-r0I"/>
</view>
<navigationItem key="navigationItem" id="eoU-ub-T6N"/>
<connections>
<outlet property="nameTextFieldInput" destination="mjC-UL-y3P" id="wIZ-w2-JL5"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="xD8-I4-ZkJ" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
<exit id="MmY-pB-zcy" userLabel="Exit" sceneMemberID="exit"/>
</objects>
<point key="canvasLocation" x="-512" y="-76"/>
</scene>
<!--Elegir Modo-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController storyboardIdentifier="homeVC" id="BYZ-38-t0r" customClass="HomeViewControler" customModule="juego" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleAspectFill" semanticContentAttribute="playback" axis="vertical" distribution="fillEqually" alignment="center" spacing="200" translatesAutoresizingMaskIntoConstraints="NO" id="Lvb-pt-tCt">
<rect key="frame" x="0.0" y="88" width="414" height="774"/>
<subviews>
<stackView opaque="NO" contentMode="top" axis="vertical" distribution="fillProportionally" alignment="center" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="pi8-9z-sSu">
<rect key="frame" x="70" y="0.0" width="274.5" height="287"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="TOCA BOTON 2.0" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7MG-DR-bWe">
<rect key="frame" x="0.0" y="0.0" width="274.5" height="116"/>
<fontDescription key="fontDescription" type="system" pointSize="35"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Bienvenido" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mxN-6u-55m">
<rect key="frame" x="54" y="136" width="166.5" height="151"/>
<fontDescription key="fontDescription" type="system" pointSize="35"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="left" axis="vertical" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="l2H-Wb-xN1">
<rect key="frame" x="20" y="487" width="374" height="287"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uu2-P8-X7y">
<rect key="frame" x="0.0" y="0.0" width="374" height="95.5"/>
<color key="backgroundColor" systemColor="systemGreenColor" red="0.20392156859999999" green="0.78039215689999997" blue="0.34901960780000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<state key="normal" title="Modo Simple">
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
</state>
<connections>
<segue destination="EFS-hT-WZq" kind="show" id="Jdt-oO-a1h"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fAQ-58-H7n">
<rect key="frame" x="0.0" y="95.5" width="374" height="96"/>
<color key="backgroundColor" systemColor="systemYellowColor" red="1" green="0.80000000000000004" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<state key="normal" title="Modo Avanzado">
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
</state>
<connections>
<segue destination="GXK-R9-gPF" kind="show" id="Saj-Nc-ADD"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cbQ-mw-pMf">
<rect key="frame" x="0.0" y="191.5" width="374" height="95.5"/>
<color key="backgroundColor" systemColor="systemRedColor" red="1" green="0.23137254900000001" blue="0.18823529410000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<state key="normal" title="Modo Experto">
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
</state>
<connections>
<segue destination="Ych-St-cT5" kind="show" id="orB-kC-mcI"/>
</connections>
</button>
</subviews>
</stackView>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="l2H-Wb-xN1" secondAttribute="trailing" constant="20" symbolic="YES" id="Jsb-sn-Qk4"/>
<constraint firstItem="l2H-Wb-xN1" firstAttribute="leading" secondItem="Lvb-pt-tCt" secondAttribute="leading" constant="20" symbolic="YES" id="gcb-9N-P6e"/>
</constraints>
</stackView>
</subviews>
<color key="backgroundColor" red="0.9196891191709845" green="0.76061328738475265" blue="0.47243213006716184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="Lvb-pt-tCt" secondAttribute="trailing" id="9PA-vT-tKu"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="Lvb-pt-tCt" secondAttribute="bottom" id="LxE-TI-scP"/>
<constraint firstItem="Lvb-pt-tCt" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" id="mW9-fN-hQL"/>
<constraint firstItem="Lvb-pt-tCt" firstAttribute="top" secondItem="6Tk-OE-BBY" secondAttribute="top" id="nC6-83-Bae"/>
</constraints>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>
<navigationItem key="navigationItem" title="Elegir Modo" id="ozX-uP-IYY"/>
<connections>
<outlet property="expertModeBtn" destination="cbQ-mw-pMf" id="knd-qa-wHg"/>
<outlet property="playerNameLbl" destination="mxN-6u-55m" id="Cae-n0-FMa"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="229" y="-76"/>
</scene>
<!--Modo Avanzado-->
<scene sceneID="2qi-tu-FJB">
<objects>
<viewController storyboardIdentifier="advancedModeVC" id="GXK-R9-gPF" customClass="AdvancedModeViewController" customModule="juego" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Uhv-Cd-0mT">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleAspectFill" distribution="fillEqually" spacing="7" translatesAutoresizingMaskIntoConstraints="NO" id="Ile-7z-xTO">
<rect key="frame" x="20" y="770" width="374" height="42"/>
<subviews>
<button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="s6Y-B0-PZc">
<rect key="frame" x="0.0" y="0.0" width="120" height="42"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<state key="normal" title="Mejor Puntuación">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="bestPlayerBtn:" destination="GXK-R9-gPF" eventType="touchUpInside" id="6ne-Hk-Sp6"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="XUQ-it-W6D">
<rect key="frame" x="127" y="0.0" width="120" height="42"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<fontDescription key="fontDescription" type="system" pointSize="25"/>
<state key="normal" title="Jugar">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="playGameAM:" destination="GXK-R9-gPF" eventType="touchUpInside" id="aHx-wN-ahR"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="dts-9x-bT4">
<rect key="frame" x="254" y="0.0" width="120" height="42"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<state key="normal" title="Instrucciones">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="instructions:" destination="GXK-R9-gPF" eventType="touchUpInside" id="Ehr-Gc-GBG"/>
</connections>
</button>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" spacing="96" translatesAutoresizingMaskIntoConstraints="NO" id="fvF-oK-jkr">
<rect key="frame" x="20" y="108" width="374" height="71.5"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="14" translatesAutoresizingMaskIntoConstraints="NO" id="jfq-RZ-dxM">
<rect key="frame" x="0.0" y="0.0" width="117" height="71.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Puntaje:" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="7cj-gZ-Hua">
<rect key="frame" x="0.0" y="0.0" width="117" height="27.5"/>
<fontDescription key="fontDescription" type="system" pointSize="23"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NuF-6B-eV8">
<rect key="frame" x="0.0" y="41.5" width="117" height="30"/>
<fontDescription key="fontDescription" type="system" pointSize="25"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="14" translatesAutoresizingMaskIntoConstraints="NO" id="sR0-CJ-MJa">
<rect key="frame" x="213" y="0.0" width="161" height="71.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Tiempo Restante" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="11" translatesAutoresizingMaskIntoConstraints="NO" id="hFG-zZ-6Ox">
<rect key="frame" x="0.0" y="0.0" width="161" height="26.5"/>
<constraints>
<constraint firstAttribute="height" constant="26.5" id="GSa-2L-yAh"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="22"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Jof-Ci-THa">
<rect key="frame" x="0.0" y="40.5" width="161" height="31"/>
<fontDescription key="fontDescription" type="system" pointSize="25"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
</subviews>
<constraints>
<constraint firstItem="sR0-CJ-MJa" firstAttribute="leading" secondItem="fvF-oK-jkr" secondAttribute="leading" constant="213" id="ni3-5F-Kgq"/>
</constraints>
</stackView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="DYW-XV-1gZ">
<rect key="frame" x="10" y="199.5" width="394" height="550.5"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zG8-oa-NtK">
<rect key="frame" x="154" y="193.5" width="86" height="85.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" backgroundImage="hand.thumbsup.fill" catalog="system">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<preferredSymbolConfiguration key="preferredSymbolConfiguration" scale="large" weight="semibold"/>
</state>
<connections>
<action selector="touchPlayBtn:" destination="BjT-31-1HZ" eventType="touchUpInside" id="RPy-i9-5Fd"/>
<action selector="touchPlayBtnAM:" destination="GXK-R9-gPF" eventType="touchUpInside" id="ytV-jW-3wS"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="1" green="0.93617524773803218" blue="0.12575713165407554" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
</subviews>
<color key="backgroundColor" red="0.99577694227993507" green="1" blue="0.35941362385417752" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="DYW-XV-1gZ" firstAttribute="top" secondItem="fvF-oK-jkr" secondAttribute="bottom" constant="20" id="0Lz-8V-XmM"/>
<constraint firstItem="73G-bk-StR" firstAttribute="trailing" secondItem="DYW-XV-1gZ" secondAttribute="trailing" constant="10" id="ACK-aC-n8A"/>
<constraint firstItem="73G-bk-StR" firstAttribute="trailing" secondItem="fvF-oK-jkr" secondAttribute="trailing" constant="20" id="AKE-13-AKR"/>
<constraint firstItem="DYW-XV-1gZ" firstAttribute="leading" secondItem="73G-bk-StR" secondAttribute="leading" constant="10" id="Hy8-3d-NRU"/>
<constraint firstItem="Ile-7z-xTO" firstAttribute="leading" secondItem="73G-bk-StR" secondAttribute="leading" constant="20" id="Oy1-jn-bw7"/>
<constraint firstItem="fvF-oK-jkr" firstAttribute="top" secondItem="73G-bk-StR" secondAttribute="top" constant="20" id="bo7-uM-xMQ"/>
<constraint firstItem="73G-bk-StR" firstAttribute="bottom" secondItem="Ile-7z-xTO" secondAttribute="bottom" constant="50" id="h38-pg-jSf"/>
<constraint firstItem="Ile-7z-xTO" firstAttribute="top" secondItem="DYW-XV-1gZ" secondAttribute="bottom" constant="20" id="hqc-FW-TtM"/>
<constraint firstItem="fvF-oK-jkr" firstAttribute="leading" secondItem="73G-bk-StR" secondAttribute="leading" constant="20" id="tIf-Al-w9c"/>
<constraint firstItem="73G-bk-StR" firstAttribute="trailing" secondItem="Ile-7z-xTO" secondAttribute="trailing" constant="20" id="uMK-rs-YYS"/>
</constraints>
<viewLayoutGuide key="safeArea" id="73G-bk-StR"/>
</view>
<navigationItem key="navigationItem" title="Modo Avanzado" id="HqW-rc-avi"/>
<connections>
<outlet property="playGameAMOutlet" destination="XUQ-it-W6D" id="3Ju-4X-dXd"/>
<outlet property="pointsLblAM" destination="NuF-6B-eV8" id="Pcs-Tw-9pD"/>
<outlet property="timeRestAMLbl" destination="Jof-Ci-THa" id="6KV-JD-jFq"/>
<outlet property="touchBtnOutlet" destination="zG8-oa-NtK" id="lhv-ev-EKB"/>
<outlet property="viewOutlet" destination="DYW-XV-1gZ" id="kHE-G2-Mw1"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="27b-8I-7Im" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="937.68115942028987" y="-76.339285714285708"/>
</scene>
<!--Modo Experto-->
<scene sceneID="cbh-ze-lcC">
<objects>
<viewController storyboardIdentifier="expertModeVC" id="Ych-St-cT5" customClass="ExpertModeViewController" customModule="juego" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="kto-hh-S8K">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleAspectFill" distribution="fillEqually" spacing="7" translatesAutoresizingMaskIntoConstraints="NO" id="Kom-dg-AUt">
<rect key="frame" x="20" y="790" width="374" height="42"/>
<subviews>
<button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PcY-zs-A0y">
<rect key="frame" x="0.0" y="0.0" width="120" height="42"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<state key="normal" title="Mejor Puntuación">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="bestPlayerBtn:" destination="GXK-R9-gPF" eventType="touchUpInside" id="PjC-eK-jdQ"/>
<action selector="bestPlayerBtnEM:" destination="Ych-St-cT5" eventType="touchUpInside" id="cw4-dk-K3s"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ig1-Ok-vgX">
<rect key="frame" x="127" y="0.0" width="120" height="42"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<fontDescription key="fontDescription" type="system" pointSize="25"/>
<state key="normal" title="Jugar">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="playGameAM:" destination="GXK-R9-gPF" eventType="touchUpInside" id="ddy-LY-RpM"/>
<action selector="playGameEM:" destination="Ych-St-cT5" eventType="touchUpInside" id="dlZ-7C-rY4"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RXF-Ql-dtf">
<rect key="frame" x="254" y="0.0" width="120" height="42"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<state key="normal" title="Instrucciones">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="instructionsEM:" destination="Ych-St-cT5" eventType="touchUpInside" id="wvs-g3-QKq"/>
</connections>
</button>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" spacing="37" translatesAutoresizingMaskIntoConstraints="NO" id="Zl0-8S-yCy">
<rect key="frame" x="20" y="108" width="374" height="71.5"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="14" translatesAutoresizingMaskIntoConstraints="NO" id="AJr-Xi-Alz">
<rect key="frame" x="0.0" y="0.0" width="176" height="71.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Toques Restantes" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="AXf-Ds-iwp">
<rect key="frame" x="0.0" y="0.0" width="176" height="27.5"/>
<fontDescription key="fontDescription" type="system" pointSize="23"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dPQ-lb-I3D">
<rect key="frame" x="0.0" y="41.5" width="176" height="30"/>
<fontDescription key="fontDescription" type="system" pointSize="25"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="14" translatesAutoresizingMaskIntoConstraints="NO" id="XMc-KB-Jpc">
<rect key="frame" x="213" y="0.0" width="161" height="71.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Tiempo Restante" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="11" translatesAutoresizingMaskIntoConstraints="NO" id="XPw-Sa-goP">
<rect key="frame" x="0.0" y="0.0" width="161" height="26.5"/>
<fontDescription key="fontDescription" type="system" pointSize="22"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="0" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="J26-iu-q6H">
<rect key="frame" x="0.0" y="40.5" width="161" height="31"/>
<fontDescription key="fontDescription" type="system" pointSize="25"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="k6F-um-Ezx">
<rect key="frame" x="164" y="352.5" width="86" height="85.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" backgroundImage="hand.thumbsup.fill" catalog="system">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<preferredSymbolConfiguration key="preferredSymbolConfiguration" scale="large" weight="semibold"/>
</state>
<connections>
<action selector="touchPlayBtn:" destination="BjT-31-1HZ" eventType="touchUpInside" id="tMw-52-vBA"/>
<action selector="touchPlayBtnAM:" destination="Ych-St-cT5" eventType="touchUpInside" id="5NZ-PI-jxd"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="1" green="0.24040085120620258" blue="0.25248912793411171" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="Kom-dg-AUt" firstAttribute="leading" secondItem="zXa-Yf-zs6" secondAttribute="leading" constant="20" id="3l2-54-XQf"/>
<constraint firstItem="zXa-Yf-zs6" firstAttribute="trailing" secondItem="Zl0-8S-yCy" secondAttribute="trailing" constant="20" id="QA3-Xs-0dP"/>
<constraint firstItem="Zl0-8S-yCy" firstAttribute="top" secondItem="zXa-Yf-zs6" secondAttribute="top" constant="20" id="bNG-Ji-U0W"/>
<constraint firstItem="Zl0-8S-yCy" firstAttribute="leading" secondItem="zXa-Yf-zs6" secondAttribute="leading" constant="20" id="bsA-09-UQS"/>
<constraint firstItem="zXa-Yf-zs6" firstAttribute="trailing" secondItem="Kom-dg-AUt" secondAttribute="trailing" constant="20" id="cof-cH-ptE"/>
<constraint firstItem="zXa-Yf-zs6" firstAttribute="bottom" secondItem="Kom-dg-AUt" secondAttribute="bottom" constant="30" id="j8K-Vh-zna"/>
</constraints>
<viewLayoutGuide key="safeArea" id="zXa-Yf-zs6"/>
</view>
<navigationItem key="navigationItem" title="Modo Experto" id="zUo-KC-NlZ"/>
<connections>
<outlet property="playGameEMOutlet" destination="ig1-Ok-vgX" id="g7W-UD-83f"/>
<outlet property="timeRestEMLbl" destination="J26-iu-q6H" id="NIR-o1-5dn"/>
<outlet property="touchBtnOutlet" destination="k6F-um-Ezx" id="vA2-Nh-zgK"/>
<outlet property="touchsLblEM" destination="dPQ-lb-I3D" id="6WU-8j-XjB"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="N6r-su-c0W" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="937.68115942028987" y="602.67857142857144"/>
</scene>
<!--Modo Simple-->
<scene sceneID="thc-B8-0E6">
<objects>
<viewController storyboardIdentifier="singleMode" id="EFS-hT-WZq" customClass="SingleModeViewController" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="x32-QR-9lu">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="96" translatesAutoresizingMaskIntoConstraints="NO" id="wsL-1W-2wW">
<rect key="frame" x="20" y="108" width="374" height="71.5"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="14" translatesAutoresizingMaskIntoConstraints="NO" id="Bk1-4H-TXz">
<rect key="frame" x="0.0" y="0.0" width="117" height="71.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Puntaje:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="B3r-0m-LSg">
<rect key="frame" x="0.0" y="0.0" width="117" height="27.5"/>
<fontDescription key="fontDescription" type="system" pointSize="23"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jZO-m4-hED">
<rect key="frame" x="0.0" y="41.5" width="117" height="30"/>
<fontDescription key="fontDescription" type="system" pointSize="25"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="14" translatesAutoresizingMaskIntoConstraints="NO" id="uLX-o4-re1">
<rect key="frame" x="213" y="0.0" width="161" height="71.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Tiempo Restante" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="v2a-ko-9p7">
<rect key="frame" x="0.0" y="0.0" width="161" height="26.5"/>
<constraints>
<constraint firstAttribute="height" constant="26.5" id="Yvd-Vo-jay"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="22"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8hz-PA-znz">
<rect key="frame" x="0.0" y="40.5" width="161" height="31"/>
<fontDescription key="fontDescription" type="system" pointSize="25"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
</subviews>
<constraints>
<constraint firstItem="uLX-o4-re1" firstAttribute="leading" secondItem="wsL-1W-2wW" secondAttribute="leading" constant="213" id="2wX-Bs-aVO"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="7" translatesAutoresizingMaskIntoConstraints="NO" id="wVO-Lh-bVb">
<rect key="frame" x="20" y="770" width="374" height="42"/>
<subviews>
<button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8O4-cp-Dm5">
<rect key="frame" x="0.0" y="0.0" width="120" height="42"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<fontDescription key="fontDescription" type="system" pointSize="18"/>
<state key="normal" title="Mejor Puntaje">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Wrg-2U-wvH">
<rect key="frame" x="127" y="0.0" width="120" height="42"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<fontDescription key="fontDescription" type="system" pointSize="25"/>
<state key="normal" title="Jugar">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="playGame:" destination="EFS-hT-WZq" eventType="touchUpInside" id="ilY-vP-IrT"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="IIM-Ea-jfP">
<rect key="frame" x="254" y="0.0" width="120" height="42"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<fontDescription key="fontDescription" type="system" pointSize="18"/>
<state key="normal" title="Instrucciones">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
</button>
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="svi-xH-ZuO">
<rect key="frame" x="123" y="291.5" width="128" height="128"/>
<fontDescription key="fontDescription" type="system" pointSize="20"/>
<state key="normal" title="TAP" backgroundImage="circle.fill" catalog="system">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<preferredSymbolConfiguration key="preferredSymbolConfiguration" scale="large" weight="semibold"/>
</state>
<connections>
<action selector="touchBtn:" destination="EFS-hT-WZq" eventType="touchUpInside" id="Qc7-oB-EdG"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="0.40441104236234393" green="0.68652849740932642" blue="0.3794052457877512" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="Vdb-Vf-T19" firstAttribute="trailing" secondItem="wVO-Lh-bVb" secondAttribute="trailing" constant="20" id="99t-sD-PdN"/>
<constraint firstItem="svi-xH-ZuO" firstAttribute="centerY" secondItem="Vdb-Vf-T19" secondAttribute="centerY" id="Gv4-dG-UEk"/>
<constraint firstItem="svi-xH-ZuO" firstAttribute="centerX" secondItem="Vdb-Vf-T19" secondAttribute="centerX" id="Q7F-nt-oct"/>
<constraint firstItem="wsL-1W-2wW" firstAttribute="top" secondItem="Vdb-Vf-T19" secondAttribute="top" constant="20" id="RNM-cC-twn"/>
<constraint firstItem="wVO-Lh-bVb" firstAttribute="leading" secondItem="Vdb-Vf-T19" secondAttribute="leading" constant="20" id="Zi1-Li-anf"/>
<constraint firstItem="wsL-1W-2wW" firstAttribute="leading" secondItem="Vdb-Vf-T19" secondAttribute="leading" constant="20" id="qj5-ys-kje"/>
<constraint firstItem="Vdb-Vf-T19" firstAttribute="trailing" secondItem="wsL-1W-2wW" secondAttribute="trailing" constant="20" id="quN-8M-rxf"/>
<constraint firstItem="Vdb-Vf-T19" firstAttribute="bottom" secondItem="wVO-Lh-bVb" secondAttribute="bottom" constant="50" id="xlg-X2-v99"/>
</constraints>
<viewLayoutGuide key="safeArea" id="Vdb-Vf-T19"/>
</view>
<navigationItem key="navigationItem" title="Modo Simple" id="7qX-cV-vW7"/>
<connections>
<outlet property="pointsLbl" destination="jZO-m4-hED" id="3PV-hv-bfm"/>
<outlet property="timeRestLbl" destination="8hz-PA-znz" id="88c-Po-oId"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="vQs-8x-e6V" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
<exit id="BjT-31-1HZ" userLabel="Exit" sceneMemberID="exit"/>
</objects>
<point key="canvasLocation" x="937" y="-725"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="rHA-7Q-w2q">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="qT3-sx-fxy" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="Fob-oO-G1P">
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="t2O-hf-qVJ" kind="relationship" relationship="rootViewController" id="qGU-d4-sQZ"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="s7y-Ox-CI9" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-1304.3478260869567" y="-76.339285714285708"/>
</scene>
</scenes>
<resources>
<image name="circle.fill" catalog="system" width="64" height="60"/>
<image name="hand.point.right.fill" catalog="system" width="64" height="48"/>
<image name="hand.thumbsup.fill" catalog="system" width="64" height="62"/>
</resources>
</document>
//
// expertMode.swift
// juego
//
// Created by Mobile Roshka on 3/4/20.
// Copyright © 2020 Mobile Roshka. All rights reserved.
//
import UIKit
class ExpertModeViewController: UIViewController {
/*Se inicializan los valores a ser utilizados, puntaje, si el juego esta en curso, si el tiempo esta en curso, temporizador, contador de intentos y posicion del boton
*/
var touchs = 0
var initGame = false
var initTimer = false
var timer = Timer()
var timeRest = 0
var countGames = 0
/*se obtiene el largo y ancho de pantalla*/
let screenSize :CGRect = UIScreen.main.bounds
let screenWidth = UIScreen.main.bounds.width
let screenHeight = UIScreen.main.bounds.height
/*se inicializa las variables de posicion para el boton*/
var x = 0
var y = 0
/*Largo y ancho del boton*/
var buttonWidth = 86
var buttonHeight = 86
//toques restantes para ganar
@IBOutlet weak var touchsLblEM: UILabel!
//el tiempo restante
@IBOutlet weak var timeRestEMLbl: UILabel!
//texto y propiedades del boton jugar (se opaca cuando inicia el juego)
@IBOutlet weak var playGameEMOutlet: UIButton!
@IBAction func instructionsEM(_ sender: Any) {
showAlertIntructions(message: "Reduce el tamaño del boton al mínimo posible antes de que se acabe el tiempo ")
}
@IBAction func bestPlayerBtnEM(_ sender: Any) { showAlertBestPoint(message: "Mejor puntaje: \nObtenido por")
}
@IBOutlet weak var touchBtnOutlet: UIButton!
//eventos relacionados al inicio del juego
@IBAction func playGameEM(_ sender: Any) { /*Inicia el juego cuendo se presiona el boton, */
initGame = true
initTimer = true
timeRest = 30
timeRestEMLbl.text = "\(timeRest)"
playGameEMOutlet.alpha = 0.5
if initTimer{
touchs = 10
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(timeRestMethod), userInfo :nil, repeats: true)
}
}
//Método para ir decrementando el tiempo y eventos correspondientes
@objc func timeRestMethod()
{
timeRest -= 1
timeRestEMLbl.text = "\(timeRest)"
//condicion de parada del temporizador y enventos al terminar el juego
if timeRest == 0 {
timer.invalidate()
initGame = false
countGames += 1
showAlertGameOver(message: "Intento \(countGames) \nPerdiste \n te faltaron \(touchs) toques")
resetGame()
}
}
//eventos relacionados a cuando se presiona el botón
@IBAction func touchPlayBtnAM(_ sender: Any) {
if touchs == 1 {
timer.invalidate()
showAlertGameOver(message: "Intento \(countGames) \nHas ganado en \(30 - timeRest) segundos")
playGameEMOutlet.alpha = 1
resetGame()
}
if initGame{
x = Int.random(in: 103..<(Int(screenWidth)-53)
)
y = Int.random(in: 100..<(Int(screenHeight)/2))
touchBtnOutlet.center.x = CGFloat(x)
touchBtnOutlet.center.y = CGFloat(y)
buttonWidth -= 6
buttonHeight -= 6
touchBtnOutlet.frame.size = CGSize(width: CGFloat(buttonWidth), height: CGFloat(buttonHeight))
touchs -= 1
touchsLblEM.text = "\(touchs)"
}
}
//alerta cuando termina el juego, aparece el numero actual de intentos y el puntaje obtenido
private func showAlertGameOver(message: String){
let alertGameOver = UIAlertController(title: "Juego Terminado", message:message, preferredStyle: .alert)
alertGameOver.addAction(UIAlertAction(title: "Aceptar", style: .default, handler: nil))
present(alertGameOver, animated:true, completion:nil)
}
private func showAlertIntructions(message: String){
let alert = UIAlertController(title: "Instrucciones", message:message, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Aceptar", style: .default, handler: nil))
present(alert, animated:true, completion:nil)
}
private func showAlertBestPoint(message: String){
let alert = UIAlertController(title: "Mejor Puntaje", message:message, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Aceptar", style: .default, handler: nil))
present(alert, animated:true, completion:nil)
}
private func resetGame(){
touchBtnOutlet.center.x = screenWidth/2
touchBtnOutlet.center.y = screenHeight/2
touchs = 0
buttonWidth = 86
buttonHeight = 86
touchBtnOutlet.frame.size = CGSize(width: CGFloat(buttonWidth), height: CGFloat(buttonHeight))
playGameEMOutlet.alpha = 1
touchsLblEM.text = "0"
}
override func viewDidLoad() {
super.viewDidLoad()
resetGame()
}
}
//
// firstView.swift
// juego
//
// Created by Mobile Roshka on 3/5/20.
// Copyright © 2020 Mobile Roshka. All rights reserved.
//
import Foundation
import UIKit
class FirstViewController: UIViewController {
var playerName = ""
@IBAction func nameTextField(_ sender: Any) {
}
@IBOutlet weak var nameTextFieldInput: UITextField!
@IBAction func saveBtn(_ sender: Any) {
if let pName = nameTextFieldInput.text{
playerName = pName
showAlert(message: "\(playerName) registrado correctamente")
}
else {
showAlert(message: "No se ha registrado ningun jugador")
}
}
private func showAlert(message: String){
let alert = UIAlertController(title: "Registrar Jugador", message:message, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Aceptar", style: .default, handler: nil))
present(alert, animated:true, completion:nil)
}
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func enterBtn(_ sender: Any) {
let hVC = self.storyboard?.instantiateViewController(withIdentifier: "homeVC") as! HomeViewControler
hVC.name = playerName
}
}
//
// home.swift
// juego
//
// Created by Mobile Roshka on 3/4/20.
// Copyright © 2020 Mobile Roshka. All rights reserved.
//
import UIKit
class HomeViewControler: UIViewController {
var name: String?
@IBOutlet weak var playerNameLbl: UILabel!
//botones de ingreso a los juegos
@IBOutlet weak var singleModeBtn: UIButton!
@IBOutlet weak var advancedModeBtn: UIButton!
@IBOutlet weak var expertModeBtn: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
if let pName = name {
playerNameLbl.text = "Bienvenido, \(pName)"
}
else {
playerNameLbl.text = "Bienvenido, Invitado"
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<false/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneConfigurationName</key>
<string>Default Configuration</string>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
<key>UISceneStoryboardFile</key>
<string>Main</string>
</dict>
</array>
</dict>
</dict>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
//
// SceneDelegate.swift
// juego
//
// Created by Mobile Roshka on 3/4/20.
// Copyright © 2020 Mobile Roshka. All rights reserved.
//
import UIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
// This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
guard let _ = (scene as? UIWindowScene) else { return }
}
func sceneDidDisconnect(_ scene: UIScene) {
// Called as the scene is being released by the system.
// This occurs shortly after the scene enters the background, or when its session is discarded.
// Release any resources associated with this scene that can be re-created the next time the scene connects.
// The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead).
}
func sceneDidBecomeActive(_ scene: UIScene) {
// Called when the scene has moved from an inactive state to an active state.
// Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
}
func sceneWillResignActive(_ scene: UIScene) {
// Called when the scene will move from an active state to an inactive state.
// This may occur due to temporary interruptions (ex. an incoming phone call).
}
func sceneWillEnterForeground(_ scene: UIScene) {
// Called as the scene transitions from the background to the foreground.
// Use this method to undo the changes made on entering the background.
}
func sceneDidEnterBackground(_ scene: UIScene) {
// Called as the scene transitions from the foreground to the background.
// Use this method to save data, release shared resources, and store enough scene-specific state information
// to restore the scene back to its current state.
}
}
//
// singleMode.swift
// juego
//
// Created by Mobile Roshka on 3/4/20.
// Copyright © 2020 Mobile Roshka. All rights reserved.
//
import UIKit
class SingleModeViewController: UIViewController {
var points = 0
var initGame = false
var initTimer = false
var timer = Timer()
var timeRest = 10
@IBOutlet weak var pointsLbl: UILabel!
@IBOutlet weak var timeRestLbl: UILabel!
@IBAction func playGame(_ sender: Any) {
initGame = true
initTimer = true
timeRest = 10
timeRestLbl.text = "\(timeRest)"
if initTimer{
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(timeRestMethod), userInfo :nil, repeats: true)
}
}
@objc func timeRestMethod()
{
timeRest -= 1
timeRestLbl.text = "\(timeRest)"
if timeRest == 0 {
timer.invalidate()
initGame = false
}
}
@IBAction func touchBtn(_ sender: Any) {
if initGame{
points += 1
pointsLbl.text = "\(points)"
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
//
// juegoTests.swift
// juegoTests
//
// Created by Mobile Roshka on 3/4/20.
// Copyright © 2020 Mobile Roshka. All rights reserved.
//
import XCTest
@testable import juego
class juegoTests: XCTestCase {
override func setUp() {
// Put setup code here. This method is called before the invocation of each test method in the class.
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
func testExample() {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
func testPerformanceExample() {
// This is an example of a performance test case.
self.measure {
// Put the code you want to measure the time of here.
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
//
// juegoUITests.swift
// juegoUITests
//
// Created by Mobile Roshka on 3/4/20.
// Copyright © 2020 Mobile Roshka. All rights reserved.
//
import XCTest
class juegoUITests: XCTestCase {
override func setUp() {
// Put setup code here. This method is called before the invocation of each test method in the class.
// In UI tests it is usually best to stop immediately when a failure occurs.
continueAfterFailure = false
// In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
func testExample() {
// UI tests must launch the application that they test.
let app = XCUIApplication()
app.launch()
// Use recording to get started writing UI tests.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
func testLaunchPerformance() {
if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) {
// This measures how long it takes to launch your application.
measure(metrics: [XCTOSSignpostMetric.applicationLaunch]) {
XCUIApplication().launch()
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment