HSPで完全オリのSLGを作るスレ
■ このスレッドは過去ログ倉庫に格納されています
0001あーむず
03/03/12 23:14ID:g17LXNe4やってみたい、もしくはできるチャネラ求む。
厨房完全放置でお願いします。
0118名前は開発中のものです。
03/10/22 19:27ID:Zc2QBTuksdim unit,3,4 :unit.0="●" :unit.1="■" :unit.2="★"
dim unit_pos,3,3 :unit_pos.0.0=0,0 :unit_pos.0.1=7,7 :unit_pos.0.2=14,14
dim unit_move,3 :unit_move.0=3 :unit_move.1=4 :unit_move.2=5 :unit_rem=3
screen 0,480 :font "",33
repeat
color 80,80,80 :boxf
unit_x=unit_pos.0.num :unit_y=unit_pos.1.num
move_u=0 :move_d=0 :move_r=0 :move_l=0
repeat :redraw 0
gosub *draw
color
repeat 15
if cnt!0 :line 0,cnt*32,winx,cnt*32 :line cnt*32,0,cnt*32,winy
loop
stick k,15 :if k!0 :gosub *move
if br!0 :br=0 :break
color
repeat unit_rem
pos unit_pos.0.cnt*32,unit_pos.1.cnt*32 :mes unit.cnt
loop
redraw 1 :await 100 :loop
loop
0119名前は開発中のものです。
03/10/22 19:28ID:Zc2QBTuki=1 :j=0 :color 200,200,255
repeat unit_move.num+1
repeat i
boxf unit_x*32-(cnt*32),unit_y*32+(unit_move.num*32)-j,unit_x*32-(cnt*32)+32,unit_y*32+(unit_move.num*32)-j+32
boxf unit_x*32+(cnt*32),unit_y*32+(unit_move.num*32)-j,unit_x*32+(cnt*32)+32,unit_y*32+(unit_move.num*32)-j+32
boxf unit_x*32-(cnt*32),unit_y*32-(unit_move.num*32)+j,unit_x*32-(cnt*32)+32,unit_y*32-(unit_move.num*32)+j+32
boxf unit_x*32+(cnt*32),unit_y*32-(unit_move.num*32)+j,unit_x*32+(cnt*32)+32,unit_y*32-(unit_move.num*32)+j+32
loop
j+=32
i++
loop
return
0120名前は開発中のものです。
03/10/22 19:29ID:Zc2QBTukif k&1 :if unit_pos.0.num>0 {
if (unit_move.num=(move_l+move_u))|(unit_move.num=(move_l+move_d)) :return
repeat unit_rem
if (num!cnt)&(unit_pos.0.num-1=unit_pos.0.cnt)&(unit_pos.1.num=unit_pos.1.cnt) :break
if cnt=(unit_rem-1) :move_l++ :move_r-- :unit_pos.0.num--
loop
}
if k&2 :if unit_pos.1.num>0 {
if (unit_move.num=(move_u+move_l))|(unit_move.num=(move_u+move_r)) :return
repeat unit_rem
if (num!cnt)&(unit_pos.0.num=unit_pos.0.cnt)&(unit_pos.1.num-1=unit_pos.1.cnt) :break
if cnt=(unit_rem-1) :move_u++ :move_d-- :unit_pos.1.num--
loop
}
if k&4 :if unit_pos.0.num<14 {
if (unit_move.num=(move_r+move_u))|(unit_move.num=(move_r+move_d)) :return
repeat unit_rem
if (num!cnt)&(unit_pos.0.num+1=unit_pos.0.cnt)&(unit_pos.1.num=unit_pos.1.cnt) :break
if cnt=(unit_rem-1) :move_r++ :move_l-- :unit_pos.0.num++
loop
}
if k&8 :if unit_pos.1.num<14 {
if (unit_move.num=(move_d+move_l))|(unit_move.num=(move_d+move_r)) :return
repeat unit_rem
if (num!cnt)&(unit_pos.0.num=unit_pos.0.cnt)&(unit_pos.1.num+1=unit_pos.1.cnt) :break
if cnt=(unit_rem-1) :move_d++ :move_u-- :unit_pos.1.num++
loop
}
if k&16 :num=num+1\unit_rem :br=1
return
■ このスレッドは過去ログ倉庫に格納されています