Keep It Simple, Stupid PerlMonks

### Re: (Golf) Let's go bowling

by dragonchild (Archbishop)
 on Aug 08, 2001 at 21:51 UTC ( #103133=note: print w/replies, xml ) Need Help??

in reply to (Golf) Let's go bowling

Coming in at a whopping 223(!) characters, a first attempt:
```for(0..\$#_){if(\$_[\$_]=~/X/){\$t+=10+(\$_[\$_+1]=~/X/?10:\$_[\$_+1])+(\$_[\$_+
+2]=~/X/?10:(\$_[\$_+2]=~/\//?10-\$_[\$_+1]:\$_[\$_+2]))}if(\$_[\$_+1]=~/\//){
+\$t+=10+(\$_[\$_+2]=~/X/?10:\$_[\$_+2]);splice@_,\$_+1,1;last if!defined\$_[
+\$_+2]}else{\$t+=\$_[\$_]}}\$t
There has to be a better way... I thought about switching the if-elsif-else to BLOCK,next if(EXPR);, but I couldn't figure a way to get rid of the splice in the elsif block. *shrugs*

Update: for(0..\$#_){if(\$_[\$_]=~/X/){\$t+=10+(\$_[\$_+1]=~/X/?10:\$_[\$_+1])+(\$_[\$_+2]=~/X/?10:(\$_[\$_+2]=~/\//?10-\$_[\$_+1]:\$_[\$_+2]));last if!defined\$_[\$_+3]}if(\$_[\$_+1]=~/\//){\$t+=10+(\$_[\$_+2]=~/X/?10:\$_[\$_+2]);splice@_,\$_+1,1;last if!defined\$_[\$_+2]}else{\$t+=\$_[\$_]}}\$t

That fixes the perfect score problem. Comes in at 242.

Update2: With some ideas from chipmunk, I'm down to 208. (I didn't want to steal his concept, but improve my own. *grins*)

```@b=@_;sub X{pop=~X?10:pop}while((\$_=shift@b)+1){\$t+=10+X((\$b[0])x2)+X(
+(\$b[1]=~/\//?10-\$b[0]:\$b[1]),\$b[1])and(defined\$b[2]||last)if/X/;if(\$b
+[0]=~m!/!){\$t+=10+X((\$b[1])x2)and(defined\$b[2]||last)}else{\$t+=\$_}}\$t

------
/me wants to be the brightest bulb in the chandelier!

Vote paco for President!

Replies are listed 'Best First'.
Re: Re: (Golf) Let's go bowling
by tachyon (Chancellor) on Aug 08, 2001 at 22:12 UTC

This sub returns 330 for score(('X')x12) :o) Apparently mine is broken to, although I thought it conformed to the rules as stated. :-(

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"\$'\$`\$\"\$\&"&ee&&y&srve&&d&&print

Create A New User
Node Status?
node history
Node Type: note [id://103133]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (2)
As of 2018-05-23 04:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
World peace can best be achieved by:

Results (166 votes). Check out past polls.

Notices?