Перейти к содержимому

Фото
- - - - -

Võrgurakendused I / Programmeerimise põhikursus


  • Вы не можете создать новую тему
  • Please log in to reply
1046 ответов в этой теме

#901 archieb0ld

archieb0ld
  • Пользователь
  • 646 сообщений
  • Откуда:IABB

Отправлено 27 января 2011 - 14:39

Infern0,
возможно, я код писал в не очень трезвом состоянии, и вообще, я не претендую на звание программиста

тема такая, что в последнем ноде поле nextnode будет иметь значение null. Суть моего кода такова, что дойдя до нода, который будет ссылаться на следующий нод, у которого в свою очередь в поле nextnode будет стоять null, он этот следующий нод добавляет в новый список, а в текущем меняет значение поля nextnode на null.
Я щас глянул, и действительно, цикл в данной реализации будет прогоняться только один раз, возможно нужно ещё какой-то флаг добавить, который будет запускать полный цикл снова, но мне влом. Сразу после экзамена у меня ещё крутилось в голове то, что я написал, и судя по результатам, преподу это понравилось. Сейчас уже не помню.

И вообще, я из этой темы ухожу, т.к. оба сабжевых премета наконец-то сдал :)
  • 0
www.last.fm/user/archieb0ld
Когда я перестану пить...совершенно, все скажут: "Как же он хорош! Какая милашка!" © НаиВ
Когда таким, как ты сейчас, был я, таких, как я сейчас, не слушал. © Тараканы

#902 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 27 января 2011 - 15:49

Все-таки советую написать мою версию, не смотря на результаты Арчи =)
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#903 aexclusivea

aexclusivea
  • Пользователь
  • 110 сообщений
  • Откуда:Tallinn

Отправлено 29 января 2011 - 22:10

Если здесь есть те, кто писал lisaeksam 27 числа, то скажите вам Аниер исправил в ыйсе оценку? Сессия ведь закончилась уже... и сейчас выходные , а у меня в ойсе так до конца и не выставлено то, что надо. Стоит беспокоиться?
  • 0

#904 GGr

GGr
  • Пользователь
  • 68 сообщений
  • Откуда:Nar/Tln

Отправлено 14 сентября 2011 - 18:43

Ахтунг! Диверсия:))

Файл Main.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class Main {
    private static final int[] BEST_MOVES = {5, 1, 3, 7, 9};
    private static final String[] WIN_OR_PREVENT_PATTERNS = {"-1.-1|.-1-1|-1-1.", "1.1|.11|11."};
    private static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    private static PrintWriter writer = new PrintWriter(System.out, true);
    private static Board board = new Board();

    public static void main(String[] args) {
        try {
            while (!board.isGameFinished()) {
                writer.println("please make your turn!(Number from 1-9)");
                int input = readMove(reader.readLine());

                if (input < 1 || input > 9 || !board.makeTurn(1, input)) {
                    continue;
                }

                while (!board.isGameFinished() && !board.makeTurn(-1, calculateComputerMove())) ;
                writer.println(board);
            }
            if (board.hasWinner()) {
                writer.println("Congratulations to player " + board.getWinner());
            } else {
                writer.println("Draw game!");
            }
        } catch (IOException e) {
            writer.println("unable to read input");
        } finally {
            try {
                writer.close();
                reader.close();
            } catch (IOException ignore) {
            }
        }
    }

    private static int calculateComputerMove() {
        int move = winOrPreventPlayerWin();
        if (move != 0) {
            return move;
        }
        for (int bestMove : BEST_MOVES) {
            int token = board.getToken(bestMove);
            if (token == 0)
                return bestMove;
        }
        int result = (int) (Math.random() * 10);
        return result > 0 ? result : 1;
    }

    private static int winOrPreventPlayerWin() {
        for (int[] row : board.winningRows) {
            String situation = board.getSituation(row);
            for (String pattern : WIN_OR_PREVENT_PATTERNS) {
                if (situation.matches(pattern)) {
                    for (int index : row) {
                        if (board.getToken(index) == 0) {
                            return index;
                        }
                    }
                }
            }
        }
        return 0;
    }

    private static int readMove(String userInput) {
        try {
            return Integer.parseInt(userInput);
        } catch (NumberFormatException e) {
            return 0;
        }
    }
}

Файл Board.java
import java.util.HashMap;
import java.util.Map;

public class Board {

