Страница 1 из 1
ALKEEPER RIP

Добавлено:
Ср мар 16, 2022 18:47
Padonak
Привет, друзья. Я долго тут не был, смотрю, мало кто вообще заходит из старожилов. Но произошло событие, о котором я просто должен вам сообщить, хотя, пальцы не хотят нажимать сейчас клавиши. 29 ноября 2021 года умер наш друг Саня
Alkeeper. Заболел короной, которая вместе с его диабетом его убила. Я все годы, которые сюда не появлялся, продолжал с ним общаться в Вацапе. Изредка, в основном просил подсказать мне дураку что-то по программированию. Он никогда не отказывал, всегда находил время и возможность, а также слова, которые любитель вроде меня мог бы понять без труда. Не знаю, что ещё написать, я бы, вообще, эту поганую тему лучше не создавал... Когда это произошло, я сообщил Муерте, но больше у меня контактов ваших ничьих нет, а я думаю, что вы должны знать. Помяните нашего кента, кто бухает. Выложу тут некоторое количество его фоток:
Re: ALKEEPER RIP

Добавлено:
Вс май 15, 2022 15:10
Aqua$erg
Да, помню. Дядька Алкипер был самым классным админом.
Корона, будь она неладна... У меня тоже 2-х друзей забрала.
Вечная память Алкиперу
Re: ALKEEPER RIP

Добавлено:
Пн май 16, 2022 20:12
Padonak
Слава богу, хоть один живой появился! Привет, Серг )) Надо оживить форум, думаю.
Re: ALKEEPER RIP

Добавлено:
Вт май 17, 2022 22:24
Muerto
Я в деле!
Re: ALKEEPER RIP

Добавлено:
Вт май 17, 2022 22:48
Jedi
Ох, печально это. Хороший был парень.
А форум было бы действительно не плохо оживить. Вот только как?
Re: ALKEEPER RIP

Добавлено:
Вт май 17, 2022 23:16
Padonak
Привет, друзья! Становится веселее! Хз как, надо придумать. В конце-концов, это я тут сантехник, а вы как раз заведуете интернетами ))) Многие форумы и сейчас процветают. Например,
Киберфорум. Разве наш хуже?
Re: ALKEEPER RIP

Добавлено:
Вт май 17, 2022 23:22
Padonak
Давайте начнём с того, что станем сюда приходить хотя бы раз в день, а можно и чаще. Как-то о чём-то беседовать, глядишь и пойдёт дело..
Re: ALKEEPER RIP

Добавлено:
Вт май 17, 2022 23:24
Padonak
Неплохо бы админа раздобыть, поудалять к херам всяких нулевых юзеров без сообщений, подмести тут, полы помыть, ну и т.д.
Re: ALKEEPER RIP

Добавлено:
Ср май 18, 2022 10:24
Jedi
Нас получается тут всего 4 пока.
У меня вроде был контакт админа в скайпе, посмотрю
Re: ALKEEPER RIP

Добавлено:
Ср май 18, 2022 12:18
Padonak
Да-да, без админства херово
Re: ALKEEPER RIP

Добавлено:
Ср май 18, 2022 12:25
Padonak
Кстати, по поводу уборки - раздел форума Flash можно благополучно удалить к бениной маме ))
Re: ALKEEPER RIP

Добавлено:
Ср май 18, 2022 18:00
Jedi
Так может тогда вообще перейти куда-нибудь в телеграм или в ватсапе группу сделать? :)
Re: ALKEEPER RIP

Добавлено:
Ср май 18, 2022 18:09
Padonak
В вацапе - я только "за", т.к. у меня Skype установлен исключительно из-за Муерты. Больше никто из моих знакомых им не пользуется. Но у Муерты нет вацапа, как он говорит! Телега у меня есть, но вацап как-то роднее. Я тебе сейчас в личку скину мой номер телефона, напиши мне в вацап, чтоб я тебя сохранил в Контакты. Но форум всё равно кайф оживить. Вацап - для быстрой связи, а форум для каких-то вопросов по программированию или всяких там ещё цсс-хтмл-пэхэпэ и прочих апачей ))
Re: ALKEEPER RIP

Добавлено:
Сб май 21, 2022 14:03
Muerto
Кстати, если форум восстанавливать, то неплохо бы SSL-сертификат установить. Кто хостингом занимается у нас?
Re: ALKEEPER RIP

Добавлено:
Сб май 21, 2022 18:05
Padonak
Скай занимался, насколько я помню. Хз как его выцепить, у меня не осталось контакта, хотя раньше был...
Re: ALKEEPER RIP

Добавлено:
Пн дек 26, 2022 1:51
Skay
Скай тут. Пароль забыл, кое-как восстановил прямым инсёртом в БД...
Грустная новость, только увидел. Саша был у меня в друзьях в ФБ и Инсте, но эта новость как-то меня обошла и узнал вот только что. Светлая ему память!
Padonak писал(а):Скай занимался, насколько я помню. Хз как его выцепить, у меня не осталось контакта, хотя раньше был...
Сделал тебя админом
Re: ALKEEPER RIP

Добавлено:
Пн дек 26, 2022 1:54
Skay
Muerto писал(а):Кстати, если форум восстанавливать, то неплохо бы SSL-сертификат установить. Кто хостингом занимается у нас?
мы староверы ;D верим в HTTP ))) Вроде активировал SSL на хостинге через Lets Encrypt.. хостинг виртуальный, наверное через какое-то время активируется...
Re: ALKEEPER RIP

Добавлено:
Пн дек 26, 2022 1:57
Skay
Насчет восстановления форума - хз, времена уже изменились, как и технологии. Можно создать чатик в Телеге для своих, если есть желание, чтобы как-то поддерживать контакт)
Re: ALKEEPER RIP

Добавлено:
Пт дек 30, 2022 18:33
Padonak
Блин, какая-то хрень с фотками. На серваке там они лежат, только что проверил. Слава богу, что Скай жив-здоров и появился! Я уже, было, заходить сюда перестал, т.к. никаких движений не было. Спасибо за админа, попробую что-то тут поменять на досуге. Зря ты, Скай, заранее не веришь в реанимацию форума - Сайберфорум-то очень даже активен. Уверен, что многое зависит от посещаемости форума умными чуваками типа программистов, которые могут помогать страждущим. Ну и просто общаться.
Re: ALKEEPER RIP

Добавлено:
Пт дек 30, 2022 19:03
Padonak
Фотки поправил. Пока разобрался, что тут их можно прямо в сообщение вставить, много матерился. Или тупею уже с возрастом

Re: ALKEEPER RIP

Добавлено:
Вт июн 20, 2023 16:58
VoicE
Спустя 21 год с момента написания последнего сообщения тут. Во же ж время пролетело.
А я таки с тех пор занимаюсь вебом. Читаю свои старые сообщения, диву даюсь...
Alkeeper'у земля пухом. Помню его тут.
Re: ALKEEPER RIP

Добавлено:
Вс июн 25, 2023 0:44
skreets
BSBD.......
Просто смотрел на ютубе как индус крестики нолики верстает, и думаю а как там дома дела, зашел и ахирел...
Re: ALKEEPER RIP

Добавлено:
Вс июн 25, 2023 0:49
skreets
Я за чатик в телеге, если что.
Re: ALKEEPER RIP

Добавлено:
Сб июл 01, 2023 18:14
Padonak
VoicE писал(а):... Читаю свои старые сообщения, диву даюсь...
Я - тоже, когда свою херь тут читаю ))
Re: ALKEEPER RIP

Добавлено:
Сб июл 01, 2023 18:21
Padonak
skreets писал(а):Я за чатик в телеге, если что.
Создал там группу, приходите:
https://t.me/+ISNpzyv6DMk5NjI6. Никогда в телеге не делал группы, хз чо так как

Re: ALKEEPER RIP

