Hello, just curious, are the example programs that come with SB typed out somewhere? I thought I saw the Japanese ones.
I am considering going through it and examining line by line what the Jump-kun game does and putting notes in it. I tried looking at how it loads maps and there are alot of things it does that I'm not sure why it does it yet.
Sample Programs
http://smileboom.com/special/ptcm3/sample/
Click button below title of any to view source code.
Unfortunately not available on English website.
Jump-kun: http://smileboom.com/special/ptcm3/sample/code/game3.php
Excellent, thank you.
Someone should translate this one.
'======ビギナープログラム Ver 1,2=======
'
' 「'」をかくことでプログラムは「'」よりみぎがわの
' もじはむししてどうさするよ!
' むしされるもじはこのいろ(みどり)になるよ!
' 「オプション」の「おりかえしひょうじ」はオフにしてよんでね!
'
'==============================
' プログラムはきほんてきに、うえからじゅんにしょりされていくよ。
ACLS '「ACLS」はがめんぜんたいをしょうきょするめいれいだよ。
' とりあえずいまはいちばんはじめにかいておこう。
'
X=100:Y=50 'XとYは、のちにひょうじする、しかくけいのざひょうをほぞんしているよ。
' すうちをえいじのなかにほぞんしておけるんだ。
' こういうのを「へんすう」っていうんだよ。
' A+Bとか、へんすうどうしでけいさんすることもできるんだ。
' プログラムは、この「へんすう」ですべてなりたってるといってもかごんじゃないよ。
' きほんてきに、めいれいなどにつかわれていないえいじならおもいつきのえいじでもつかえるよ。
'
' プログラムは、うえからしょりするけど、いちばんしたまでいってしまうと
' どうさがSTOPしてしまうんだ。
' だから、ていしさせたくないばあいは、あるばしょにきたらもどしてあげなければならない。
'
'=======メインループ======== 'そのためのループがこのぎょうからはじまるよ!
@MAINLOOP '「@」とじゆうにわかりやすいなまえをつけられるよ!
' これでいつでも「GOTO @」と、かけばそのぎょうにとばすことができる。
GCLS:CLS '「GCLS」はグラフィックかんけいのしょうきょ、「CLS」はもじのしょうきょだよ。
' ACLSはいろいろリセットされるし、かいしちょくごいがいは、あまりつかわないよ。
GOSUB @KEISAN '「GOTO」はいったっきり だけど「GOSUB」のばあいはまたここにもどってくるんだ。
GOSUB @HYOUZI ' 100ぎょうめでよびだしたら、またもどってきたとき101ぎょうめからぞっこうされるんだ。
' ふくすうのばしょからアクセスできるようになるんだよ。
VSYNC 1 'これはがめんびょうがタイミングまで、どうさをていしして、たいきするめいれいだよ。
' これがないとがめんがちらついたり、しょりのりょうでゲームスピードがおおきくへんかしちゃうんだ。
GOTO @MAINLOOP 'ここで25ぎょうめの「@MAINLOOP」にまたとばすんだよ。
' ここまでがメインループ、ここをずーっとグルグルまわっているよ。
' ではこっからしたは、とちゅうでよびだされてるサブルーチン「GOSUB」でとんださきのせつめいだ!
'===================== '
' '
'--------------------- '
@KEISAN 'こんかいは「けいさん」のいみでしょりだけをするサブルーチンにしてみたよ。
'
CX=CX+0.2 'CXは、いどうするぶんしょうのXざひょうをいれているよ。つうかのたびにCXに0.2ずつかさんしているよ
IF 40<CX THEN CX=0 ' IF~THENは「もし~なら」といういみだよ。このばあいは「もしCXが40をこえたなら」「CXを0にする」
'
B=BUTTON(0) ' 「BUTTON」はおされたキーじょうほうをかえすめいれいだよ。じょうきょうをヘンスウBにいれたよ
IF B AND 1 THEN Y=Y-1 ' 2しんすうでのデータになっているんだけど、それを10しんすうで、していしているよ。
IF B AND 2 THEN Y=Y+1 ' 0000 0000 0100 0001 (これら1つずつを1ビット、8つで1バイト、ひだりは2バイトかいてるね
IF B AND 4 THEN X=X-1 ' おされたばしょが1になるんだ。うえのばあいは10しんすうでは64(X)+1()
IF B AND 8 THEN X=X+1 ' けい65。10しんすうしていでは64をにんしきできない。
' そのためのビットひかくえんざん(AND)をつかってるんだ。これで64のばしょが1かどうかみわけられるよ。
RETURN 'このめいれいで「GOSUB」でよびだされたもとのばしょにかえるんだ。こんかいは29ぎょうめ
'
'--------------------- '
@HYOUZI ' つぎは「ひょうじ」にかんするしょりのサブルーチンのせつめいだよ。
' いろんなしょりがすみ、あとはけっかをひょうじさせるだけだね。
LOCATE CX,20:PRINT "おはようございます。" '「LOCATE」はもじをかくせんようのがめんのカーソルのいちをしていしているよ。X(よこ),Y(たて)
' いつもカーソルはみえないけどCLSごは0,0になり、PRINTごはかいぎょうされてたりしているよ
LOCATE 0,0 ' へんすう「CX」のじょうきょうでカーソルいちをずらしPRINTいちをかえてるんだ。
PRINT "じゅうじキーで、しかくがいどうするよ" 'PRINTは「?」とかくこともできる 「?"こんにちは"」
PRINT "X=";X,"Y=";Y ' 「;」だとつづけてかく、「,」だとTABくぎりになるんだ。
' 「""」でかこってないもじはへんすうあつかいされ、そのないようがひょうじされるよ。
GFILL X,Y,X+32,Y+32,RGB(50,100,255) 'これはしかくけいをかくめいれいだよ。ひだりうえすみX,Y、みぎしたすみのX,Yといったしていをしてるよ。
' RGBはRed(あか)、Green(みどり)、Blue(あお)のせいぶんのりょうで、この3しょくですべてのいろがひょうげんできる。
RETURN 'これで「GOSUB」でよびだされたもとのばしょにもどるんだ。メインループにもどったら「VSYNC 1」がじっこうされるよ
'----------------------------------------
'A=B+(C*30) など、へんすうのつかいかたはさまざまです。
'A$="こんにちは" 「$」をもちいた「もじれつがた へんすう」もあります。
'B$=A$+"、おげんきでしゅか"
'----------
'きほんてきなせつめいはいじょうです。
'ここまでりかいできれば、けっこうなんでもつくれるのです。
'スプライトなども、きほんはおなじかんがえで、あとはそのつど
'「めいれいひょう」などからつかえそうなめいれいをさがせばいいだけです。
'おなじどうさでも、さまざまなかきかたがあります。
'いろいろやってみましょう。
'
'-------------------' こういうのもあります。
'IF A==1 THEN '
' B=1 ' A =1ならB=1がじっこうされ
' ELSE ' ELSE
' C=1 ' A!=1ならC=1がじっこうされる
'ENDIF ' (=「B=1がじっこうされなかったとき」)
'-------------------'
'
'-------------------'IFのなかにIFもいれられます。
'IF A==1 THEN '
' IF B==1 THEN 'A=1でさらにB=1のときのみOK!をひょうじ
' PRINT "OK!" '
' ENDIF '
'ENDIF '
'-------------------'
'
'こんかい(3ごう しょばん)バグがあり「GCLS:CLS」とかかないと
'コンソールもじがせいじょうにどうきひょうじできません
'「CLS:GCLS」では。
I got a bunch of work dumped on me halfway through but I guess here's
'====Beginner Program Ver 1.2=====
'
' By writing a ' before the line
' Text from there will be ignored!
' Ignored text is colored like this
' [Can be configured in the options]
'
'=================================
' Programs are processed from the top
ACLS 'ACLS is a command to clear the screen
' Anyway, let us begin writing
'
X=100:Y=50 'X and Y will be displayed later
' they are storing coordinates
' We're saving a numerical value
' to something called a "variable"
' A+B, would calculate these against
' each other
' It is not an exaggeration to say that programs rely on variables
' Essentially, they are used to store any kind of information
'
' Programs are processed from the top until reaching the end
' When there are no more instructions, they stop.
' If you don't want to stop... we need to prevent the program
' from reaching the end
'
'======Main loop======= Our loop code starts here!
@MAINLOOP '"@XX" we want to give this a meaningful name
' Now anytime you write GOTO @XX it will jump to that line
GCLS:CLS 'GCLS clears the graphics, CLS clears text
' ACLS will reset everything, and we don't want to overuse
GOSUB @CALCULATE 'GOSUB works like GOTO, but we come back here when done
GOSUB @DISPLAY ' After the call on line 100, we continue from line 101
' I can go to mulitple locations
VSYNC 1 '[The screen waits x/60th of a second before display]
' Prevents the screen from flickering by controlling processing speed
GOTO @MAINLOOP 'Jump back to the "@MAINLOOP" on line 25
' We will stay in this section of the code, going around and around...
' [ではこっからしたは、とちゅうでよびだされてるサブルーチン「GOSUB」でとんださきのせつめいだ!]
'===================== '
' '
'--------------------- '
@CALCULATE 'This subroutine performs operations related to 'calculating'
'
CX=CX+0.2 'CXは、いどうするぶんしょうのXざひょうをいれているよ。つうかのたびにCXに0.2ずつかさんしているよ
IF 40<CX THEN CX=0 ' IF~THENは「もし~なら」といういみだよ。このばあいは「もしCXが40をこえたなら」「CXを0にする」
'
B=BUTTON(0) ' 「BUTTON」はおされたキーじょうほうをかえすめいれいだよ。じょうきょうをヘンスウBにいれたよ
IF B AND 1 THEN Y=Y-1 ' 2しんすうでのデータになっているんだけど、それを10しんすうで、していしているよ。
IF B AND 2 THEN Y=Y+1 ' 0000 0000 0100 0001 (これら1つずつを1ビット、8つで1バイト、ひだりは2バイトかいてるね
IF B AND 4 THEN X=X-1 ' おされたばしょが1になるんだ。うえのばあいは10しんすうでは64(X)+1()
IF B AND 8 THEN X=X+1 ' けい65。10しんすうしていでは64をにんしきできない。
' そのためのビットひかくえんざん(AND)をつかってるんだ。これで64のばしょが1かどうかみわけられるよ。
RETURN 'このめいれいで「GOSUB」でよびだされたもとのばしょにかえるんだ。こんかいは29ぎょうめ
'
'--------------------- '
@DISPLAY ' つぎは「ひょうじ」にかんするしょりのサブルーチンのせつめいだよ。
' いろんなしょりがすみ、あとはけっかをひょうじさせるだけだね。
LOCATE CX,20:PRINT "おはようございます。" '「LOCATE」はもじをかくせんようのがめんのカーソルのいちをしていしているよ。X(よこ),Y(たて)
' いつもカーソルはみえないけどCLSごは0,0になり、PRINTごはかいぎょうされてたりしているよ
LOCATE 0,0 ' へんすう「CX」のじょうきょうでカーソルいちをずらしPRINTいちをかえてるんだ。
PRINT "じゅうじキーで、しかくがいどうするよ" 'PRINTは「?」とかくこともできる 「?"こんにちは"」
PRINT "X=";X,"Y=";Y ' 「;」だとつづけてかく、「,」だとTABくぎりになるんだ。
' 「""」でかこってないもじはへんすうあつかいされ、そのないようがひょうじされるよ。
GFILL X,Y,X+32,Y+32,RGB(50,100,255) 'これはしかくけいをかくめいれいだよ。ひだりうえすみX,Y、みぎしたすみのX,Yといったしていをしてるよ。
' RGBはRed(あか)、Green(みどり)、Blue(あお)のせいぶんのりょうで、この3しょくですべてのいろがひょうげんできる。
RETURN 'これで「GOSUB」でよびだされたもとのばしょにもどるんだ。メインループにもどったら「VSYNC 1」がじっこうされるよ
'----------------------------------------
'A=B+(C*30) など、へんすうのつかいかたはさまざまです。
'A$="こんにちは" 「$」をもちいた「もじれつがた へんすう」もあります。
'B$=A$+"、おげんきでしゅか"
'----------
'きほんてきなせつめいはいじょうです。
'ここまでりかいできれば、けっこうなんでもつくれるのです。
'スプライトなども、きほんはおなじかんがえで、あとはそのつど
'「めいれいひょう」などからつかえそうなめいれいをさがせばいいだけです。
'おなじどうさでも、さまざまなかきかたがあります。
'いろいろやってみましょう。
'
'-------------------' こういうのもあります。
'IF A==1 THEN '
' B=1 ' A =1ならB=1がじっこうされ
' ELSE ' ELSE
' C=1 ' A!=1ならC=1がじっこうされる
'ENDIF ' (=「B=1がじっこうされなかったとき」)
'-------------------'
'
'-------------------'IFのなかにIFもいれられます。
'IF A==1 THEN '
' IF B==1 THEN 'A=1でさらにB=1のときのみOK!をひょうじ
' PRINT "OK!" '
' ENDIF '
'ENDIF '
'-------------------'
'
'こんかい(3ごう しょばん)バグがあり「GCLS:CLS」とかかないと
'コンソールもじがせいじょうにどうきひょうじできません
'「CLS:GCLS」では。