Pengaturan

Gambar

Lainnya

Tentang KASKUS

Pusat Bantuan

Hubungi Kami

KASKUS Plus

© 2024 KASKUS, PT Darta Media Indonesia. All rights reserved

terakhirxAvatar border
TS
terakhirx
Sokoban (Javascript)
PHP Code:
<style>
#sokoban { line-height:100%; font-family:monospace; vertical-align:middle }
#sokoban span { width:1em; display:inline-block; text-align:center }
</style>
<
div id=sokoban></div>
[
removed]
let d = `      ####    
      #  ##    
49    #  ##  
      # OO ##  
    ###O  O ## 
  ####    O  # 
###  # #####  # 
#    # #XXXXO # 
# #  O XXXX# # 
#  O # #X
$XX# # 
###  #### ### # 
  #### KO  ##O##
    ### O    #
      #  ##  #
      #########
`.replace( /.| /g=> Math.max0" XO$KR# ".indexOf) ) )
let render => {
let s ''
let y 0
let e 
0
let col 
= [
 
'#000','_',
 
'#F11'render.ascii '#' '🮽',
 
'#11F'render.ascii '#' '🮽',
 
'#11F'render.ascii 'X' '🯅',
 
'#CCC','#EEE',
 
'#6A6','#6C6',
 
'#111','#111',
 ]
let fr = [ 4851071112 ]
d.split'' ).forEach( => {
e++
%= 2
if ( fr[v] ){
let b col[ ( ( fr[v] >> ) + << ) + ]
let f = ( fr[v] & ) << 1
let o 
col[f+1]
col[f]
+= `<span style=color:${ };background:${ }>${ }</span>`
} else {
y++
y
+= "<br/>"
}
} )
document.querySelector('#sokoban')[removed] = s.replace(/_/g,'&nbsp;')
console.log'rendered' )
}
//render.ascii = true // aktifkan bila browser tidak support unicode character
render)
let transpose => {
a.split).map=> x.split('') )
a[0].map( (_x) => a.maprow => row[x] ) )
return 
a.map=> x.join('') ).join)
}
let left => d.replace( /([01])([23]?)([45])/, (_ab) => '' + ( ++ ( ) ) + ( ? + '' ) + ( ) )
let right => d.replace( /([45])([23]?)([01])/, (_ab) => '' + ( ) + ( ? + '' ) + ( ++ ( ) ) )
let up => transposelefttranspose) ) )
let down => transposerighttranspose) ) )
document.onkeydown =  e => {
console.loge.keyCode )
if ( 
e.keyCode == 37 ){
left)
render)
} else if ( 
e.keyCode == 38 ){
up)
render)
} else if ( 
e.keyCode == 39 ){
right)
render)
} else if ( 
e.keyCode == 40 ){
down)
render)
}
}

/*
// SOLUTION: //
let sol = function(){
if (sol.dat){
let s = sol.dat.shift()
if ( s == 'l' ){
d = left( d )
render( d )
} else if ( s == 'u' ){
d = up( d )
render( d )
} else if ( s == 'r' ){
d = right( d )
render( d )
} else if ( s == 'd'){
d = down( d )
render( d )
}
setTimeout( sol, 100 )
}
}

sol.dat = `RdRRRRdrruLUUUUULLdllldRRldDlddrUUUUluurDldRurrurr
dddddLLLullddrUUUUddrdrrruuuuulldlLulDlLrrrrruruuu
LrdddlLLrrruurDDDDDDuuuullllddddrdrrdrruLLLLullddr
UUUUUllluuurrrRRurDDulllllldddrrrrurRurDDDDDuuuull
ldldddrdrrdrruLLLLullddrUUUUddrdrrruuuuuuullllllld
ddrrRRurruullluUlDrdrrrddlldlllluuurRRRRurDDulllll
ldddrrrrurRurDDDDDuuuullldldddrdrrdrruLLLLrrruuuuu
uululLdlluurDldRRRurDDulllllldddrrrrurRurDDDDDuuuu
llldldddrdrrdrruLuuuuuuulullluluurDldddlldddrrrddd
lddrUUUdrdrRdrruLLLLrrruuuuuuululllluurDDldRRRurDD
rdLLruuullluurDDldRRurDDrdLuulllllldddLLulllddrRdr
UlURRRRRRlllllldlluurRurDldRRRRluuurrrrrrrdddddddl
lluluUddlddrUUU`.toLowerCase().split('')
sol()
*/
[removed
Diubah oleh terakhirx 24-01-2024 10:49
0
11
0
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Komunitas Pilihan