Я хочу создать приложение с тремя массивами. Каждый массив содержит следующие строки: «белый», «зеленый», «синий», «красный», «черный».
Нас 5 игроков. Итак, когда я запускаю приложение, каждый игрок должен получить 3 цвета. Однако ни один цвет не может быть применен более одного раза.
Так, например:
Игрок 1: красный/зеленый/синий
Игрок 2: зеленый/черный/белыйИгрок 3: синий/белый/черный
Игрок 4: белый/красный/зеленый
Игрок 5: черный/синий/красный
Чтобы упростить задачу вначале я попробовал только 1 Player с двумя цветами:
(Извините за плохое кодирование.. я в этом новичок)
package com.example.array_abgleich_test;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class MainActivity extends AppCompatActivity {
TextView pos, enemy1, enemy2;
Button reset;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
pos = findViewById(R.id.pos);
enemy1 = findViewById(R.id.enemy1);
enemy2 = findViewById(R.id.enemy2);
reset = findViewById(R.id.reset);
reset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (position[0].equals(enemy_1[0])) {
shuffleenemy_1();
}
showrandompos();
showrandomenemy1();
showrandomenemy2();
}
});
}
//--------------------------------------ARRAYS------------------------------------------------------
String[] position = {"white", "green", "blue", "red", "black"};
String[] enemy_1 = {"white", "green", "blue", "red", "black"};
String[] enemy_2 = {"white", "green", "blue", "red", "black"};
//--------------------------------------METHOD------------------------------------------------------
public void shuffleposition() {
Collections.shuffle(Arrays.asList(position));
}
public void shuffleenemy_1() {
Collections.shuffle((Arrays.asList(enemy_1)));
}
public void shuffleenemy_2(){
Collections.shuffle((Arrays.asList(enemy_2)));
}
public void showrandompos () {
shuffleposition();
pos.setText(position[0]);
pos.setText(position[1]);
pos.setText(position[2]);
pos.setText(position[3]);
pos.setText(position[4]);
}
public void showrandomenemy1 (){
shuffleenemy_1();
enemy1.setText(enemy_1[0]);
enemy1.setText(enemy_1[1]);
enemy1.setText(enemy_1[2]);
enemy1.setText(enemy_1[3]);
enemy1.setText(enemy_1[4]);
}
public void showrandomenemy2 (){
shuffleenemy_2();
enemy2.setText(enemy_2[0]);
enemy2.setText(enemy_2[1]);
enemy2.setText(enemy_2[2]);
enemy2.setText(enemy_2[3]);
enemy2.setText(enemy_2[4]);
}
}
Из другого поста я получил методы «shuffle & showrandompos», поэтому реализовал их и попытался,
нажав кнопку, чтобы проверить, совпадают ли первые позиции массива. Если да --> перемешать.
Но это не работает.
Мне удалось написать рабочий код в IntelliJ Idea, но мне не удалось перенести этот код в Android Studio.
reset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (position[0].equals(enemy_1[0])) {
shuffleenemy_1();
}
showrandompos();
showrandomenemy1();
showrandomenemy2();
}
});
Подробнее здесь: https://stackoverflow.com/questions/785 ... same-value
Как сделать так, чтобы два одинаковых массива не отображали одно и то же значение? ⇐ JAVA
Программисты JAVA общаются здесь
1717186942
Anonymous
Я хочу создать приложение с тремя массивами. Каждый массив содержит следующие строки: «белый», «зеленый», «синий», «красный», «черный».
Нас 5 игроков. Итак, когда я запускаю приложение, каждый игрок должен получить 3 цвета. Однако ни один цвет не может быть применен более одного раза.
Так, например:
Игрок 1: красный/зеленый/синий
Игрок 2: зеленый/черный/белыйИгрок 3: синий/белый/черный
Игрок 4: белый/красный/зеленый
Игрок 5: черный/синий/красный
Чтобы упростить задачу вначале я попробовал только 1 Player с двумя цветами:
(Извините за плохое кодирование.. я в этом новичок)
package com.example.array_abgleich_test;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class MainActivity extends AppCompatActivity {
TextView pos, enemy1, enemy2;
Button reset;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
pos = findViewById(R.id.pos);
enemy1 = findViewById(R.id.enemy1);
enemy2 = findViewById(R.id.enemy2);
reset = findViewById(R.id.reset);
reset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (position[0].equals(enemy_1[0])) {
shuffleenemy_1();
}
showrandompos();
showrandomenemy1();
showrandomenemy2();
}
});
}
//--------------------------------------ARRAYS------------------------------------------------------
String[] position = {"white", "green", "blue", "red", "black"};
String[] enemy_1 = {"white", "green", "blue", "red", "black"};
String[] enemy_2 = {"white", "green", "blue", "red", "black"};
//--------------------------------------METHOD------------------------------------------------------
public void shuffleposition() {
Collections.shuffle(Arrays.asList(position));
}
public void shuffleenemy_1() {
Collections.shuffle((Arrays.asList(enemy_1)));
}
public void shuffleenemy_2(){
Collections.shuffle((Arrays.asList(enemy_2)));
}
public void showrandompos () {
shuffleposition();
pos.setText(position[0]);
pos.setText(position[1]);
pos.setText(position[2]);
pos.setText(position[3]);
pos.setText(position[4]);
}
public void showrandomenemy1 (){
shuffleenemy_1();
enemy1.setText(enemy_1[0]);
enemy1.setText(enemy_1[1]);
enemy1.setText(enemy_1[2]);
enemy1.setText(enemy_1[3]);
enemy1.setText(enemy_1[4]);
}
public void showrandomenemy2 (){
shuffleenemy_2();
enemy2.setText(enemy_2[0]);
enemy2.setText(enemy_2[1]);
enemy2.setText(enemy_2[2]);
enemy2.setText(enemy_2[3]);
enemy2.setText(enemy_2[4]);
}
}
Из другого поста я получил методы «shuffle & showrandompos», поэтому реализовал их и попытался,
нажав кнопку, чтобы проверить, совпадают ли первые позиции массива. Если да --> перемешать.
Но это не работает.
Мне удалось написать рабочий код в IntelliJ Idea, но мне не удалось перенести этот код в Android Studio.
reset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (position[0].equals(enemy_1[0])) {
shuffleenemy_1();
}
showrandompos();
showrandomenemy1();
showrandomenemy2();
}
});
Подробнее здесь: [url]https://stackoverflow.com/questions/78559084/how-to-make-sure-that-two-identical-arrays-don%c2%b4t-show-the-same-value[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия