In this game, you are the red dot and you need be fast to fall as low as possible.
Some kind of powerups are there to help you:
3 purple = 2 holes per line for 6 seconds
3 blue = a pause of 5 seconds
2 green = faster for 5 seconds
2 orange = no floor for 8 seconds
1 grey = smaller hole for 6 seconds
/picwin to run, I dare you to play only once.
alias picwin {
if ($1 == again) { .timerpicwin* off | hfree -w picwin | initgame | gamestart }
elseif ($1 == clear) { .timerpicwin* off | hfree -w picwin | window -c @picwinbuf }
else { initwin | initgame | gamestart }
}
alias -l initwin {
window -fpdoCB @picwin -1 -1 200 300
window -fpdCBh @picwinbuf -1 -1 200 300
}
alias -l initgame {
hadd -m picwin x 100
hadd picwin y 10
hadd picwin inair 1
hadd picwin scroll 0
hadd picwin maxscroll 40
drawrect -fr @picwinbuf 16777215 0 0 0 200 300
}
alias -l gamestart {
.timerpicwindec 0 7 hdec picwin maxscroll 1 $(|) var % $+ r $!r(0,100) $(|) hadd picwin bonus $!iif(%r isnum 0-24,1,$iif(%r isnum 25-49,4,$iif(%r isnum 50-69,2,$iif(%r isnum 70-89,3,5))))
generate&scroll 3
hadd picwin start $ticks
mainloop
}
alias -l bonus {
if ($hget(picwin,bonus)) {
drawdot -r @picwinbuf $gettok(10223772 64512 16515072 13816530 32764,$v1,32)) 5 $calc($1 + $iif($hget(picwin,hole),7,12)) 295
hdel picwin bonus
}
}
alias -l generate&scroll {
if (!$hget(picwin,noscroll)) {
:start
if (!$hget(picwin,scroll)) && ($r(0,$iif($hget(picwin,hole),190,180)) != $null) {
var %v $v1,%r $r(0,$iif($hget(picwin,hole),190,180))
drawline -r @picwinbuf 0 3 0 290 200 290
drawline -r @picwinbuf 16777215 3 %v 290 $calc(%v + $iif($hget(picwin,hole),10,20)) 290
if ($hget(picwin,double)) drawline -r @picwinbuf 16777215 3 %r 290 $calc(%r + $iif($hget(picwin,hole),10,20))) 290
bonus %v
}
drawscroll @picwinbuf 0 $iif($1,-40,-1) 0 0 200 300
if ($1) { tokenize 32 $calc($1 -1) | goto start }
if (!$hget(picwin,inair)) && ($hget(picwin,y) > 0) hdec picwin y 1
hadd picwin scroll $iif($hget(picwin,scroll) >= $hget(picwin,maxscroll),0,$calc($v1 +1))
}
.timerpicwingen -ho 1 0 generate&scroll
}
alias -l mainloop {
if ($hget(picwin,y) == 0) {
if ($input(Score: $calc(($ticks - $hget(picwin,start)) / 1000) $+ $crlf $+ Play again ?,ys,@picwin,Picwin)) picwin again
else picwin clear
return
}
var %s $gettok($hget(picwin,stack),1,32),%y $hget(picwin,y) + $iif($hget(picwin,inair),2,0),%x $hget(picwin,x) $iif(%s,$iif($v1 == 37,-,+) $iif($hget(picwin,boost),5,3))
var %x = $iif(%x < 5,5,$iif(%x > 198,198,%x))
if ($getdot(@picwinbuf,$calc(%x - 3),%y)) || ($hget(picwin,nofloor)) hadd picwin inair 1
else hdel picwin inair
if ($hget(picwin,inair)) && ($getdot(@picwinbuf,$calc(%x - 3),$calc(%y - 3))) && ($v1 != 16777215) {
var %v $v1
drawreplace -r @picwinbuf %v 16777215 $calc(%x - 15) $calc(%y - 15) 50 50
hinc picwin bonus $+ %v
var %n $hget(picwin,bonus $+ %v)
if (%v == 10223772) && (%n == 2) hadd -u6 picwin double 1 $iif(del,)
elseif (%v == 16515072) && (%n == 3) hadd -u5 picwin noscroll 1 $iif(del,)
elseif (%v == 64512) && (%n == 2) hadd -u5 picwin boost 1 $iif(del,)
elseif (%v == 32764) && (%n == 3) hadd -u5 picwin nofloor 1 $iif(del,)
elseif (%v == 13816530) && (%n == 1) hadd -u6 picwin hole 1 $iif(del,)
if ($v1 == del) hdel picwin bonus $+ %v
}
hadd picwin x %x
if (%y > 288) && (!$hget(picwin,pro)) { hadd -u3 picwin pro 1 | var %r $r(0,100) | hadd picwin bonus $iif(%r isnum 0-34,1,$iif(%r isnum 35-69,2,$iif(%r isnum 70-89,3,5)))) }
hadd picwin y $iif(%y > 288,288,%y)
drawcopy -n @picwinbuf 0 0 200 300 @picwin 0 0
drawdot -nr @picwin 255 5 $hget(picwin,x) $hget(picwin,y)
drawdot @picwin
titlebar @picwin $round($calc(($ticks - $hget(picwin,start)) / 1000),1)
.timerpicwinmain -ho 1 10 mainloop
}
on *:close:@picwin:picwin clear
on *:keydown:@picwin:37,39:tokenize 32 $hget(picwin,stack) | hadd picwin stack $keyval $iif($keyval != $1,$1,$2)
on *:keyup:@picwin:37,39:hadd picwin stack $remtok($hget(picwin,stack),$keyval,32)
@Wims
To make a picwin simulation of a sorter system.
There would be two incoming lanes, which must gap the little boxes as appropriate for their size, that would lead onto a merge to bring them into one. Every box would be given an assigned divert number after merging. Then it would travel down the sorting system, where it would simulate sorting at the appropriate divert for the box. An extension to this would be to actually make it like a full warehouse simulation game, where these 2 incoming lanes would actually have branches leading into them where you will have to manage the "people" placing boxes onto these branches, and also manage the people at the other end of the divert to keep moving product off of the divert. If the divert becomes full, the box will discharge at the end of the sorting system onto a recirculation line, where it would be cycled back over to one of the incoming merge lanes for another go at sorting.
Sounds a bit complicated, eh? lol
I already edited to mention it was in fact a feature. lol. I did that before you responded :O
What I meant by that is by providing a way for the game to remember where everything is in relation to each other. Kind of like how a computer uses RAM, to well.... remember stuff. Instead of using variables, like I probably would have. Hahahaa. I'm a fool.
I was playing that game too on a calculator, but there were no powerup!
What do you mean "provide RAM" for the game?
At one point, it lagged. It did not continue scrolling, I just sat there rolling around on the bottom of the screen for a momentIt's not a bug, it's a feature, look at the description of the game :)
Any idea for a new powerup?
Thanks for the comments everyone
yes illogictc i haven't tried this yet but it sounds like a game i use to have on my calculator in school if you play long enough you can look at anything and it will appear to be moving up or down depending on the direction of the game. try playing the game for half an hour non stop:) then look at something else haha
Score on first try: 101.665. Going for more, of course. Sometimes the simplest games can be the most addictive. Slight issue I ran into:
At one point, it lagged. It did not continue scrolling, I just sat there rolling around on the bottom of the screen for a moment. At first I'm like WTF THERES A BOTTOM WHY!? then it took off again after about 2-3 seconds. All I have running is my browser, which was parked on this page.... and mIRC, to see the script, not even connected to any servers. x.x
Edit: Maybe I hit a pause ball and didn't notice, lol my bad. Also, second run 106.998. Improvement!