/
arti4
/
IndividualProject
Обзор
Документация
Войти
/
arti4
/
IndividualProject
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
MyGame/app/src/main/java/com/example/mygame/GameOverActivity.java
107 строк
4 KB
arti4
upload files
18 ноя 2025, 12:41
18 ноя 2025, 12:41
f3a2f8a
Код
Авторство
О чём код?
package com.example.mygame; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.media.MediaPlayer; import android.os.Bundle; import android.view.WindowManager; import android.widget.Button; import android.widget.TextView; import androidx.activity.OnBackPressedCallback; import androidx.appcompat.app.AppCompatActivity; public class GameOverActivity extends AppCompatActivity { private int score; private int highScore; private SoundManager soundManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().setBackgroundDrawableResource(android.R.color.transparent); setContentView(R.layout.activity_game_over); Intent intent = getIntent(); score = intent.getIntExtra("score", 0); loadAndUpdateHighScore(); initializeViews(); setupButtons(); setupBackPressedHandler(); } private void loadAndUpdateHighScore() { SharedPreferences prefs = getSharedPreferences("GamePrefs", Context.MODE_PRIVATE); highScore = prefs.getInt("high_score", 0); if (score > highScore) { highScore = score; prefs.edit().putInt("high_score", highScore).apply(); } } private void initializeViews() { TextView scoreText = findViewById(R.id.scoreText); TextView highScoreText = findViewById(R.id.highScoreText); TextView crystalsText = findViewById(R.id.crystalsText); if (scoreText != null) { scoreText.setText("Счет: " + score); } if (highScoreText != null) { highScoreText.setText("Рекорд: " + highScore); } if (crystalsText != null) { SharedPreferences prefs = getSharedPreferences("GamePrefs", Context.MODE_PRIVATE); int crystals = prefs.getInt("collected_crystals", 0); crystalsText.setText("Кристаллы: " + crystals); } } private void setupButtons() { Button restartButton = findViewById(R.id.restartButton); Button exitToMenuButton = findViewById(R.id.exitToMenuButton); restartButton.setOnClickListener(v -> { Intent intent = new Intent(GameOverActivity.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish(); }); exitToMenuButton.setOnClickListener(v -> { exitToMainMenu(); }); } private void setupBackPressedHandler() { getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) { @Override public void handleOnBackPressed() { exitToMainMenu(); } }); } private void exitToMainMenu() { try { MediaPlayer player = new MediaPlayer(); player.reset(); player.release(); } catch (Exception e) { e.printStackTrace(); } soundManager.stopSound(SoundManager.SOUND_GAME); Intent intent = new Intent(GameOverActivity.this, MainMenuActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish(); } }