128 lines
3.9 KiB
HTML
128 lines
3.9 KiB
HTML
<!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>
|