    public static final String WINNER_X = "111";
    public static final String WINNER_O = "-1-1-1";
    public static final Map<Integer, String> PLAYER_TOKEN = new HashMap<Integer, String>()
    { { put(1, "X"); put(-1, "O"); put(0, " "); } };
    public int[][] winningRows = new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {1, 4, 7}, {2, 5, 8}, {3, 6, 9}, {1, 5, 9}, {3, 5, 7}};
    private final int[] board = new int[9];

    public boolean makeTurn(int player, int cell) {
        int s = getToken(cell);
        if (s != 0) {
            return false;
        }

        board[--cell] = player;
        return true;
    }

    public int getToken(int cell) {
        return board[--cell];
    }

    public boolean isGameFinished() {
        return hasWinner() || isNoMoreSpace();
    }

    public String getWinner() {
        for (int[] winningRow : winningRows) {
            String combination = getSituation(winningRow);
            if (WINNER_O.equals(combination)) {
                return "O";
            }
            if (WINNER_X.equals(combination)) {
                return "X";
            }
        }
        return "";
    }

    public String getSituation(int[] winningRow) {
        String situation = "";
        for (int i : winningRow) {
            situation += getToken(i);
        }
        return situation;
    }

    public boolean hasWinner() {
        return !getWinner().isEmpty();
    }

    private boolean isNoMoreSpace() {
        boolean result = true;
        for (int s : board) {
            result = result && s != 0;
        }
        return result;
    }

    @Override
    public String toString() {
        String result = "|";
        for (int i = 1; i <= board.length; i++) {
            int token = getToken(i);
            result += PLAYER_TOKEN.get(token) + "|";
            if (i % 3 == 0) {
                result += "\n" + (i != 9 ? "|" : "");
            }
        }
        return result;
    }
}

Сообщение изменено: GGr (14 сентября 2011 - 18:50 )

  • 0

#905 xpaMoBHik

xpaMoBHik
  • Пользователь
  • 52 сообщений
  • Откуда:КОПЛИ

Отправлено 30 сентября 2011 - 23:59

Во второй домашке по ппк, xml что-ли генерируется на ходу?
  • 0

#906 xpaMoBHik

xpaMoBHik
  • Пользователь
  • 52 сообщений
  • Откуда:КОПЛИ

Отправлено 01 октября 2011 - 11:37

2011-09-12T11:57:23.076Z
.076Z - это что такое, кто-нибудь знает?

Сообщение изменено: xpaMoBHik (01 октября 2011 - 14:13 )

  • 0

#907 Natali666

Natali666
  • Пользователь
  • 48 сообщений
  • Откуда:Силламяэ, Эстония

Отправлено 02 октября 2011 - 18:19

у кого-нибудь есть код, который Tammel писал на лекции по Võrgurakendused I?
  • 0

#908 KatrionaZ

KatrionaZ
  • Пользователь
  • 29 сообщений

Отправлено 10 октября 2011 - 17:34

Подскажите плиз страницу idk1011 Programmeerimise algkursus у Венделин.
Спасибо
  • 0

#909 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 10 октября 2011 - 17:40

xpaMoBHik, беднягу в гугле забанили?

076 это милисекунды, Z - timezone
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#910 xpaMoBHik

xpaMoBHik
  • Пользователь
  • 52 сообщений
  • Откуда:КОПЛИ

Отправлено 10 октября 2011 - 18:20

shb,
Если спрашиваю, значит есть на то резон. Может я сторонник мелкомягких и противнивник гугла! По сему можно было просто ответить, без посылания на 4 буквы.
  • 0

#911 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 10 октября 2011 - 21:33

xpaMoBHik, ну я ж не послал, а ответил =)
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#912 KatrionaZ

KatrionaZ
  • Пользователь
  • 29 сообщений

Отправлено 16 октября 2011 - 18:38

Ищу 2е задание по Programmeerimise põhikursus http://www.lambda.ee...x.php/Scriptiti
  • 0

#913 GGr

GGr
  • Пользователь
  • 68 сообщений
  • Откуда:Nar/Tln

Отправлено 19 октября 2011 - 21:17

сейчас выложу :)
  • 0

#914 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 20 октября 2011 - 17:39

GGr, ну что, где код-то??
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#915 V1cky

V1cky
  • Постоялец
  • 1 027 сообщений

Отправлено 20 октября 2011 - 17:56

ждем-ждем)
  • 0

#916 Zentso

Zentso
  • Новобранец
  • 3 сообщений

Отправлено 20 октября 2011 - 18:03

Народ,а что за Student ID у него в примере ? Откуда он его взял ? (в ППК во втором задании).Самому сгенерировать его чтоли и подставить ?
  • 0

#917 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 20 октября 2011 - 18:30

