Войти
ФлеймФорумРазработка игр

Сделай Тетрис за 1 день (и выложи сюда) (4 стр)

Страницы: 13 4 5 612 Следующая »
#45
0:49, 25 авг. 2017

wMonaRXw
> (ну думаю и времени больше затрачено было)
Три недели ненапряжного труда :D

Фильтрацию текстур включи, красивее будет.

#46
1:34, 25 авг. 2017

Сделайте тетрис наоборот.

Что то вроде тени подымающийся с низу, и как только она доходит до верхних заполненных клеток то их захватывает и улетает в  верх.
Если не может захватить то появляется полосы( аналог убирания ) и уже с учетом полосы захватывает.

#47
2:17, 25 авг. 2017

susageP, сделай.

#48
8:21, 25 авг. 2017

Джек Аллигатор
> susageP, сделай.
Нет, ты. Сасагер приказал.

#49
9:19, 25 авг. 2017

Джек Аллигатор
Настройки такой не заметил =)

#50
10:28, 25 авг. 2017

Исправил баг, теперь вполне играбельно:
gr_tetris_release

Змейку я сделал ранее, так что отныне могу считать себя труъ разработчиком и идти делать убийцу Крайзиса.

#51
23:56, 25 авг. 2017
Изображение

https://github.com/ud1/ud1_tetris

#52
4:39, 26 авг. 2017
ud1
> ud1
https://blog.not-a-kernel-guy.com/2008/10/20/361/
#53
6:28, 26 авг. 2017

Написaл, когда изучал особенности *.hta ;)

<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<meta http-equiv='refresh' content='3600; url=http://www.gamedev.ru/users/?id=33546' />
<title>Tetris</title>
<style type='text/css'>
body
{
        background-color        :buttonface;
        background-image        :url();
        background-repeat       :no-repeat;
        color                   :black;
        margin-top              :0px;
        margin-left             :0px;
        margin-right            :0px;
        margin-bottom           :0px;
        overflow                :auto;
}
pre
{
        color                   :black;
}
</style>
<hta:application
        applicationName         ='Alikberov'
        border                  ='yes'
        contextMenu             ='no'
        icon                    ='Alikberov.ico'
        innerBorder             ='no'
        maximizeButton          ='yes'
        navigable               ='yes'
        scroll                  ='yes'
        selection               ='yes'
        singleInstance          ='yes'
>
</hta:application>
<script for='window' event='onload' language='javascript'>
        setTimeout("window.resizeTo(160, 320)", 0);
        for(i = 0; i < 16; ++ i)
                for(j = 0, field[i] = []; j < 16; ++ j)
                        field[i].push("0");
        Draw();
</script>
<script for='document' event='onkeydown' language='javascript'>
        var
                xx = x, ff = figure;
        switch(event.keyCode) {
        case 37:        -- x; break;
        case 38:        figure = (figure & 0x4FFFF) | ((figure + 0x30000) & 0x30000); break;
        case 39:        ++ x; break;
        default:        return;
        }
        fig = SetFigure(figure, x, y);
        if(fig == true)
                return x = xx, figure = ff;
        document.getElementsByTagName("pre")[0].innerText = fig.join("").replace(/,/g, "").replace(/0/g, "·")
                                                                //      .replace(/1/g, "X")
                                                                        .replace(/(.{16})/g, "$1\r\n");
</script>
<script language='javascript'>
var
        x = 10, y = 0, z = 0, figure = 0, score = 0,
        field = [],
        rotate = [0, 5, 3, 6, 4, 1, 7, 2],
        cubic = [
                0x2222, //      I
                0x04E0, //      T
                0x0644, //      L
                0x0630, //      S
                0x0660          //      O
                ];