Добавлено:
Сб июл 01, 2023 18:29
Padonak
skreets писал(а):... индус крестики нолики верстает...
Я тут как раз недавно накалякал крестики-нолики(бомж-стайл):
- Код: Выделить всё
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>❌ vs ⚪</title>
<style>
table{
margin-top: 50px;
}
tr{
background-color: #f1f3f4;
}
td{
width: 50px !important;
height: 50px !important;
text-align: center;
cursor: pointer;
font-size: 30px;
border: 1px solid #ccc;
border-radius: 5px;
}
td span{
font-size: 12px;
}
th{
background-color: #fff;
padding: 15px 0px;
}
th b{
font-size: 18px;
color: crimson;
}
.cross{
background-color: #045;
}
.zero{
background-color: #abc;
}
</style>
<script>
let turn = 'cross',
flag = 0;
/* padonakQuery ;)) */
function _(attr){
return !arguments[1] ? document.querySelector(attr) : document.querySelectorAll(attr);
}
function fieldSize(){
const n = +( prompt('Введите количество рядов/ячеек игрового поля', '10')?.replace( /[^\d]+/g, '' ) );
return n >= 6 ? n : 6;
}
function checkVH(val){
/*
Если передан индекс(number), проверяем вертикаль
В противном случае(коллекция) - горизонталь
*/
const row = typeof val == 'number' ? _(`td:nth-child(${val + 1})`, 1) : val,
res = [...row].find( (n, i, A) => i >= 2 && n.className !== '' && n.className == A[i - 1].className && n.className == A[i - 2].className );
if( res ){
_('#game tbody').insertAdjacentHTML('afterbegin', `<tr><th colspan="${row.length}">Игрок <b>${turn == 'zero' ? 'Крестики' : 'Нолики'}</b> победил!</th></tr>` );
_('#game th').scrollIntoView({block: 'center', behavior: 'smooth'});
flag++;
}
}
function checkDiag(fsize, turn, rownum, ind){
const ltrDiag = [], /* left to right */
rtlDiag = []; /* right to left */
/* сперва проверяем диагональ слева-направо */
let [x, y] = [ind, rownum];
/* стартовые позиции для цикла */
while( x > 0 && y > 0 ){ x--; y--; }
/* массив классНеймов(если есть или прочерков) ячеек "по диагонали" */
for(let i = y, j = x; i < fsize; i++, j++){
ltrDiag.push( _('#game').rows[i]?.cells[j]?.className || '-' );
}
/* ищем три классНейма подряд в массиве */
const resLTR = ltrDiag.find( (n, i, A) => i >= 2 && n !== '-' && n == A[i - 1] && n == A[i - 2] );
if( resLTR ){
_('#game tbody').insertAdjacentHTML('afterbegin', `<tr><th colspan="${fsize}">Игрок <b>${turn == 'zero' ? 'Нолики' : 'Крестики'}</b> победил!</th></tr>` );
_('#game th').scrollIntoView({block: 'center', behavior: 'smooth'});
flag++;
/* если нашлось, то выходим из функции */
return;
}
/* если первая диагональ не дала результата, проверяем справа-налево */
let [c, r] = [ind, rownum];
/* стартовые позиции для цикла */
while( c < fsize - 1 && r > 0 ){ c++; r--; }
// console.log( [c, r] );
/* массив классНеймов(если есть или прочерков) ячеек "по диагонали" */
for(let i = r, j = c; i < fsize && j >= 0; i++, j--){
rtlDiag.push( _('#game').rows[i].cells[j].className || '-' );
//console.log(`row ${i} cell ${j}`);
}
//console.log( rtlDiag );
/* ищем три классНейма подряд в массиве */
const resRTL = rtlDiag.find( (n, i, A) => i >= 2 && n !== '-' && n == A[i - 1] && n == A[i - 2] );
if( resRTL ){
_('#game tbody').insertAdjacentHTML('afterbegin', `<tr><th colspan="${fsize}">Игрок <b>${turn == 'zero' ? 'Нолики' : 'Крестики'}</b> победил!</th></tr>` );
_('#game th').scrollIntoView({block: 'center', behavior: 'smooth'});
flag++;
}
}
function buildTab(){
const n = Array( fieldSize() ).fill(0);
_('body').insertAdjacentHTML('afterbegin', `<table id="game" align="center" border="0">
<tbody>
${ n.map( tr => `<tr>
${ n.map( td => `<td> </td>` ).join('') }
</tr>` ).join('') }
</tbody></table>`);
_('#game').addEventListener('click', e => {
const trg = e.target,
cls = ['cross','zero'];
if(flag > 0 || trg.tagName !== 'TD' || cls.includes( trg.className )) return;
trg.classList.add(turn);
turn == 'zero' ?
[trg.innerHTML = '⚪', turn = 'cross'] :
[trg.innerHTML = '❌', turn = 'zero'];
/* проверка по горизонтали */
flag == 0 ? checkVH(trg.closest('tr').cells) : null;
/* проверка по вертикали */
flag == 0 ? checkVH([...trg.closest('tr').cells].indexOf(trg)) : null;
/* проверка по диагонали */
flag == 0 ? checkDiag(
n.length,
trg.className,
[..._('#game').rows].indexOf(trg.closest('tr')),
[...trg.closest('tr').cells].indexOf(trg)
) :
null;
});
}
onload = buildTab;
</script>
</head>
<body>
</body>
</html>