BSL talk:Manual: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(more o_O)
(heh, I guess I kinda knew the answer already)
Line 92: Line 92:
  BSL_chaos
  BSL_chaos
  }
  }
----
:Okay, that must be a limitation of the function stack in BSL.  If you put "fork BSL_chaos", it goes all the way to six. I had already tried "fork BSL_chaos" in the previous code, but it doesn't accept the keyword "fork" in that context. I guess I should have said something earlier, but I assumed for some reason that the execution stack was bigger than that, so I figured it was "iterate" that was limiting us somehow. Well, congrats on figuring out a way to use "iterate", although I still think it was meant for arrays. --[[User:Iritscen|Iritscen]] 23:19, 8 December 2009 (UTC)

Revision as of 23:19, 8 December 2009

Tested this code in bio lab. Loop stops after displaying "riddle 4" for no reason. Strange enough: somethingX isn't declared but the code doesn't crash. Riddle me that. =D --Paradox-01 16:37, 6 December 2009 (UTC)

var int riddle_counter = 0;
func main
{
	chr_wait_animtype 0 punch
	#dmsg "Second test in bio lab."
	BSL_chaos
}


func BSL_chaos
{
	dmsg "hello?"

	riddle_counter = riddle_counter + 1;
	if (riddle_counter eq 1)
	{
		dmsg "[g.riddle 1]"
	}
	if (riddle_counter eq 2)
	{
		dmsg "[g.riddle 2]"
	}
	if (riddle_counter eq 3)
	{
		dmsg "[g.riddle 3]"
	}
	if (riddle_counter eq 4)
	{
		dmsg "[g.riddle 4]"
	}
	if (riddle_counter eq 5)
	{
		dmsg "[g.riddle 5]"
		#dmsg "[r.ends here in compound level]"
	}
	if (riddle_counter eq 6)
	{
		dmsg "[g.riddle 6]"
	}
	sleep 60
	something2 = BSL_chaos
	iterate over something2 using somethingX
}

Wow, interesting. Although I don't think it matters that something2 and somethingX are undeclared, because BSL supports weak syntax. But why does it stop at 4? Hmm.... --Iritscen 17:21, 6 December 2009 (UTC)
iterate doesn't really work, so I'm not suprised. :) Not sure about the riddle_counter thing. Does it still break when you use else if? BSL is goofy. :) Gumby 10:06, 7 December 2009 (UTC)
Did you actually notice what paradox is doing here? riddle_counter is tracking how many times iterate works. So asking if riddle_counter works on its own is kinda silly ;-) Anyway, how sure are we that this is how iterate was meant to be used? I mean, it looks like you're setting an iterator to a function pointer or something, which is sort of weird for any language. Wouldn't iterate have been intended for use with arrays? It seems like all those deprecated keywords -- every, for, iterate, over, repeat, and using -- were meant for arrays. Now if only we knew how to make an array! --Iritscen 11:32, 7 December 2009 (UTC)
O_o You are right. Two things to check: See what somethingX is at the end. Try setting SomethingX to a value first. Gumby 00:12, 8 December 2009 (UTC)
iterate over something2 using 7
Line 43 Illegal token, got "7" expected "identifier"
Hm, whatever. I think the "right" one was ignored. See following... The messages stop appearing after the fourth time again. Any ideas? (Is my oni sick or what?) --Paradox-01 07:09, 8 December 2009 (UTC)
var int riddle_counter = 0;
func main
{
	chr_wait_animtype 0 punch
	BSL_chaos
}


func BSL_chaos
{
	riddle_counter = riddle_counter + 1;
	sleep 30
	if (riddle_counter eq 1)
	{
		dmsg "[g.riddle 1]"
	}
 	if (riddle_counter eq 2)
	{
		dmsg "[g.riddle 2]"
	}
	if (riddle_counter eq 3)
	{
		dmsg "[g.riddle 3]"
	}
	if (riddle_counter eq 4)
	{
		dmsg "[g.riddle 4]"
	}
	if (riddle_counter eq 5)
	{
		dmsg "[g.riddle 5]"
	}
	if (riddle_counter eq 6)
	{
		dmsg "[g.riddle 6]"
	}
	sleep 30
	BSL_chaos
}

Okay, that must be a limitation of the function stack in BSL. If you put "fork BSL_chaos", it goes all the way to six. I had already tried "fork BSL_chaos" in the previous code, but it doesn't accept the keyword "fork" in that context. I guess I should have said something earlier, but I assumed for some reason that the execution stack was bigger than that, so I figured it was "iterate" that was limiting us somehow. Well, congrats on figuring out a way to use "iterate", although I still think it was meant for arrays. --Iritscen 23:19, 8 December 2009 (UTC)