function SetFigure(code, x, y, z) {
        var
                result = [],
                i1, j1, rot = rotate[code >> 16],
                ci = rot & 0x1 ? 3 : 0,
                cj = rot & 0x2 ? 3 : 0,
                cs = rot & 0x4 ? true : false;
        for(i = 0; i < 16; ++ i)
                result[i] = [].concat(field[i]);
        for(i = 0; i < 4; ++ i) {
                for(j = 0; j < 4; ++ j) {
                        if(cs)
                                i1 = j ^ cj, j1 = i ^ ci;
                        else
                                i1 = i ^ ci, j1 = j ^ cj;
                        i1 += y;
                        j1 += x;
                        if(code & 1) {
                                if(((i1 + 32) % 32) > 15 || ((j1 + 32) % 32) > 15 || result[i1][j1] != "0")
                                        return true;
                                result[i1][j1] = String.fromCharCode(0x23, 0x25, 0x40, 0xA9, 0xAE).charAt(z);
                        }
                        code >>= 1;
                }
        }
        return result;
}
function Draw() {
        var
                fig, k, l;
        if(figure == 0) {
                figure = Math.floor(Math.random() * 0x80000) & 0x7FFFF;
                z = figure % 5;
                figure = (figure & 0x70000) | cubic[figure % cubic.length];
                x = 7, y = 0;
        }
        fig = SetFigure(figure, x, y, z);
        if(fig == true) {
                score += 1 + z;
                figure = 0;
        } else {
                document.getElementsByTagName("pre")[0].innerText = fig.join("").replace(/,/g, "").replace(/0/g, "·")
                                                                        //      .replace(/1/g, "X")
                                                                                .replace(/(.{16})/g, "$1\r\n") + "\r\nSCORE: " + score;
                if(SetFigure(figure, x, y += 1) == true) {
                        figure = 0;
                        for(i = 0; i < 16; ++ i)
                                field[i] = [].concat(fig[i]);
                        for(i = 15, l = 0; i > 0; -- i) {
                                k = 0;
                                for(j = 0; j < 16; ++ j) {
                                        if(field[i][j] != "0")
                                                ++ k;
                                }
                                if(k == 16) {
                                        ++ l;
                                        for(k = i ++; k > 0; -- k)
                                                for(j = 0; j < 16; ++ j)
                                                        field[k][j] = field[k - 1][j];
                                        document.getElementsByTagName("pre")[0].innerText = fig.join("").replace(/,/g, "").replace(/0/g, "·")
                                                                                                //      .replace(/1/g, "X")
                                                                                                        .replace(/(.{16})/g, "$1\r\n") + "\r\nSCORE: " + score;
                                }
                        }
                        score += l << z;
                }
        }
        setTimeout(Draw, 700 - (score >> 4));
}
</script>
<body onload='Draw()'>
<pre></pre>
</body>
</html>

#54
9:18, 26 авг. 2017

Васян
Готово
https://yadi.sk/d/V8krG84f3MLVzq
Это Тетрис под ДОС, можно запускать из Досбокса, сделано, судя по дате файла, в марте 1996 г., не гарантирую, что за день, но примерно в такие сроки. Старого EXEшника я не нашёл, только исходник, перекомпилировал сейчас.

#55
15:38, 26 авг. 2017

ud1
Mikle
Спасибо, добавил.

Ребята, кто сделал Тетрис, вы классные.

Alikberov
Скачал текст, сохранил в index.hta и запустил. Играет около минуты, потом перебрасывает в твой профиль. Я всё правильно сделал?
Ты дашь ссылку на исполняемый файл или мне залить мой index.hta?

Я, кстати, не буду давать ссылки на посты. Если кто-то удалит свой пост, то случится плохое. Или я чего-то не понимаю?

У меня непредвиденная работа. Выходной только завтра (27 августа), так что мой Тетрис завтра будет.

#56
15:47, 26 авг. 2017

Васян
Чем таймлапс записать нашел?)

#57
15:54, 26 авг. 2017

Васян
> Скачал текст, сохранил в index.hta и запустил. Играет около минуты, потом
> перебрасывает в твой профиль. Я всё правильно сделал?
Там же в четвертой строчке стоит

<meta http-equiv='refresh' content='60; url=http://www.gamedev.ru/users/?id=33546' />
Удали и наслаждайся игрой
#58
16:05, 26 авг. 2017

emptiness_rain
Вроде бы Chronolapse (первая строка в Гугле). Кстати, сейчас посмотрел интерфейс, кнопочки, надписи и похоже, что прога может так же собрать картинки в видео. Я последний раз этого не заметил.

#59
16:08, 26 авг. 2017

Васян
О отлично, теперь тож можно тетрис запилить)

Страницы: 13 4 5 612 Следующая »
ФлеймФорумРазработка игр

Тема в архиве.