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

128 lines
3.9 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>