Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ package edu.ntnu.idi.idatt.backend.bootstrap.tasks

import edu.ntnu.idi.idatt.backend.game.tasks.domain.TaskType

private const val SCENARIO_ITEM_ORDER = 1

internal fun denSosialeMarkedsplassenTaskSeeds(): List<SeedTask> =
listOf(
binaryChoiceTask(
socialScenarioTask(
difficultyLevel = 1,
taskType = TaskType.SOCIAL_SCENARIO,
title =
localized(
"Den sosiale markedsplassen 1: Tenk før du deler",
Expand All @@ -22,28 +23,44 @@ internal fun denSosialeMarkedsplassenTaskSeeds(): List<SeedTask> =
"Hva er smartest å gjøre før du deler en dramatisk melding videre?",
"What is smartest to do before sharing a dramatic message?",
),
correctOption =
explainedOption(
1,
"Sjekke hvor meldingen kommer fra og om andre kilder sier det samme.",
"Check where the message comes from and whether other sources say the same thing.",
true,
"Det hjelper deg å stoppe rykter før de sprer seg.",
"That helps you stop rumors before they spread.",
),
incorrectOption =
explainedOption(
2,
"Dele den raskt fordi mange andre allerede har gjort det.",
"Share it quickly because many others have already done it.",
false,
"At mange deler noe, betyr ikke at det er sant.",
"Just because many people share something does not make it true.",
options =
listOf(
explainedOption(
1,
"Dele videre med én gang.",
"Share immediately.",
false,
"Det kan spre feilinformasjon.",
"That can spread misinformation.",
),
explainedOption(
2,
"Vente og se om flere deler.",
"Wait and see if more people share.",
false,
"Det er bedre å sjekke først.",
"It is better to check first.",
),
explainedOption(
3,
"Sjekke kilder eller spørre en voksen.",
"Check sources or ask an adult.",
true,
"Riktig! Da unngår du å spre rykter.",
"Correct! You avoid spreading rumors.",
),
explainedOption(
4,
"Ignorere meldingen.",
"Ignore the message.",
false,
"Det kan være lurt å sjekke først, særlig hvis meldingen kan påvirke andre.",
"It can be smart to check first, especially if the message may affect others.",
),
),
),
binaryChoiceTask(
socialScenarioTask(
difficultyLevel = 2,
taskType = TaskType.SOCIAL_SCENARIO,
title =
localized(
"Den sosiale markedsplassen 2: Følelser kan lure",
Expand All @@ -59,28 +76,44 @@ internal fun denSosialeMarkedsplassenTaskSeeds(): List<SeedTask> =
"Hvilken melding prøver mest å manipulere følelsene dine?",
"Which message tries hardest to manipulate your feelings?",
),
correctOption =
explainedOption(
1,
"Hvis du bryr deg om vennene dine, må du dele dette akkurat nå!",
"If you care about your friends, you must share this right now!",
true,
"Den bruker skyldfølelse og hastverk for å presse deg.",
"It uses guilt and urgency to pressure you.",
),
incorrectOption =
explainedOption(
2,
"Se denne informasjonen og tenk over om den virker troverdig.",
"Look at this information and think about whether it seems trustworthy.",
false,
"Den prøver ikke å presse deg følelsesmessig.",
"It does not try to pressure you emotionally.",
options =
listOf(
explainedOption(
1,
"Hvis du bryr deg om vennene dine, må du dele dette akkurat nå!",
"If you care about your friends, you must share this right now!",
true,
"Den bruker skyldfølelse og hastverk for å presse deg.",
"It uses guilt and urgency to pressure you.",
),
explainedOption(
2,
"Her er en kilde. Les selv og tenk over om det virker troverdig.",
"Here is a source. Read it yourself and think about whether it seems trustworthy.",
false,
"Denne meldingen prøver ikke å presse deg følelsesmessig.",
"This message does not try to pressure you emotionally.",
),
explainedOption(
3,
"Jeg er usikker på om dette stemmer. Kan noen sjekke?",
"I am unsure whether this is true. Can someone check?",
false,
"Denne meldingen oppfordrer til å undersøke, ikke til panikk.",
"This message encourages checking, not panic.",
),
explainedOption(
4,
"Dette kan være viktig, men vi bør vente på mer informasjon.",
"This may be important, but we should wait for more information.",
false,
"Denne meldingen demper hastverk i stedet for å skape press.",
"This message reduces urgency instead of creating pressure.",
),
),
),
binaryChoiceTask(
socialScenarioTask(
difficultyLevel = 3,
taskType = TaskType.SOCIAL_SCENARIO,
title =
localized(
"Den sosiale markedsplassen 3: Stå imot gruppepress",
Expand All @@ -96,23 +129,91 @@ internal fun denSosialeMarkedsplassenTaskSeeds(): List<SeedTask> =
"Hva er den beste reaksjonen når alle andre sier at et rykte må være sant?",
"What is the best response when everyone else says a rumor must be true?",
),
correctOption =
explainedOption(
1,
"Be om kilde og vente med å dele til du vet mer.",
"Ask for a source and wait to share until you know more.",
true,
"Du trenger ikke følge gruppa når informasjonen er usikker.",
"You do not have to follow the group when the information is uncertain.",
),
incorrectOption =
explainedOption(
2,
"Stole på ryktet fordi så mange mener det samme.",
"Trust the rumor because so many people agree.",
false,
"Mange like meninger er ikke det samme som bevis.",
"Many matching opinions are not the same as evidence.",
options =
listOf(
explainedOption(
1,
"Be om kilde og vente med å dele til du vet mer.",
"Ask for a source and wait to share until you know more.",
true,
"Du trenger ikke følge gruppa når informasjonen er usikker.",
"You do not have to follow the group when the information is uncertain.",
),
explainedOption(
2,
"Stole på ryktet fordi så mange mener det samme.",
"Trust the rumor because so many people agree.",
false,
"Mange like meninger er ikke det samme som bevis.",
"Many matching opinions are not the same as evidence.",
),
explainedOption(
3,
"Dele ryktet, men skrive at du ikke vet om det stemmer.",
"Share the rumor, but write that you do not know if it is true.",
false,
"Da sprer du fortsatt usikker informasjon videre.",
"Then you are still spreading uncertain information.",
),
explainedOption(
4,
"Trykke liker, men ikke si noe.",
"Like the post, but say nothing.",
false,
"Å like kan også bidra til at ryktet spres mer.",
"Liking can also help the rumor spread further.",
),
),
),
)

private fun socialScenarioTask(
difficultyLevel: Int,
title: LocalizedText,
introText: LocalizedOptionalText?,
promptText: LocalizedText,
options: List<SeedOption>,
): SeedTask =
SeedTask(
difficultyLevel = difficultyLevel,
taskType = TaskType.SOCIAL_SCENARIO,
title = title,
introText = introText,
items =
listOf(
SeedItem(
itemOrder = SCENARIO_ITEM_ORDER,
promptText = promptText,
metadataJson =
"""
{
"role": "socialScenarioChoice",
"actions": [
{
"order": 1,
"label": {
"nb": "Del",
"en": "Share"
}
},
{
"order": 2,
"label": {
"nb": "Kommenter",
"en": "Comment"
}
},
{
"order": 3,
"label": {
"nb": "Sjekk kilder",
"en": "Check sources"
}
}
]
}
""".trimIndent(),
options = options,
),
),
)