отчет
.pdfПРИЛОЖЕНИЕ №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
