3c3 < Dots and Boxes Game - RJM Programming - August, 2022 --- > SOS Game - RJM Programming - August, 2022 113c113 < font-size: 16px; --- > font-size: 20px; 117c117 < border: 2px dashed rgba(0,0,0,0.5); --- > outline: 1px dotted #000000; 121c121 < background: linear-gradient(45deg, #fff722, #ff26f9),linear-gradient(142deg, transparent, white),linear-gradient(108deg, red, transparent); --- > background-image: linear-gradient(to bottom, rgba(128,0,128,0.5) , rgba(0,0,255,0.5)); 126,128c126,128 <

Dots and Boxes Game for
 

<

RJM Programming - August, 2022 ... Score 0/0 ... Try click below near a square border to infill a border line and eventually complete a square

<

Thanks to How to Play - Dots and Boxes

--- >

SOS Game for
 

>

RJM Programming - August, 2022 ... Score 0/0 ... Forwards, backwards, up, down, diagonally 3 SOS letters highlight below top click S bottom click O

>

Thanks to How to Play - SOS

217c217 < sbs[isbs].style.outline='2px solid ' + bcols[curplayer]; --- > sbs[isbs].style.outline='1px solid ' + bcols[curplayer]; 352,384d351 < function noc(inzx) { < var ihow=0; < var outzx=inzx; < var howevermany=eval('' + outzx.split('border-top').length); < if (howevermany > 2) { < for (ihow=2; ihow 2) { < for (ihow=2; ihow 2) { < for (ihow=2; ihow 2) { < for (ihow=2; ihow/g,'>').replace(/\= 4) && sbc == 1) { < //if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { < //alert('' + sbl + ' 1:' + noc(spano.outerHTML).split('border-').length + ' ' + spano.outerHTML); < //} < spano.style.backgroundColor=bcols[curplayer]; < //alert(1); < locsubscore++; < } //else if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i) && sbl == 4 && sbc == 1) { < //alert('1:' + spano.outerHTML.split('border-').length + ' ' + spano.outerHTML); < //} < if (eval(thisi % 100) >= 1) { < sbl=eval('' + noc(document.getElementById('span' + eval(-1 + thisi)).outerHTML).split('border-').length); < sbc=eval('' + document.getElementById('span' + eval(-1 + thisi)).outerHTML.split('background-color').length); < document.getElementById('span' + eval(-1 + thisi)).style.borderRight=thislet.split(':')[1]; < if ((sbl == 4 && noc(document.getElementById('span' + eval(-1 + thisi)).outerHTML).split('border-').length >= 4) && sbc == 1) { //if (document.getElementById('span' + eval(-1 + thisi)).outerHTML.split('border-').length == 5 && document.getElementById('span' + eval(-1 + thisi)).outerHTML.split('background-color').length == 1) { < document.getElementById('span' + eval(-1 + thisi)).style.backgroundColor=bcols[curplayer]; < locsubscore++; < } < } < } else { < thislet='border-right:2px solid ' + bcols[curplayer]; //alert(56); < spano.style.borderRight=thislet.split(':')[1]; < //document.getElementById('myh4').style.fontSize='6px'; < //document.getElementById('myh4').innerHTML='thisi=' + thisi + ' border-right and ' + eval(1 + thisi) + ' is border-left ' + spano.outerHTML.replace(/\>/g,'>').replace(/\= 4) && sbc == 1) { < spano.style.backgroundColor=bcols[curplayer]; < //alert(2); < //if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { < //alert('' + sbl + ' 2:' + noc(spano.outerHTML).split('border-').length + ' ' + spano.outerHTML); < //} < locsubscore++; < } //else if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i) && sbl == 4 && sbc == 1) { < //alert('2:' + spano.outerHTML.split('border-').length + ' ' + spano.outerHTML); < //} < if (eval(thisi % 100) <= 98) { < sbl=eval('' + noc(document.getElementById('span' + eval(1 + thisi)).outerHTML).split('border-').length); < sbc=eval('' + document.getElementById('span' + eval(1 + thisi)).outerHTML.split('background-color').length); < document.getElementById('span' + eval(1 + thisi)).style.borderLeft=thislet.split(':')[1]; < if ((sbl == 4 && noc(document.getElementById('span' + eval(1 + thisi)).outerHTML).split('border-').length >= 4) && sbc == 1) { //if (document.getElementById('span' + eval(1 + thisi)).outerHTML.split('border-').length == 5 && document.getElementById('span' + eval(1 + thisi)).outerHTML.split('background-color').length == 1) { < document.getElementById('span' + eval(1 + thisi)).style.backgroundColor=bcols[curplayer]; < locsubscore++; < } < } < } < thislet=' '; //'S'; --- > if (eval(yy - rtis.top) <= eval(rtis.bottom - yy)) { // s > thislet='S'; 487,536c397 < if (Math.min(topm, bottomm,leftm,rightm) == bottomm) { // s < thislet='border-bottom:2px solid ' + bcols[curplayer]; //alert(56); < spano.style.borderBottom=thislet.split(':')[1]; < //document.getElementById('myh4').style.fontSize='6px'; < //document.getElementById('myh4').innerHTML='thisi=' + thisi + ' border-bottom and ' + eval(100 + thisi) + ' is border-top ' + spano.outerHTML.replace(/\>/g,'>').replace(/\= 4) && sbc == 1) { < spano.style.backgroundColor=bcols[curplayer]; < //alert(3); < //if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { < //alert('' + sbl + ' 3:' + spano.outerHTML.split('border-').length + ' ' + spano.outerHTML); < //} < locsubscore++; < } //else if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i) && sbl == 4 && sbc == 1) { < //alert('3:' + spano.outerHTML.split('border-').length + ' ' + spano.outerHTML); < //} < if (eval(thisi / 100) <= 18) { < sbl=eval('' + noc(document.getElementById('span' + eval(100 + thisi)).outerHTML).split('border-').length); < sbc=eval('' + document.getElementById('span' + eval(100 + thisi)).outerHTML.split('background-color').length); < document.getElementById('span' + eval(100 + thisi)).style.borderTop=thislet.split(':')[1]; < if ((sbl == 4 && noc(document.getElementById('span' + eval(100 + thisi)).outerHTML).split('border-').length >= 4) && sbc == 1) { //if (document.getElementById('span' + eval(100 + thisi)).outerHTML.split('border-').length == 5 && document.getElementById('span' + eval(100 + thisi)).outerHTML.split('background-color').length == 1) { < document.getElementById('span' + eval(100 + thisi)).style.backgroundColor=bcols[curplayer]; < locsubscore++; < } < } < } else { < thislet='border-top:2px solid ' + bcols[curplayer]; //alert(56); < spano.style.borderTop=thislet.split(':')[1]; < //document.getElementById('myh4').style.fontSize='6px'; < //document.getElementById('myh4').innerHTML='thisi=' + thisi + ' border-top and ' + eval(-100 + thisi) + ' is border-bottom ' + spano.outerHTML.replace(/\>/g,'>').replace(/\= 4) && sbc == 1) { < spano.style.backgroundColor=bcols[curplayer]; < //alert(4); < //if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { < //alert('' + sbl + ' 4:' + spano.outerHTML.split('border-').length + ' ' + spano.outerHTML); < //} < locsubscore++; < } //else if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i) && sbl == 4 && sbc == 1) { < //alert('4:' + spano.outerHTML.split('border-').length + ' ' + spano.outerHTML); < //} < if (eval(thisi / 100) >= 1) { < sbl=eval('' + noc(document.getElementById('span' + eval(-100 + thisi)).outerHTML).split('border-').length); < sbc=eval('' + document.getElementById('span' + eval(-100 + thisi)).outerHTML.split('background-color').length); < document.getElementById('span' + eval(-100 + thisi)).style.borderBottom=thislet.split(':')[1]; < if ((sbl == 4 && noc(document.getElementById('span' + eval(-100 + thisi)).outerHTML).split('border-').length >= 4) && sbc == 1) { //if (document.getElementById('span' + eval(-100 + thisi)).outerHTML.split('border-').length == 5 && document.getElementById('span' + eval(-100 + thisi)).outerHTML.split('background-color').length == 1) { < document.getElementById('span' + eval(-100 + thisi)).style.backgroundColor=bcols[curplayer]; < locsubscore++; < } < } < } < thislet=' '; //'O'; --- > thislet='O'; 539a401,486 > sbs=[]; > if (eval(thisi % 100) >= 2) { // forwards we are at end > if ((sb(document.getElementById('span' + eval(-2 + thisi))).innerHTML + sb(document.getElementById('span' + eval(-1 + thisi))).innerHTML + sb(document.getElementById('span' + eval(thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > } > sbs=[]; > if (eval(thisi % 100) >= 1 && eval(thisi % 100) <= 98) { // forwards we are in the middle > if ((sb(document.getElementById('span' + eval(-1 + thisi))).innerHTML + sb(document.getElementById('span' + eval(thisi))).innerHTML + sb(document.getElementById('span' + eval(1 + thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > } > sbs=[]; > if (eval(thisi % 100) <= 97) { // forwards we are at start > if ((sb(document.getElementById('span' + eval(thisi))).innerHTML + sb(document.getElementById('span' + eval(1 + thisi))).innerHTML + sb(document.getElementById('span' + eval(2 + thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > } > > if (updownallowed) { > sbs=[]; > if (eval(thisi / 100) >= 2) { // down we are at end > if ((sb(document.getElementById('span' + eval(-200 + thisi))).innerHTML + sb(document.getElementById('span' + eval(-100 + thisi))).innerHTML + sb(document.getElementById('span' + eval(thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > } > sbs=[]; > if (eval(thisi / 100) >= 1 && eval(thisi / 100) <= 18) { // down we are in the middle > if ((sb(document.getElementById('span' + eval(-100 + thisi))).innerHTML + sb(document.getElementById('span' + eval(thisi))).innerHTML + sb(document.getElementById('span' + eval(100 + thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > } > sbs=[]; > if (eval(thisi / 100) <= 17) { // down we are at start > if ((sb(document.getElementById('span' + eval(thisi))).innerHTML + sb(document.getElementById('span' + eval(100 + thisi))).innerHTML + sb(document.getElementById('span' + eval(200 + thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > } > } > > if (diagonalsallowed) { > sbs=[]; > if (eval(thisi / 100) >= 2 && eval(thisi % 100) >= 2) { // diagonally we are at end > if ((sb(document.getElementById('span' + eval(-202 + thisi))).innerHTML + sb(document.getElementById('span' + eval(-101 + thisi))).innerHTML + sb(document.getElementById('span' + eval(thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > sbs=[]; > if ((sb(document.getElementById('span' + eval(-198 + thisi))).innerHTML + sb(document.getElementById('span' + eval(-99 + thisi))).innerHTML + sb(document.getElementById('span' + eval(thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > } > sbs=[]; > if (eval(thisi / 100) >= 1 && eval(thisi / 100) <= 18 && eval(thisi % 100) >= 1 && eval(thisi % 100) <= 98) { // diagonally we are in the middle > if ((sb(document.getElementById('span' + eval(-101 + thisi))).innerHTML + sb(document.getElementById('span' + eval(thisi))).innerHTML + sb(document.getElementById('span' + eval(101 + thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > sbs=[]; > if ((sb(document.getElementById('span' + eval(-99 + thisi))).innerHTML + sb(document.getElementById('span' + eval(thisi))).innerHTML + sb(document.getElementById('span' + eval(99 + thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > } > sbs=[]; > if (eval(thisi / 100) <= 17 && eval(thisi % 100) <= 97) { // diagonally we are at start > if ((sb(document.getElementById('span' + eval(thisi))).innerHTML + sb(document.getElementById('span' + eval(101 + thisi))).innerHTML + sb(document.getElementById('span' + eval(202 + thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > sbs=[]; > if ((sb(document.getElementById('span' + eval(thisi))).innerHTML + sb(document.getElementById('span' + eval(99 + thisi))).innerHTML + sb(document.getElementById('span' + eval(198 + thisi))).innerHTML) == 'SOS') { > sbord(); > locsubscore++; > } > } > } > sbs=[]; >