diff --git a/app/src/main/java/com/example/curation_train_app/CharacterProfile.kt b/app/src/main/java/com/example/curation_train_app/CharacterProfile.kt index ee0f6f3..a98245b 100644 --- a/app/src/main/java/com/example/curation_train_app/CharacterProfile.kt +++ b/app/src/main/java/com/example/curation_train_app/CharacterProfile.kt @@ -31,7 +31,7 @@ object CharacterProfiles { id = "marisa", name = "魔理沙", speakingStyle = - "元気な口調。「〜だぜ」は乱発せず、強調・納得・気付きの場面でだけ自然に使う。", + "元気な口調。「〜だぜ」は乱発せず、強調・納得・気付きの場面でだけ自然に使う。「~だぜ」と「~な」は交互に使うことも多い。「~なんだぜ」という口調が、文の語尾に合わせてたまに出る", personality = "深掘り・解説の補足、技術寄りの説明が得意。少しテンション高めで勢いがある。", knowledgeLevel = "高い鉄道知識" @@ -41,10 +41,10 @@ object CharacterProfiles { // 🟠3. フラン(明るく元気) // ─────────────────────────────── val flan = CharacterProfile( - id = "flan", + id = "flandre", name = "フラン", speakingStyle = - "明るく元気。テンションが高いときだけ「なのだー」「のだー」が出る。" + + "明るく元気。テンションが高いときに「なのだー」「のだー」が出る。" + "普段は普通の話し方で語尾を毎回つけない。", personality = "ムードメーカー。感情表現が大きく、明るい。盛り上げ役。", @@ -124,7 +124,7 @@ object CharacterProfiles { return when (id.lowercase()) { "reimu" -> reimu "marisa" -> marisa - "flan" -> flan + "flandre" -> flan "sanae" -> sanae "akane" -> akane "sayaka" -> sayaka diff --git a/app/src/main/java/com/example/curation_train_app/CharacterSettings.kt b/app/src/main/java/com/example/curation_train_app/CharacterSettings.kt new file mode 100644 index 0000000..ad33876 --- /dev/null +++ b/app/src/main/java/com/example/curation_train_app/CharacterSettings.kt @@ -0,0 +1,19 @@ +package com.example.curation_train_app + +import android.content.Context + +object CharacterSettings { + + private const val PREF_NAME = "navigator" + private const val KEY_CHARACTER = "currentCharacter" + + fun saveCharacter(context: Context, characterId: String) { + val prefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE) + prefs.edit().putString(KEY_CHARACTER, characterId).apply() + } + + fun loadCharacter(context: Context): String { + val prefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE) + return prefs.getString(KEY_CHARACTER, "reimu") ?: "reimu" + } +} diff --git a/app/src/main/java/com/example/curation_train_app/EmotionType.kt b/app/src/main/java/com/example/curation_train_app/EmotionType.kt new file mode 100644 index 0000000..f8acc0f --- /dev/null +++ b/app/src/main/java/com/example/curation_train_app/EmotionType.kt @@ -0,0 +1,12 @@ +package com.example.curation_train_app + +enum class EmotionType { + NORMAL, + HAPPY, + ANGRY, + SLEEPY, + SURPRISED, + CONFUSED, + THINK, + WORRY +} \ No newline at end of file diff --git a/app/src/main/java/com/example/curation_train_app/InfoType.kt b/app/src/main/java/com/example/curation_train_app/InfoType.kt index 143bf68..bb389ab 100644 --- a/app/src/main/java/com/example/curation_train_app/InfoType.kt +++ b/app/src/main/java/com/example/curation_train_app/InfoType.kt @@ -9,4 +9,5 @@ enum class InfoType { WEATHER, // 天候影響 NEW_TRAIN, // 新型車両関連 OTHER // 分類できない場合 + } diff --git a/app/src/main/java/com/example/curation_train_app/MainActivity.kt b/app/src/main/java/com/example/curation_train_app/MainActivity.kt index e77ef18..5978c37 100644 --- a/app/src/main/java/com/example/curation_train_app/MainActivity.kt +++ b/app/src/main/java/com/example/curation_train_app/MainActivity.kt @@ -1,18 +1,18 @@ package com.example.curation_train_app +import android.content.Intent import android.os.Bundle -import androidx.activity.ComponentActivity -import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView +import android.view.View +import android.view.ViewGroup import android.widget.Button import android.widget.EditText -import android.widget.TextView -import android.content.Intent -import android.widget.LinearLayout -import android.view.View import android.widget.ImageView -import android.view.ViewGroup +import android.widget.LinearLayout +import android.widget.TextView +import androidx.activity.ComponentActivity +import androidx.recyclerview.widget.RecyclerView import com.example.curation_train_app.ai.AiClient +import com.example.curation_train_app.CharacterSettings class MainActivity : ComponentActivity() { @@ -20,35 +20,59 @@ class MainActivity : ComponentActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) + val charId = CharacterSettings.loadCharacter(this) + val imageView = findViewById(R.id.imageCharacter) + + val drawableId = when (charId) { + "reimu" -> R.drawable.reimu_normal + "marisa" -> R.drawable.marisa_normal + "flan" -> R.drawable.flandre_normal + "sanae" -> R.drawable.sanae_normal + "akane" -> R.drawable.akane_normal + "momoka" -> R.drawable.momoka_normal + "sayaka" -> R.drawable.sayaka_normal + "hiyori" -> R.drawable.hiyori_normal + else -> R.drawable.reimu_normal + } + + imageView.setImageResource(drawableId) + + + val btn = findViewById