• ,

level34.lesson15.big01 Задание 10

В игре будет несколько уровней, все уровни будут храниться в текстовом файле. Сейчас мы напишем тестовую реализацию загрузчика уровней LevelLoader. Почему тестовую? Полный функционал нам пока не нужен, он довольно сложный, оставим его на потом. А пока: 10.1. Создай класс LevelLoader в пакете model. 10.2. Добавь в класс конструктор, принимающий Path levels. Параметр levels – это путь к тестовому файлу, содержащему описание уровней. 10.3. Добавь в класс LevelLoader метод GameObjects getLevel(int level). Пока не важно, что будет возвращать этот метод. Пусть он всегда возвращает набор из: одного игрока, одного дома, одного ящика и нескольких стен. Так будет проще отладить работу игры. Координаты каждого объекта должны быть не нулевые и кратны половине FIELD_SELL_SIZE (центр каждого объекта должен быть в середине ячейки поля).

import java.nio.file.Path;
import java.util.HashSet;
import java.util.Set;
public class LevelLoader {
    private Path levels;
    public LevelLoader(Path levels) {
        this.levels = levels;
    }
    public GameObjects getLevel(int level) {
        Set<Wall> walls = new HashSet<>();
        Set<Box> boxes = new HashSet<>();
        Set<Home> homes = new HashSet<>();
        Player player;
        walls.add(new Wall(200, 200));
        walls.add(new Wall(240, 240));
        walls.add(new Wall(280, 280));
        boxes.add(new Box(160, 160));
        homes.add(new Home(300, 300));
        player = new Player(100, 100);
        return new GameObjects(walls, boxes, homes, player);
    }
}


Я не пойму почему не проходит? Я уже перечитал тему тоже с обсуждением этого задания и все советы, что там были перепробовал — безрезультатно. Написано «Координаты каждого объекта должны быть не нулевые и кратны половине FIELD_SELL_SIZE». FIELD_SELL_SIZE у нас 20, половина — 10. Значит любое число с нулем кратное половине FIELD_SELL_SIZE. Подскажите куда обратить внимание.

Нужна помощь тех,кто уже работает,или купил подписку!

Совсем недавно закончил 10 уровень, пролистал к 15 и тут материя закончилась.Я остался один на один со всеми новыми вопросами.Тут мне пришло в голову, что я так и ничего стоящего написать не могу.Дайте мне масив я отсортирую, выведу в возрозтающем, убивающем порядке.Но ничего действительно ценного я не напишу.У меня вопрос:
Я действительно не создан для етого, или просто слишком мало практики, слишком мало знаний?
Вспомните себя, после окончания бесплатной части.Вы были такие же?(+-)Или уже четко знали как организировать и построить логику приложения?
P.S.мне 15, денег на подписку скорей всего не будет(но шанс есть)Извините за все ошибки, так как русский не мой родной язык.

Синхронизация и её корректное использование.

Мини введение.
Убился, решая две бонусные задачи CrUD 17 лвла. Готов был задушить составителей этих задач, но оба раза не принималось по моей вине (тупо забывал убрать код для тестирования кода :)). Так что, разрабы, извините, если что, проклятия с вас снял)) Но не об этом сейчас…

Проблема.
Хочется с людьми поспорить на тему: какие методы нуждаются в синхронизации, в синхронизации по классу или его объекту или вообще по чему-нибудь ещё))) Проштудировал лекции 17 уровня, читал главу про трэды Эккеля (ну и мудрёно пишет, философ), но мог что пропустить, поэтому не сильно пинайте) Для примера возьмём ту самую бонусную задачу CrUD Batch. Код не ищите, всё нужное сейчас здесь будет))

Есть там список, поле класса:
public static List<Person> allPeople = new ArrayList<Person>();

Не вдаваясь в подробности, скажу, что список редактируется числом методов (ну или просто используется ими). Начал я вроде как книгу писать, но в принципе на этом повествование заканчивается. Вот вам эти методы, прошу объяснить, какие из них и как нужно синхронизировать (ну или хотя бы ткните в какую-нибудь ссылку носом))).

public static void create(String name, String sex, String bd) throws ParseException
    {
        if (sex.equals("м")) allPeople.add(Person.createMale(name, inFormat.parse(bd)));
        else if (sex.equals("ж")) allPeople.add(Person.createFemale(name, inFormat.parse(bd)));

        System.out.println(allPeople.size() - 1);
    }

    public static void update(int id, String name, String sex, String bd) throws ParseException
    {
        if (sex.equals("м"))
        {
            allPeople.get(id).setName(name);
            allPeople.get(id).setSex(Sex.MALE);
            allPeople.get(id).setBirthDay(inFormat.parse(bd));
        } else if (sex.equals("ж"))
        {
            allPeople.get(id).setName(name);
            allPeople.get(id).setSex(Sex.FEMALE);
            allPeople.get(id).setBirthDay(inFormat.parse(bd));
        }
    }

    public static void delete(int id)
    {
        allPeople.get(id).setBirthDay(null);
    }

    public static void info(int id)
    {
        System.out.println(allPeople.get(id).getName() + (allPeople.get(id).getSex().equals(Sex.MALE) ? " м " : " ж ") + outFormat.format(allPeople.get(id).getBirthDay()));
    }
  • ,

level07.lesson06.task01

package com.javarush.test.level07.lesson06.task01;

/* 5 различных строчек в списке
1. Создай список строк.
2. Добавь в него 5 различных строчек.
3. Выведи его размер на экран.
4. Используя цикл выведи его содержимое на экран, каждое значение с новой строки.
*/

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        //Напишите тут ваш код
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        ArrayList<String> s = new ArrayList<String>();
        for (int i = 0; i < 5; i++)
        {
            s.add(reader.readLine());
        }
        System.out.println(s.size());
        for (int i = 0; i < s.size(); i++)
        {
            System.out.println(s.get(i));
        }
    }
}


Все работает и правильно, но при отправке на сервер приходит ответ «Программа работала слишком долго и была закрыта». Что не так?