Главная страница
Навигация по странице:

  • Приложение А

  • Разработка мобильного приложения детская развивающая игра. Теоретические основы разработки мобильных приложений


    Скачать 2.75 Mb.
    НазваниеТеоретические основы разработки мобильных приложений
    Дата23.02.2023
    Размер2.75 Mb.
    Формат файлаdoc
    Имя файлаРазработка мобильного приложения детская развивающая игра.doc
    ТипАнализ
    #951337
    страница5 из 7
    1   2   3   4   5   6   7

    Список использованных источников

    1 Бентли Дж. Ф. – Жемчужины программирования Петербург: Изд–во Питер, 2004. С. 12.

    2 Детская развивающая игра «Математический паравозик Лолы». https: // play.google.com/store/apps/details?id=com.beiz.lolasmathlite&hl=ru

    3 Детская развивающая игра «Пираты молочного моря». https://

    lifehacker.ru/2013/03/27/piraty–molochnogo–morya/

    4 Детская развивающая игра «Математика и цифры для малышей» https: // play.google.com/store/apps/details?id=com.whisperarts.kids.math&hl=ru

    5 Конституция РК http: // www.akorda.kz/ru/official_documents

    /constitution

    6 Денисова А.Л., Зайцев Е.В., Молоткова Н.В. – Информационная основа потребительской оценки товаров и услуг: современные методы и подходы: Учеб. пособие. Тамбов: Изд-во Тамб. гос. техн. ун-та, 2005. С. 117

    7 ARGOi, http: // trust.utep.edu/umli/software.html

    8 ArgoUML, http: // argouml.tigris.org/

    9 Balsamiq Mockups, http: // www.balsamiq.com/products/mockups

    10 Business Process Modeling Notation. Final Notation Specification dtc/06–02–01, OMG, 2006. http: // www.omg.org/spec/BPMN/1.2/PDF/

    11 Computer Aided Software Engineering, http://blog.salamtura.com/

    post/computer–aided–software–engineering/

    12 Extensible Application Markup Language, http: // msdn.microsoft.com/ru–ru/library/ms752059.aspx

    13 GUI Design Studio, http: // www.carettasoftware.com/guidesignstudio/

    14 Microsoft Expression Blend, http://www.microsoft.com/expression/

    15 Павловская Т.А. – CC++. Программирование на языке высокого уровня. Самара: Изд–во ПГСГА, 2003. С. 207– 209.

    16 MicrosoftSilverlight, http: // www.microsoft.com/silverlight/

    17 Руководство по программированию на Аndroid, http: // www.http: // startandroid.ru/ru//rus

    18 OMG Unified Modeling Language (OMG UML), Infrastructure, Version 2.2, OMG, 2009. http: // www.omg.org/spec/UML/2.2/Infrastructure/PDF/

    19 OMG Unified Modeling Language (OMG UML), Superstructure, Version 2.2, OMG, 2009. http: // www.omg.org/spec/UML/2.2/Superstructure/PDF/

    20 Qt, http: // qt–project.org/

    21 Qt Designer, http: // qt–project.org/doc/qt–4.8/designer–manual.html

    22 Qt Graphics View Framework, http://qt–project.org/doc/qt–4.8/graphicsview.html

    23 Лорен Д., Кондер Ш. – Android за 24 часа. Программирование приложений под операционную систему Google Москва Изд-во: Рид Групп 2011, С. 252

    24 Гриффитс Д. – Head First. Программирование для Android Санкт-Петербург: Изд-во Питер, 2016. С. 77

    25 Голощапов А.Т. – CC++. Google Android. Программирование для мобильных устройств Питер: Изд–во БХВ-Петербург, 2011. С. 27– 29.

    26 Дейтел П., Дейтел Х., Дейтел Э., Моргано М – Android для разработчиков Санкт-Петербург: Изд–во Питер 2015. С. 20.

    Приложение А

    (обязательное)

    Листинг программы
    public class ColorsActivity extends AppCompatActivity {

    private FloatingActionButton fabNewGame;
    // Кнопки
    Button btnBaseColours, btnColour1, btnColour2, btnColour3, btnColour4, btnColour5, btnColour6,
    btnColour7, btnColour8, btnColour9, btnColour10, btnColour11, btnColour12,
    btnColour13, btnColour14, btnColour15, btnColour16, btnColour17, btnColour18,
    btnColour19, btnColour20, btnColour21;
    // Компонент для вывода результатов игры:
    TextView tvResult;
    // Базовый цвет и цвета для сравнения:
    int baseColour, childColour;
    // Максимальное число цветов, предлагаемых для сравнения:
    final int buttonCount=21;
    // Число уровней игры:
    final int maxLevel=7;
    // Текущий уровень игры:
    int currentLevel;
    // Переменные для фиксации затраченного на игру времени (старт и фи-ниш):
    long start, end;

    //Функция boolean eqColours(Button btnChild) возвращает «истина» если цвет кнопки btnChild совпадает с базовым цветом кнопки btnBaseColours:
    protected boolean eqColours(Button btnChild){
    // Сравнение цветов
    boolean result=false;
    // Базовый цвет
    ColorDrawable baseColor = (ColorDrawable) btnBaseColours.getBackground();
    int colorId1 = baseColor.getColor();
    // Цвет нажатой кнопки
    ColorDrawable childColor = (ColorDrawable) btnChild.getBackground();
    int colorId2 = childColor.getColor();
    // Цвета совпадают?
    if (colorId1 == colorId2)
    {
    result=true;
    }
    return result;
    }

    //Процедура gameLevel(int level) запускает игру с уровня level.
    protected void gameLevel(int level){
    // В начале процедуры проверяется не достигнут ли максимальный уро-вень maxLevel:
    if (level>maxLevel){
    end = System.nanoTime();
    tvResult.setText(getString(R.string.tvResult) + " " + Long.toString((end-start)/1000000000) + " с");
    //Snackbar.make(R.layout.activity_game, R.string.endGame, Snackbar.LENGTH_SHORT).show();
    Toast.makeText(ColorsActivity.this,"Игра завершена",Toast.LENGTH_SHORT).show();
    return;
    }
    // Если максимальный уровень игры не достигнут - задается случайный базовый цвет, в который окрашивается базовая кнопка
    Random rnd = new Random();
    baseColour = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
    btnBaseColours.setBackgroundColor(baseColour);
    // Далее задается случайный цвет всем другим кнопкам:
    for (int i=1; i<(level*3+1);i++) {
    Button btnChild = (Button) findViewById(getBaseContext().getResources().getIdentifier("btnColour" + i, "id", getBaseContext().getPackageName()));
    rnd = new Random();
    childColour = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
    btnChild.setBackgroundColor(childColour);
    }
    // Все кнопки вначале делаются невидимыми:
    for (int i=1; i<(buttonCount+1);i++) {
    Button btnChild = (Button) findViewById(getBaseContext().getResources().getIdentifier("btnColour" + i, "id", getBaseContext().getPackageName()));
    btnChild.setVisibility(View.INVISIBLE);
    }
    // Видимыми делаются только кнопки, соответствующие уровню игры level:
    for (int i=1; i<(level*3+1);i++) {
    Button btnChild = (Button) findViewById(getBaseContext().getResources().getIdentifier("btnColour" + i, "id", getBaseContext().getPackageName()));
    btnChild.setVisibility(View.VISIBLE);
    }
    // Одной из кнопок задается базовый цвет:
    int min = 1;
    int max = level*3;
    int j = rnd.nextInt(max - min + 1) + min;
    Button btn = (Button) findViewById(getBaseContext().getResources().getIdentifier("btnColour"+j, "id", getBaseContext().getPackageName()));
    btn.setBackgroundColor(baseColour);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_colors);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    startService(new Intent(this, MyService.class));

    // Кнопка Home
    ActionBar actionBar = getSupportActionBar();
    actionBar.setHomeButtonEnabled(true);
    actionBar.setDisplayHomeAsUpEnabled(true);

    btnBaseColours = (Button) findViewById(R.id.btnBaseColours);
    btnColour1 = (Button) findViewById(R.id.btnColour1);
    btnColour2 = (Button) findViewById(R.id.btnColour2);
    btnColour3 = (Button) findViewById(R.id.btnColour3);
    btnColour4 = (Button) findViewById(R.id.btnColour4);
    btnColour5 = (Button) findViewById(R.id.btnColour5);
    btnColour6 = (Button) findViewById(R.id.btnColour6);
    btnColour7 = (Button) findViewById(R.id.btnColour7);
    btnColour8 = (Button) findViewById(R.id.btnColour8);
    btnColour9 = (Button) findViewById(R.id.btnColour9);
    btnColour10 = (Button) findViewById(R.id.btnColour10);
    btnColour11 = (Button) findViewById(R.id.btnColour11);
    btnColour12 = (Button) findViewById(R.id.btnColour12);
    btnColour13 = (Button) findViewById(R.id.btnColour13);
    btnColour14 = (Button) findViewById(R.id.btnColour14);
    btnColour15 = (Button) findViewById(R.id.btnColour15);
    btnColour16 = (Button) findViewById(R.id.btnColour16);
    btnColour17 = (Button) findViewById(R.id.btnColour17);
    btnColour18 = (Button) findViewById(R.id.btnColour18);
    btnColour19 = (Button) findViewById(R.id.btnColour19);
    btnColour20 = (Button) findViewById(R.id.btnColour20);
    btnColour21 = (Button) findViewById(R.id.btnColour21);
    tvResult = (TextView) findViewById(R.id.tvResult);
    fabNewGame = (FloatingActionButton) findViewById(R.id.fabNewGame);

    // Запуск новой игры
    fabNewGame.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    // Старт игры с первого уровня
    tvResult.setText("");
    start= System.nanoTime();
    currentLevel=1;
    gameLevel(currentLevel);
    }
    });

    View.OnClickListener onClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    switch (view.getId()) {
    case R.id.btnColour1:
    if (eqColours(btnColour1) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour2:
    if (eqColours(btnColour2) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour3:
    if (eqColours(btnColour3) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour4:
    if (eqColours(btnColour4) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour5:
    if (eqColours(btnColour5) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour6:
    if (eqColours(btnColour6) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour7:
    if (eqColours(btnColour7) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour8:
    if (eqColours(btnColour8) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour9:
    if (eqColours(btnColour9) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour10:
    if (eqColours(btnColour10) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour11:
    if (eqColours(btnColour11) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour12:
    if (eqColours(btnColour12) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour13:
    if (eqColours(btnColour13) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour14:
    if (eqColours(btnColour14) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour15:
    if (eqColours(btnColour15) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour16:
    if (eqColours(btnColour16) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour17:
    if (eqColours(btnColour17) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour18:
    if (eqColours(btnColour18) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour19:
    if (eqColours(btnColour19) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour20:
    if (eqColours(btnColour20) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;
    case R.id.btnColour21:
    if (eqColours(btnColour21) == true) {
    currentLevel++;
    gameLevel(currentLevel);
    }
    break;

    }
    }
    };
    // Кнопкам присваивается слушатель (обработчик событий):
    btnBaseColours.setOnClickListener(onClickListener);
    btnColour1.setOnClickListener(onClickListener);
    btnColour2.setOnClickListener(onClickListener);
    btnColour3.setOnClickListener(onClickListener);
    btnColour4.setOnClickListener(onClickListener);
    btnColour5.setOnClickListener(onClickListener);
    btnColour6.setOnClickListener(onClickListener);
    btnColour7.setOnClickListener(onClickListener);
    btnColour8.setOnClickListener(onClickListener);
    btnColour9.setOnClickListener(onClickListener);
    btnColour10.setOnClickListener(onClickListener);
    btnColour11.setOnClickListener(onClickListener);
    btnColour12.setOnClickListener(onClickListener);
    btnColour13.setOnClickListener(onClickListener);
    btnColour14.setOnClickListener(onClickListener);
    btnColour15.setOnClickListener(onClickListener);
    btnColour16.setOnClickListener(onClickListener);
    btnColour17.setOnClickListener(onClickListener);
    btnColour18.setOnClickListener(onClickListener);
    btnColour19.setOnClickListener(onClickListener);
    btnColour20.setOnClickListener(onClickListener);
    btnColour21.setOnClickListener(onClickListener);

    // Старт игры с первого уровня
    tvResult.setText("");
    start= System.nanoTime();
    currentLevel=1;
    gameLevel(currentLevel);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    // получим идентификатор выбранного пункта меню
    int id = item.getItemId();

    // Операции для выбранного пункта меню
    switch (id) {
    case R.id.action_newgame:
    tvResult.setText("");
    start= System.nanoTime();
    public class ColorsActivity extends AppCompatActivity {

    private FloatingActionButton fabNewGame;
    // Кнопки
    Button btnBaseColours, btnColour1, btnColour2, btnColour3, btnColour4, btnColour5, btnColour6,
    btnColour7, btnColour8, btnColour9, btnColour10, btnColour11, btnColour12,
    btnColour13, btnColour14, btnColour15, btnColour16, btnColour17, btnColour18,
    btnColour19, btnColour20, btnColour21;
    // Компонент для вывода результатов игры:
    TextView tvResult;
    // Базовый цвет и цвета для сравнения:
    int baseColour, childColour;
    // Максимальное число цветов, предлагаемых для сравнения:
    final int buttonCount=21;
    // Число уровней игры:
    final int maxLevel=7;
    // Текущий уровень игры:
    int currentLevel;
    // Переменные для фиксации затраченного на игру времени (старт и фи-ниш):
    long start, end;

    //Функция boolean eqColours(Button btnChild) возвращает «истина» если цвет кнопки btnChild совпадает с базовым цветом кнопки btnBaseColours:
    protected boolean eqColours(Button btnChild){
    // Сравнение цветов
    boolean result=false;
    // Базовый цвет
    ColorDrawable baseColor = (ColorDrawable) btnBaseColours.getBackground();
    int colorId1 = baseColor.getColor();
    // Цвет нажатой кнопки
    ColorDrawable childColor = (ColorDrawable) btnChild.getBackground();
    int colorId2 = childColor.getColor();
    // Цвета совпадают?
    if (colorId1 == colorId2)
    {
    result=true;
    }
    return result;
    }

    //Процедура gameLevel(int level) запускает игру с уровня level.
    protected void gameLevel(int level){
    // В начале процедуры проверяется не достигнут ли максимальный уро-вень maxLevel:
    if (level>maxLevel){
    end = System.nanoTime();
    tvResult.setText(getString(R.string.tvResult) + " " + Long.toString((end-start)/1000000000) + " с");
    //Snackbar.make(R.layout.activity_game, R.string.endGame, Snackbar.LENGTH_SHORT).show();
    Toast.makeText(ColorsActivity.this,"Игра завершена",Toast.LENGTH_SHORT).show();
    return;
    }
    // Если максимальный уровень игры не достигнут - задается случайный базовый цвет, в который окрашивается базовая кнопка
    Random rnd = new Random();
    baseColour = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
    btnBaseColours.setBackgroundColor(baseColour);
    // Далее задается случайный цвет всем другим кнопкам:
    for (int i=1; i<(level*3+1);i++) {
    Button btnChild = (Button) findViewById(getBaseContext().getResources().getIdentifier("btnColour" + i, "id", getBaseContext().getPackageName()));
    rnd = new Random();
    childColour = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
    btnChild.setBackgroundColor(childColour);
    }
    // Все кнопки вначале делаются невидимыми:
    for (int i=1; i<(buttonCount+1);i++) {
    Button btnChild = (Button) findViewById(getBaseContext().getResources().getIdentifier("btnColour" + i, "id", getBaseContext().getPackageName()));
    btnChild.setVisibility(View.INVISIBLE);
    }
    // Видимыми делаются только кнопки, соответствующие уровню игры level:
    for (int i=1; i<(level*3+1);i++) {
    Button btnChild = (Button) findViewById(getBaseContext().getResources().getIdentifier("btnColour" + i, "id", getBaseContext().getPackageName()));
    btnChild.setVisibility(View.VISIBLE);
    }
    // Одной из кнопок задается базовый цвет:
    int min = 1;
    int max = level*3;
    int j = rnd.nextInt(max - min + 1) + min;
    Button btn = (Button) findViewById(getBaseContext().getResources().getIdentifier("btnColour"+j, "id", getBaseContext().getPackageName()));
    btn.setBackgroundColor(baseColour);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_colors);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    startService(new Intent(this, MyService.class));

    // Кнопка Home
    ActionBar actionBar = getSupportActionBar();
    actionBar.setHomeButtonEnabled(true);
    actionBar.setDisplayHomeAsUpEnabled(true);
    1   2   3   4   5   6   7


    написать администратору сайта