Как реализовать настольную игру?(Меня волнует оптимизация)

Ответить
VladimirFA51
Сообщения: 6
Зарегистрирован: 30 окт 2015, 11:01

Как реализовать настольную игру?(Меня волнует оптимизация)

Сообщение VladimirFA51 » 03 ноя 2015, 00:02

Всем привет,предположим,есть небольшая игра(состоящая из 10-и ходов).Начальное положение игроков=0,при бросании кубика ,они перемещаются на число от 1 до 6.Для каждого результата надо подготовить изображения(Типа игрок1 находится на первом,второй на втором круге и т.д),как можно это реализовать красиво и максимально оптимизировано?У меня получислась вот такая чушь(Можно не смотреть на работоспособность,т.к не завершил)Заранее спасибо!

Код: Выделить всё

public class MainActivity extends AppCompatActivity {
ImageView mainmenu;
int kubik,posred,posblue;
boolean player1,tr1,tr2,tr3,tr4,tr5,tr6,trr1,trr2,trr3,trr4,trr5,trr6;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mainmenu=(ImageView)findViewById(R.id.myMenu);

        //Позиция красного и синего по умолчанию
        posred=0;
        posblue=0;
        //По умолчанию первым ходит игрок номер 1(красный)
        player1=true;
    }

    public void Hod (View view){

        Random rand=new Random();
        kubik = rand.nextInt(6)+1;

        //Ход первого игрока
        tr1=(kubik==1)&&(player1==true);
        tr2=(kubik==2)&&(player1==true);
        tr3=(kubik==3)&&(player1==true);
        tr4=(kubik==4)&&(player1==true);
        tr5=(kubik==5)&&(player1==true);
        tr6=(kubik==6)&&(player1==true);
        //Ход второго игрока
        trr1=(kubik==1)&&(player1==false);
        trr2=(kubik==2)&&(player1==false);
        trr3=(kubik==3)&&(player1==false);
        trr4=(kubik==4)&&(player1==false);
        trr5=(kubik==5)&&(player1==false);
        trr6=(kubik==6)&&(player1==false);

        if (tr1) {
            mainmenu.setImageResource(R.drawable.mainmenu);
            player1=false;
            posred=posred+1;
        }
        if (tr2) {
            mainmenu.setImageResource(R.drawable.mainmenu);
            player1=false;
            posred=posred+2;
        }
        if (tr3) {
            mainmenu.setImageResource(R.drawable.mainmenu);
            player1=false;
            posred=posred+3;
        }
        if (tr4) {
            mainmenu.setImageResource(R.drawable.mainmenu);
            player1=false;
            posred=posred+4;
        }
        if (tr5) {
            mainmenu.setImageResource(R.drawable.mainmenu);
            player1=false;
            posred=posred+5;
        }
        if (tr6) {
            mainmenu.setImageResource(R.drawable.mainmenu);
            player1=false;
            posred=posred+6;
        }

        if(trr1 && posred==1){
            mainmenu.setImageResource(R.drawable.);
            player1=true;
            posblue=posblue+1;
        }
        if(trr2 && posred==2){
            mainmenu.setImageResource(R.drawable.);
            player1=true;
            posblue=posblue+2;
        }
        if(trr3 && posred==3){
            mainmenu.setImageResource(R.drawable.);
            player1=true;
            posblue=posblue+3;
        }
        if(trr4 && posred==4){
            mainmenu.setImageResource(R.drawable.);
            player1=true;
            posblue=posblue+4;
        }
        if(trr5 && posred==5){
            mainmenu.setImageResource(R.drawable.);
            player1=true;
            posblue=posblue+5;
        }
        if(trr6 && posred==6){
            mainmenu.setImageResource(R.drawable.);
            player1=true;
            posblue=posblue+6;
        }

    }
}

Ответить