Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

отчет

.pdf
Скачиваний:
0
Добавлен:
19.04.2026
Размер:
403.68 Кб
Скачать

ПРИЛОЖЕНИЕ №1

Исходный код программы

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout

android:id="@+id/back"

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/back_01" tools:context=".MainActivity">

<LinearLayout android:layout_width="match_parent" android:layout_height="120dp" android:orientation="horizontal" android:layout_margin="10dp">

<ImageView android:id="@+id/bottle_01" android:layout_width="0dp" android:layout_height="100dp" android:src="@drawable/bottle_01" android:layout_weight="1" android:onClick="bottle_01"/>

<ImageView

11

android:id="@+id/bottle_02" android:layout_width="0dp" android:layout_height="100dp" android:src="@drawable/bottle_02" android:layout_weight="1" android:onClick="bottle_02"/>

<ImageView android:id="@+id/bottle_03" android:layout_width="0dp" android:layout_height="100dp" android:src="@drawable/bottle_03" android:layout_weight="1" android:onClick="bottle_03"/>

<ImageView android:id="@+id/bottle_04" android:layout_width="0dp" android:layout_height="100dp" android:src="@drawable/bottle_04" android:layout_weight="1" android:onClick="bottle_04"

/>

</LinearLayout>

<ImageView

android:id="@+id/bottle" android:layout_width="300dp"

12

android:layout_height="300dp" android:layout_centerInParent="true" android:onClick="spinBottle" android:src="@drawable/bottle_01" />

<HorizontalScrollView android:layout_alignParentBottom="true" android:layout_width="wrap_content" android:layout_height="150dp"

>

<LinearLayout android:layout_width="150dp" android:layout_height="150dp" android:orientation="horizontal">

<ImageView android:id="@+id/scrollBack_01" android:layout_width="120dp" android:layout_height="120dp" android:src="@drawable/back_01" android:layout_margin="15dp" android:onClick="clickBack_01" android:scaleType="centerCrop" />

<ImageView android:id="@+id/scrollBack_02" android:layout_width="120dp"

13

android:layout_height="120dp" android:src="@drawable/back_02" android:layout_margin="15dp" android:onClick="clickBack_02" android:scaleType="centerCrop" />

<ImageView android:id="@+id/scrollBack_03" android:layout_width="120dp" android:layout_height="120dp" android:src="@drawable/back_03" android:layout_margin="15dp" android:onClick="clickBack_03" android:scaleType="centerCrop" />

<ImageView android:id="@+id/scrollBack_04" android:layout_width="120dp" android:layout_height="120dp" android:src="@drawable/back_04" android:layout_margin="15dp" android:onClick="clickBack_04" android:scaleType="centerCrop" />

<ImageView android:id="@+id/scrollBack_05" android:layout_width="120dp" android:layout_height="120dp"

14

android:src="@drawable/back_05" android:layout_margin="15dp" android:onClick="clickBack_05" android:scaleType="centerCrop" />

<ImageView android:id="@+id/scrollBack_06" android:layout_width="120dp" android:layout_height="120dp" android:src="@drawable/back_06" android:layout_margin="15dp" android:onClick="clickBack_06" android:scaleType="centerCrop" />

<ImageView android:id="@+id/scrollBack_07" android:layout_width="120dp" android:layout_height="120dp" android:src="@drawable/back_07" android:layout_margin="15dp" android:onClick="clickBack_07" android:scaleType="centerCrop" />

<ImageView android:id="@+id/scrollBack_08" android:layout_width="120dp" android:layout_height="120dp" android:src="@drawable/back_08"

15

android:layout_margin="15dp" android:onClick="clickBack_08" android:scaleType="centerCrop" />

<ImageView android:id="@+id/scrollBack_09" android:layout_width="120dp" android:layout_height="120dp" android:src="@drawable/back_09" android:layout_margin="15dp" android:onClick="clickBack_09" android:scaleType="centerCrop" />

</LinearLayout>

</HorizontalScrollView>

</RelativeLayout>

16

MainActivity.java

package com.example.game;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle; import android.view.View;

import android.view.animation.Animation; import android.view.animation.RotateAnimation; import android.widget.ImageView;

import android.widget.RelativeLayout;

import java.util.Random;

public class MainActivity extends AppCompatActivity {

ImageView bottle;

RelativeLayout back;

Random random;

int lastPos; int rounds;

boolean flagBottleSpinning;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

17

random = new Random();

back = findViewById(R.id.back); bottle = findViewById(R.id.bottle); rounds = 5;

}

public void spinBottle(View view) { if (!flagBottleSpinning) {

// Переменные для расчёта поворота int kol = random.nextInt(360);

float x = bottle.getWidth() / 2; float y = bottle.getHeight() / 2;

Animation rotate = new RotateAnimation(lastPos, kol + rounds * 360, x,

y);

rotate.setDuration(6500);

rotate.setFillAfter(true);

rotate.setAnimationListener(new Animation.AnimationListener() {

// Начало анимации

@Override

public void onAnimationStart(Animation animation) { flagBottleSpinning = true;

}

// Конец анимации

@Override

public void onAnimationEnd(Animation animation) { flagBottleSpinning = false;

}

18

// Повтор анимации

@Override

public void onAnimationRepeat(Animation animation) {

}

});

bottle.startAnimation(rotate); lastPos = kol;

}

}

//Методы для смены заднего фона и бутылки public void clickBack_01(View view) {

back.setBackgroundResource(R.drawable.back_01);

}

public void clickBack_02(View view) { back.setBackgroundResource(R.drawable.back_02);

}

public void clickBack_03(View view) { back.setBackgroundResource(R.drawable.back_03);

}

public void clickBack_04(View view) { back.setBackgroundResource(R.drawable.back_04);

}

public void clickBack_05(View view) { back.setBackgroundResource(R.drawable.back_05);

}

public void clickBack_06(View view) { back.setBackgroundResource(R.drawable.back_06);

19

}

public void clickBack_07(View view) { back.setBackgroundResource(R.drawable.back_07);

}

public void clickBack_08(View view) { back.setBackgroundResource(R.drawable.back_08);

}

public void clickBack_09(View view) { back.setBackgroundResource(R.drawable.back_09);

}

public void bottle_01(View view) { bottle.setImageResource(R.drawable.bottle_01);

}

public void bottle_02(View view) { bottle.setImageResource(R.drawable.bottle_02);

}

public void bottle_03(View view) { bottle.setImageResource(R.drawable.bottle_03);

}

public void bottle_04(View view) { bottle.setImageResource(R.drawable.bottle_04);

}

}

20