Найти в Дзене

Первый шаг к написанию шахматной программы , 2 этап

Программер играет в шахматы с компьютером и получает мат на 15 ходу. В сердцах бьет по клавиатуре : — Проклятый виндоз, опять глючит.

Предыдущая публикация

Здравствуйте дорогие друзья.

На прошлом этапе мы создали небольшое приложение для андроид.

продолжим ...

Возмем иконку из прошлого этапа

Любым доступным способом создаем из нее три иконки размером 36x36 48x48 96x96

переходим на вкладу структуры нашего проекта (три полоски сева вврху)

нажмем + напротив drawable-mdpi и выберем Select from storage

-2
-3

Даем имя ic_launcher.png, если иконка имеет другое имя

Итак:

  • drawable-ldpi иконка 36x36
  • drawable-mdpi иконка 48x48
  • drawable-xhdpi иконка 96x96

переходим на пункт drawable

-4

аналогично добавим две картинки - board и peice

и вносим изменения в файл MainActivity.java

package com.example.myappshess;
import com.example.myappshess.R;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new DrawView(this));
}
class DrawView extends View {
Paint paint;
Bitmap bitmap1,bitmap2;
public DrawView(Context context) {
super(context);
paint = new Paint(Paint.ANTI_ALIAS_FLAG);
bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.reduced_board);
bitmap2 = BitmapFactory.decodeResource(getResources(), R.drawable.reduced_peice);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawARGB(80, 102, 204, 255);
canvas.drawBitmap(bitmap1, 0, 0, paint);
canvas.drawBitmap(bitmap2, 25, 525, paint);
}
}
}

Компилилируем и устанавливаем наше приложение

-5

Поэксперементируем с интерфейсом приложения

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="top">
<EditText
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/fen"
android:layout_weight="100.0" />
<Button
android:id="@+id/add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/but1"/>
</LinearLayout>
<TextView
android:layout_gravity="left"
android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/pos"/>
</LinearLayout>

strings.xml

<resources>
<string name="app_name">benya_geniuse</string>
<string name="title_activity_main">MAIN_ACTIVITY</string>
<string name="fen">rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1</string>
<string name="but1">кнопка1</string>
<string name="pos">Задайте позицию FEN строкой
</string>
</resources>

заменяем в MainActivity.java

строку setContentView(new DrawView(this)); на

setContentView(R.layout.activity_main);

результат

-6

продолжение следует ...

PS: спасибо за терпение

Идеальные женщины — это шахматистки: они могут часами молчать, хорошо следят за фигурами и знают много интересных позиций.

До встречи