sch9_ctf_3/run-offline/sasaaageyooo/html/index.html

128 lines
3.9 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<script>
state=[]
train=true
ws=new WebSocket('wss://'+document.location.host+'/train')
function new_game(train_loc){
train=train_loc;
if(train) {
ws=new WebSocket('wss://'+document.location.host+'/train')
} else {
ws=new WebSocket('wss://'+document.location.host+'/get-flag')
}
ws.onopen=function(e){
ws.send('init');
//console.log('opened');
}
ws.onmessage = function(e) {
msg=JSON.parse(e.data);
if(msg['msg']!=undefined) {
alert(msg['msg']);
}
if(msg['state']!=undefined) {
state=msg['state'];
//console.log('state given');
update_state();
}
if(msg['index']!=undefined) {
console.log('received: '+e.data);
del_from_heap(msg['index'],msg['value']);
}
}
}
function update_state() {
body=document.getElementsByTagName('body')[0]
body.innerHTML='';
//console.log(body);
//console.log('body cleared');
main_container=document.createElement('div');
main_container.style.width='98vw';
main_container.style.display='table';
arm=document.createElement('div');
armi=document.createElement('img');
arm.style.width='15%';
armi.style.width='100%';
armi.src='/armored_titan.jpeg';
arm.appendChild(armi);
arm.style.display='table-cell';
gg=document.createElement('div');
ggi=document.createElement('img');
gg.style.width='15%';
ggi.style.width='100%';
ggi.src='/gg.jpeg';
gg.appendChild(ggi);
gg.style.display='table-cell';
titan_container=document.createElement('div');
titan_container.style.width='70%';
main_container.appendChild(gg);
main_container.appendChild(titan_container);
main_container.appendChild(arm);
body.appendChild(main_container);
man=document.createElement('div');
man.innerHTML='Нажатие на титана убирает его и всех последующих из кучки (строки)';
man.style='font-size:20px;color:red'
body.appendChild(man);
//damn html!!!!!!!!!!!!!!!!!
for(var i=0;i<state.length;i++) {
heap_container=document.createElement('div');
titan_container.appendChild(heap_container);
for(var j=0;j<state[i];j++) {
titan=document.createElement('button');
titan.type='button';
titan.id=i.toString()+';'+(state[i]-j).toString();
titan.style.backgroundImage='url("/colossal_long.jpeg")';
if(train) {
titan.style.width='6vw';
titan.style.height='30vh';
} else {
titan.style.width='1vw';
titan.style.height='3vh';
}
titan.style.backgroundSize=titan.style.width+' '+titan.style.height
titan.onclick=function(e) {
id=e.target.id
index=Number(id.split(';')[0]);
value=Number(id.split(';')[1]);
ws.send(JSON.stringify({'index':index,'value':value}));
console.log('sended: '+JSON.stringify({'index':index,'value':value}));
del_from_heap(index,value);
}
heap_container.appendChild(titan);
}
}
}
function del_from_heap(index,value) {
state[index]-=value;
heap=titan_container.children[index];
for(var i=0;i<value;i++) {
heap.children[0].remove();
}
}
</script>
</head>
<body>
<div style='font-color:red'>
Сасагеёёё!<br>
Сасагеёёё!<br>
Щинзоу во сасагеёёё!!!!!!!!<br>
<div>
А вообще, сыграй в игру:<br>
Дано несколько кучек из титанов. Играете вы и бронированный титан (вы ходите первым). За ход каждый может взять сколько угодно титанов, но только из одной кучки. Проигрывает тот, кто ходить не может. Выиграйте бронированного - и забирайте флаг.<br>
<button onclick='new_game(true)'> Тренировка </button><br>
<button onclick='new_game(false)'> Босс-файт(долго грузится) </button><br>
<a href='https://www.youtube.com/watch?v=5dO7SvUz_Dw'>сасагеё</a><br>
</body>
</html>