• 0.10

  • +0.46

Написал игру на Java в 14 лет.

Предыстория
В младших классах я очень любил компьютерные игры. Со временем у меня все больше и больше появлялось желание
создать что-то свое. Я узнал об одной очень интересной профессии — Программист. Программист, в моем понимании творец, писатель в своем роде, он может создать что захочет, написав строчки кода. Я сразу же загорелся желанием стать им. К тому же, зарплата у программистов довольно высокая.
Начало
Первым, как я считал «языком программирования» для меня стал html. Я изучил его примерно за несколько недель. Дальше css, и тут меня занесло в этот неизведанный мир… Я начал верстать простые страницы, делать прототипы сайтов, сидел на разных форумах, в общем мне все это безумно нравилось.
Как я познакомился с Java
У меня был выбор, идти дальше изучать веб, или пойти в ПО программирование. Я выбрал ПО. Начал искать курсы облазил весь гугл и нашел JavaRush. Очень зацепили фишки, что курс построен в виде игры, и что во время обучения присутствует юмор. Примерно за месяц прошел первые 10 уровней. Потом нужно было покупать подписку, но я так и не решился. К следующему НГ я понял, что нужно что-то менять, и купил долгожданную подписку. С этого момента я решил серьезно заниматься. На данный момент мне 14 лет, я достиг 27 уровня. Недавно захотелось написать что-то самому, с нуля. И у меня это получилось. Я написал игру GetFoodGame. Для запуска дважды кликните по файлу GetFoodGame.jar. Идея такова: сверху падают фрукты а игрок, управляю вазой с помощью стрелочек (Влево, Вправо) ловит их. Когда вы не смогли поймать 2 фрукта, появляется окошко, с надписью что вы проиграли. По моему мнению, реализовал я не очень хорошо (мягко говоря) слишком много костылей. Буду рад конструктивной критике ;) Всем хорошего настроения, и успехов !)
  • ,

package com.javarush.task.task16.task1627;

Здравствуйте! Решаю задачку на 16-ом уровне. Валидтаор не принимает:
package com.javarush.task.task16.task1627;

import java.util.ArrayList;
import java.util.List;

public class Solution {
    public static void main(String[] args) throws InterruptedException {
        OnlineGame onlineGame = new OnlineGame();
        onlineGame.start();
    }

    public static class OnlineGame extends Thread {
        public static volatile boolean isWinnerFound = false;

        public static List<String> steps = new ArrayList<String>();

        static {
            steps.add("Начало игры");
            steps.add("Сбор ресурсов");
            steps.add("Рост экономики");
            steps.add("Убийство врагов");
        }

        protected Gamer gamer1 = new Gamer("Ivanov", 3);
        protected Gamer gamer2 = new Gamer("Petrov", 1);
        protected Gamer gamer3 = new Gamer("Sidorov", 5);

        public void run() {
            gamer1.start();
            gamer2.start();
            gamer3.start();

            while (!isWinnerFound) {
            }
            gamer1.interrupt();
            gamer2.interrupt();
            gamer3.interrupt();
        }
    }

    public static class Gamer extends Thread {
        private int rating;

        public Gamer(String name, int rating) {
            super(name);
            this.rating = rating;
        }

        @Override
        public void run() {
            //Add your code here - добавь код тут
            try
            {
                while (!OnlineGame.isWinnerFound)
                {
                    int i;
                    for (i = 0; i < OnlineGame.steps.size(); i++)
                    {
                        System.out.println(getName() + ":" + OnlineGame.steps.get(i));
                        Thread.sleep(1000/rating);
                    }
                    if (i == OnlineGame.steps.size())
                    {
                        System.out.println(getName() + ":победитель!");
                        OnlineGame.isWinnerFound = true;
                    }
                }
            }

            catch (Exception e)
            {
                System.out.println(getName() + ":проиграл");
            }
        }
    }
}