Пишу свою первую игру по типу три в ряд! В процессе создания игры сделал следующее:
GridView
;GridView
;Вот код класса ImageAdapter:
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return mThumbIds[position];
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(60, 60));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(2, 2, 2, 2);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
public Integer[] mThumbIds = {
R.drawable.gem1, R.drawable.gem1, R.drawable.gem2, R.drawable.gem1, R.drawable.gem5, R.drawable.gem3, R.drawable.gem1, R.drawable.gem5, R.drawable.gem4, R.drawable.gem2,
R.drawable.gem2, R.drawable.gem5, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4, R.drawable.gem2, R.drawable.gem1, R.drawable.gem4, R.drawable.gem2, R.drawable.gem4,
R.drawable.gem3, R.drawable.gem4, R.drawable.gem2, R.drawable.gem1, R.drawable.gem4, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4, R.drawable.gem2, R.drawable.gem3,
R.drawable.gem4, R.drawable.gem3, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4, R.drawable.gem2, R.drawable.gem2, R.drawable.gem2, R.drawable.gem1, R.drawable.gem4,
R.drawable.gem5, R.drawable.gem2, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4, R.drawable.gem2, R.drawable.gem2, R.drawable.gem2, R.drawable.gem4, R.drawable.gem2,
R.drawable.gem5, R.drawable.gem2, R.drawable.gem3, R.drawable.gem4, R.drawable.gem2, R.drawable.gem1, R.drawable.gem4, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4,
R.drawable.gem4, R.drawable.gem5, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4, R.drawable.gem1, R.drawable.gem4, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4,
R.drawable.gem3, R.drawable.gem1, R.drawable.gem3, R.drawable.gem3, R.drawable.gem4, R.drawable.gem1, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4, R.drawable.gem2,
R.drawable.gem2, R.drawable.gem3, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4, R.drawable.gem4, R.drawable.gem4, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4,
R.drawable.gem1, R.drawable.gem4, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4, R.drawable.gem1, R.drawable.gem4, R.drawable.gem3, R.drawable.gem4, R.drawable.gem2
};
}
Это xml код GridView :
<GridView
android:id="@+id/grid_view"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="34dp"
android:background="@drawable/grid"
android:columnWidth="30dp"
android:gravity="center"
android:numColumns="auto_fit"
android:stretchMode="columnWidth">
</GridView>
Это код класса GameActivity:
public class GameActivity extends AppCompatActivity implements View.OnClickListener{
private Button btn;
{
this.btn = btn;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
final GridView gridView = (GridView) findViewById(R.id.grid_view);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(this);
gridView.setAdapter(new ImageAdapter(this));
final ImageAdapter ia = new ImageAdapter(this);
final AdapterView.OnItemClickListener itemListener = new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
if (true) {
btn.setText("РАБОТАЕТ");
switch (v.getId()) {
case R.drawable.gem1:
// parent.getItemAtPosition(position);
// parent.getSelectedView();
// parent.getOnItemClickListener();
break;
}
}
}
};
gridView.setOnItemClickListener(itemListener);
}
@Override
public void onClick(View v) {
}
Button
я добавил для проверки реагирует ли изображение на нажатие. Когда нажимаю на камень на игровом поле – меняется надпись на кнопке. Вся моя проблема в том, что я не знаю как пройтись циклом по массиву mThumbIds
чтобы проверять на совпадения элементы массива. Я так понимаю что проверку на совпадения нужно делать по горизонтали и вертикали и что за меня никто этот код писать не будет. Мои познания еще малы, поэтому прошу опытных разработчиков помочь мне понять как это работает!
Хочу сделать стандартную логику три в ряд, а именно:
Реализовать я хочу все сам. Мне просто нужен толчек хотя-бы по первым двум пунктам. Дальше я сам. Искренне Вас прошу помочь новичку.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Здравствуйте, есть приложение, в котором находится комната администратораТам есть таблица в которой находятся группы студентов, и есть кнопочка...
ЗдравствуйтеПодскажите как реализовать задержку между событиями касаний и с мультитачем, пожалуйста
Почему вылетает приложение при отладке на девайсе? Просто не запускается