Zentso, если ты хочешь использовать его данные, то очевидно тебе надо использовать те айдишки, которые там присутствуют =)

<title type='text'>083027IABB</title> может быть вытащен о айдишке <id>https://spreadsheets...asic/iow8x</id>
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#918 LuXuRy

LuXuRy
  • Пользователь
  • 230 сообщений
  • Откуда:Таллинн, Эстония

Отправлено 25 октября 2011 - 12:44

кто-нибудь скриптити уже сдал?))..может поделиться?))))
  • 0
А если наступил ноябрь, а рядом кто-то до сих пор терпит ваш скверный характер и выжимает по утрам фреш на двоих, значит этот ноябрь, черт возьми, удался.

#919 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 25 октября 2011 - 13:25

LuXuRy,GGr собирался код в теме выложить =) видимо он завис

А вообще я за то, чтобы все все сами решали =) Девочки программисты конечно хорошо, но блин =) вы же не только для того чтобы кофе делать и любоваться вами созданы

Сообщение изменено: shb (25 октября 2011 - 13:26 )

  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#920 LuXuRy

LuXuRy
  • Пользователь
  • 230 сообщений
  • Откуда:Таллинн, Эстония

Отправлено 25 октября 2011 - 14:34

shb,
серьёзно?))...мне ещё детей рожать в муках, а ты меня ещё хочешь код заставить писать! :(

а вообще я зависла на сортировке, и не представляю, что дальше делать.
  • 0
А если наступил ноябрь, а рядом кто-то до сих пор терпит ваш скверный характер и выжимает по утрам фреш на двоих, значит этот ноябрь, черт возьми, удался.

#921 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 25 октября 2011 - 15:08

LuXuRy, как ты рожать собираешься, если ты вещи отсортировать не можешь? =)

Если ты уже беременная - то можешь не сортировать, а взять академ =)
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#922 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 25 октября 2011 - 17:19

Даю бесплатные консультации красивым девушкам по месту их проживания. Консультирую по любым предметам :lol:

Могу и с сортировкой помочь =) А потом хоть рожайте =))
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#923 Kroi

Kroi
  • Новобранец
  • 12 сообщений

Отправлено 13 ноября 2011 - 09:53

Напишите ссылку на пример игры, которую нужно для третей домашки сделать. А то я задание прочитала, но даже представить себе не могу, как она должна выглядеть.
  • 0

#924 Головокраб

Головокраб
  • Пользователь
  • 96 сообщений
  • Откуда:IAPB27, Таллин

Отправлено 13 ноября 2011 - 12:57

Напишите ссылку на пример игры, которую нужно для третей домашки сделать. А то я задание прочитала, но даже представить себе не могу, как она должна выглядеть.

тыц
  • 0

#925 GGr

GGr
  • Пользователь
  • 68 сообщений
  • Откуда:Nar/Tln

Отправлено 18 ноября 2011 - 18:48

Жэнщины и дэти, тысяча извинений Ж))
Много кода, написанного на коленке, аттачед.

Прикрепленные файлы

  • Прикрепленный файл  Titi.zip   4,5К   31 Количество загрузок

  • 0

#926 TrAgiD

TrAgiD
  • Новобранец
  • 12 сообщений

Отправлено 22 ноября 2011 - 18:49

Кто нибудь у Anti по Võrgurakendused 3ью домашку уже сделал??
  • 0

#927 Bagirka

Bagirka

    Bad Fox

  • Постоялец
  • 1 080 сообщений

Отправлено 22 ноября 2011 - 19:08

TrAgiD, по-моему, все очень ждут, что он опять продлит срок сдачи :lol:
  • 0

#928 xqzme

xqzme
  • Пользователь
  • 51 сообщений

Отправлено 30 ноября 2011 - 17:00

Говорилось ли что-нибудь о том, когда будет контрольная по Выргуракендусед и как она будет выглядеть?
  • 0

#929 Smooth

Smooth
  • Пользователь
  • 51 сообщений

Отправлено 07 декабря 2011 - 20:56

Антти надо сдавать 4ю домашку? Можно ли 3ю сдать на сессии? Кто-нибудь в курсе?
  • 0

#930 Bagirka

Bagirka

    Bad Fox

  • Постоялец
  • 1 080 сообщений

Отправлено 07 декабря 2011 - 23:22

Smooth, а вот черт его знает. Вообще ему третью-то домашку сдало всего пара человек, да и времени у нас уже не осталось. Куда четвертую-то пихать?

Насчет того, можно ли сдать на сессии - тоже непонятно. Можешь попробовать ему написать через мудл, мне ответил. Через две с половиной недели >_<
  • 0