Skip to content

Commit

Permalink
✨ (UIExplorer): Add SuperSimon 1, 2, 3 activities
Browse files Browse the repository at this point in the history
  • Loading branch information
HPezz committed Oct 6, 2023
1 parent d67e618 commit 7715294
Show file tree
Hide file tree
Showing 4 changed files with 193 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// Leka - iOS Monorepo
// Copyright 2023 APF France handicap
// SPDX-License-Identifier: Apache-2.0

import GameEngineKit
import SwiftUI

private let choicesStep1 = [
ChoiceViewModel(item: "red", type: .color),
ChoiceViewModel(item: "green", type: .color),
]

private let choicesStep2 = [
ChoiceViewModel(item: "red", type: .color),
ChoiceViewModel(item: "green", type: .color),
]

private var steps: [StandardStepModel] = [
StandardStepModel(choices: choicesStep1, gameplay: .superSimon([1]), interface: .twoChoices),
StandardStepModel(choices: choicesStep2, gameplay: .superSimon([1, 0]), interface: .twoChoices),
]

struct SuperSimonLevelOne: View {
private var stepManager = StepManager(steps: steps)

var body: some View {
StepView(stepManager: stepManager)
}
}

struct SuperSimonLevelOne_Previews: PreviewProvider {
static var previews: some View {
SuperSimonLevelOne()
.previewInterfaceOrientation(.landscapeLeft)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
// Leka - iOS Monorepo
// Copyright 2023 APF France handicap
// SPDX-License-Identifier: Apache-2.0

import Combine
import GameEngineKit
import SwiftUI

private let choicesStep1 = [
ChoiceViewModel(item: "pink", type: .color),
ChoiceViewModel(item: "blue", type: .color),
ChoiceViewModel(item: "purple", type: .color),
ChoiceViewModel(item: "yellow", type: .color),
ChoiceViewModel(item: "green", type: .color),
ChoiceViewModel(item: "red", type: .color),
]

private let choicesStep2 = [
ChoiceViewModel(item: "pink", type: .color),
ChoiceViewModel(item: "blue", type: .color),
ChoiceViewModel(item: "purple", type: .color),
ChoiceViewModel(item: "yellow", type: .color),
ChoiceViewModel(item: "green", type: .color),
ChoiceViewModel(item: "red", type: .color),
]

private let choicesStep3 = [
ChoiceViewModel(item: "pink", type: .color),
ChoiceViewModel(item: "blue", type: .color),
ChoiceViewModel(item: "purple", type: .color),
ChoiceViewModel(item: "yellow", type: .color),
ChoiceViewModel(item: "green", type: .color),
ChoiceViewModel(item: "red", type: .color),
]

private let choicesStep4 = [
ChoiceViewModel(item: "pink", type: .color),
ChoiceViewModel(item: "blue", type: .color),
ChoiceViewModel(item: "purple", type: .color),
ChoiceViewModel(item: "yellow", type: .color),
ChoiceViewModel(item: "green", type: .color),
ChoiceViewModel(item: "red", type: .color),
]

private let choicesStep5 = [
ChoiceViewModel(item: "pink", type: .color),
ChoiceViewModel(item: "blue", type: .color),
ChoiceViewModel(item: "purple", type: .color),
ChoiceViewModel(item: "yellow", type: .color),
ChoiceViewModel(item: "green", type: .color),
ChoiceViewModel(item: "red", type: .color),
]

private let choicesStep6 = [
ChoiceViewModel(item: "pink", type: .color),
ChoiceViewModel(item: "blue", type: .color),
ChoiceViewModel(item: "purple", type: .color),
ChoiceViewModel(item: "yellow", type: .color),
ChoiceViewModel(item: "green", type: .color),
ChoiceViewModel(item: "red", type: .color),
]

private var steps: [StandardStepModel] = [
StandardStepModel(choices: choicesStep1, gameplay: .superSimon([5]), interface: .sixChoices),
StandardStepModel(choices: choicesStep2, gameplay: .superSimon([5, 2]), interface: .sixChoices),
StandardStepModel(choices: choicesStep3, gameplay: .superSimon([5, 2, 4]), interface: .sixChoices),
StandardStepModel(choices: choicesStep4, gameplay: .superSimon([5, 2, 4, 1]), interface: .sixChoices),
StandardStepModel(choices: choicesStep4, gameplay: .superSimon([5, 2, 4, 1, 3]), interface: .sixChoices),
StandardStepModel(choices: choicesStep4, gameplay: .superSimon([5, 2, 4, 1, 3, 0]), interface: .sixChoices),
]

struct SuperSimonLevelThree: View {
private var stepManager = StepManager(steps: steps)

var body: some View {
StepView(stepManager: stepManager)
}
}

struct SuperSimonLevelThree_Previews: PreviewProvider {
static var previews: some View {
SuperSimonLevelThree()
.previewInterfaceOrientation(.landscapeLeft)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// Leka - iOS Monorepo
// Copyright 2023 APF France handicap
// SPDX-License-Identifier: Apache-2.0

import Combine
import GameEngineKit
import SwiftUI

private let choicesStep1 = [
ChoiceViewModel(item: "red", type: .color),
ChoiceViewModel(item: "green", type: .color),
ChoiceViewModel(item: "blue", type: .color),
ChoiceViewModel(item: "yellow", type: .color),
]

private let choicesStep2 = [
ChoiceViewModel(item: "red", type: .color),
ChoiceViewModel(item: "green", type: .color),
ChoiceViewModel(item: "blue", type: .color),
ChoiceViewModel(item: "yellow", type: .color),
]

private let choicesStep3 = [
ChoiceViewModel(item: "red", type: .color),
ChoiceViewModel(item: "green", type: .color),
ChoiceViewModel(item: "blue", type: .color),
ChoiceViewModel(item: "yellow", type: .color),
]

private let choicesStep4 = [
ChoiceViewModel(item: "red", type: .color),
ChoiceViewModel(item: "green", type: .color),
ChoiceViewModel(item: "blue", type: .color),
ChoiceViewModel(item: "yellow", type: .color),
]

private var steps: [StandardStepModel] = [
StandardStepModel(choices: choicesStep1, gameplay: .superSimon([0]), interface: .fourChoices),
StandardStepModel(choices: choicesStep2, gameplay: .superSimon([0, 3]), interface: .fourChoices),
StandardStepModel(choices: choicesStep3, gameplay: .superSimon([0, 3, 1]), interface: .fourChoices),
StandardStepModel(choices: choicesStep4, gameplay: .superSimon([0, 3, 1, 2]), interface: .fourChoices),
]

struct SuperSimonLevelTwo: View {
private var stepManager = StepManager(steps: steps)

var body: some View {
StepView(stepManager: stepManager)
}
}

struct SuperSimonLevelTwo_Previews: PreviewProvider {
static var previews: some View {
SuperSimonLevelTwo()
.previewInterfaceOrientation(.landscapeLeft)
}
}
15 changes: 15 additions & 0 deletions Apps/LekaActivityUIExplorer/Sources/NewUI/Data/ActivityList.swift
Original file line number Diff line number Diff line change
Expand Up @@ -135,4 +135,19 @@ let kListOfAvailablesActivities: [ActivityModel] = [
instructions: "Touch the right color",
view: AnyView(ColorBingoLevelThree())
),
ActivityModel(
title: "SuperSimon - Lvl 1",
instructions: "Touch the right color sequence",
view: AnyView(SuperSimonLevelOne())
),
ActivityModel(
title: "SuperSimon - Lvl 2",
instructions: "Touch the right color sequence",
view: AnyView(SuperSimonLevelTwo())
),
ActivityModel(
title: "SuperSimon - Lvl 3",
instructions: "Touch the right color sequence",
view: AnyView(SuperSimonLevelThree())
),
]

0 comments on commit 7715294

Please sign in to comment.