wMonaRXw
> (ну думаю и времени больше затрачено было)
Три недели ненапряжного труда :D
Фильтрацию текстур включи, красивее будет.
Сделайте тетрис наоборот.
Что то вроде тени подымающийся с низу, и как только она доходит до верхних заполненных клеток то их захватывает и улетает в верх.
Если не может захватить то появляется полосы( аналог убирания ) и уже с учетом полосы захватывает.
susageP, сделай.
Джек Аллигатор
> susageP, сделай.
Нет, ты. Сасагер приказал.
Джек Аллигатор
Настройки такой не заметил =)
Исправил баг, теперь вполне играбельно:
gr_tetris_release
Змейку я сделал ранее, так что отныне могу считать себя труъ разработчиком и идти делать убийцу Крайзиса.

Напис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>Васян
Готово
https://yadi.sk/d/V8krG84f3MLVzq
Это Тетрис под ДОС, можно запускать из Досбокса, сделано, судя по дате файла, в марте 1996 г., не гарантирую, что за день, но примерно в такие сроки. Старого EXEшника я не нашёл, только исходник, перекомпилировал сейчас.
ud1
Mikle
Спасибо, добавил.
Ребята, кто сделал Тетрис, вы классные.
Alikberov
Скачал текст, сохранил в index.hta и запустил. Играет около минуты, потом перебрасывает в твой профиль. Я всё правильно сделал?
Ты дашь ссылку на исполняемый файл или мне залить мой index.hta?
Я, кстати, не буду давать ссылки на посты. Если кто-то удалит свой пост, то случится плохое. Или я чего-то не понимаю?
У меня непредвиденная работа. Выходной только завтра (27 августа), так что мой Тетрис завтра будет.
Васян
Чем таймлапс записать нашел?)
Васян
> Скачал текст, сохранил в index.hta и запустил. Играет около минуты, потом
> перебрасывает в твой профиль. Я всё правильно сделал?
Там же в четвертой строчке стоит
<meta http-equiv='refresh' content='60; url=http://www.gamedev.ru/users/?id=33546' />
Удали и наслаждайся игрой
emptiness_rain
Вроде бы Chronolapse (первая строка в Гугле). Кстати, сейчас посмотрел интерфейс, кнопочки, надписи и похоже, что прога может так же собрать картинки в видео. Я последний раз этого не заметил.
Васян
О отлично, теперь тож можно тетрис запилить)
Тема в архиве.