iBASICについて語ろうよ…

このエントリーをはてなブックマークに追加
9230.02:2005/03/30(水) 09:35:11 ID:dd6kGnzZ
■「A軍キャラ」
label Afst
ANAME="ヒーロー"AMHP=100AHP=100AMP=10ADF=5
return

label A
ADF=5
if ASL=0and DICE=1then text("[1] アタック",AX,AY[i])i=i+1DMG=15gosub"Admg"
elseif ASL=0and DICE=2then text("[2] 防御",AX,AY[i])i=i+1DFC=5gosub"Adfc"
elseif HIT<=7and ASL=0and DICE=3then text("[3] 光の剣",AX,AY[i])i=i+1text("剣は鈍く光った",AX,AY[i])i=i+1gosub"Acpz"
elseif HIT>=8and ASL=0and DICE=3then text("[3] 光の剣",AX,AY[i])i=i+1text("オーラブレード!",AX,AY[i])i=i+1MDM=50gosub"Amdm"
elseif ASL=0and DICE=4then text("[4] 薬草",AX,AY[i])i=i+1RCV=5gosub"Arcv"
elseif ASL=0and DICE=5then text("[5] ヒーリング",AX,AY[i])i=i+1RCV=SUB+2MMP=1gosub "Ammp"gosub"Arcv"
elseif ASL=0and DICE=6then text("[6] ダブルアタック",AX,AY[i])i=i+1DMG=8gosub"Admg"text("てええぇいっ!",AX,AY[i])i=i+1gosub"Admg"
endif
'ここから下はいじらない
if ASL=1and COIN=1then ASL=0text(ANAME+"は",AX,AY[i])i=i+1text("眠りから覚めた!",AX,AY[i])i=i+1elseif ASL=1and COIN=0then text(ANAME+"は",AX,AY[i])i=i+1text("眠っている…",AX,AY[i])i=i+1endif

gosub"disp"
goto "jdg"
9240.02:2005/03/30(水) 09:36:51 ID:dd6kGnzZ
■「B軍キャラ」
label Bfst
BNAME="ドラゴン"BMHP=150BHP=150BMP=20BDF=2
return

label B
BDF=2
if BSL=0and DICE=1then text("[1] 雄叫び",AX,AY[i])i=i+1POI=3gosub"Bpzn"
elseif BSL=0and DICE=2then text("[2] 防御",AX,AY[i])i=i+1DFC=SUB gosub"Bdfc"
elseif BSL=0and DICE=3then text("[3] ブレス",AX,AY[i])i=i+1MDM=35MMP=12gosub "Bmmp"gosub"Bmdm"
elseif BSL=0and DICE=4then text("[4] テイルウィップ",AX,AY[i])i=i+1DMG=10gosub"Bdmg"
elseif BSL=0and DICE=5 then text("[5] 皮膚再生",AX,AY[i])i=i+1RCV=5gosub "Brcv"
elseif BSL=0and DICE=6 then text("[6] 眠り爪",AX,AY[i])i=i+1
DMG=9 gosub "Bdmg"text("グギャオォッ!",AX,AY[i])i=i+1SLP=COIN gosub"Bslp"
endif
if BSL=1and COIN=1then BSL=0text(BNAME+"は",AX,AY[i])i=i+1text("眠りから覚めた!",AX,AY[i])i=i+1 elseif BSL=1and COIN=0then text(BNAME+"は",AX,AY[i])i=i+1text("眠っている…",AX,AY[i])i=i+1endif
gosub "disp"
goto "jdg"



ゲームプログラムは以上です…連続投稿申し訳ない
9250.02:2005/03/30(水) 09:53:14 ID:dd6kGnzZ
*は所属軍の文字(AorB)という事で。

*MHP=最大HP値を設定 *HP=初期HP値。基本的に最大値と同じ値を設定
*MP=初期MP値。*DF=基本防御値。*NAME=名前。
そのキャラで必要な変数があればlabel *fst内に用意しておく
防御力は毎自ターン頭に初期値に戻るようにするためlabel *にlabel *fstと同じ*DF値を設定
ダイス目に設定する能力はif文中のダイス処理text("[1] アタック",AX,AY[i])i=i+1に続いて
戦闘変数→処理の順で記入。戦闘変数は以下の通り。
DMG=通常攻撃ダメージ値 DFC=防御力上昇値を指定
MDM=魔法ダメージ値を指定 MMP=必要MP値を指定
RCV=自己回復値を指定 POI=脱力値を指定
回復魔法などはRCV=5MMP=2gosub"*mmp"gosub"*rcv"とすれば
MP2消費してHP5回復する魔法などが出来ます。
その他にも色々組み合わせて使ってください
※戦闘変数はターン毎に初期化されます

gosub で飛べる命令群
*dmg=攻撃&耐性判定 *dfc=防御 *mmp=MPが足るか判定&MP減少
*mdm=魔法攻撃 *rcv=HP回復 *pzn=脱力状態にする
*cpz=脱力回復 *pnc=混乱(自分にダメージ) *slp=眠り
*pnc(混乱)処理以外は*mmp(MP量チェック)処理が使える
DMG=10MMP=1gosub"*mmp"gosub"*dmg"とすればMP消費の物理攻撃も設定可
gosub"*mmp"より先にgosub"*dmg"など行動処理を記入するとMP量が不足していても行動処理を行う
slpは SLP=COIN gosub"*slp"とすれば1/2の確率で眠らせ
SLP=1gosub"*slp"なら確実に眠らせる
textは必ず「text("文章・台詞等",AX,AY[i])i=i+1」として下さい
iは表示文字列行をカウントしており5以上になるとエラー
長文は途中でgosub"disp"必須
926非通知さん@アプリ起動中:2005/03/30(水) 21:07:50 ID:uuA6zu5H
そのうちタグが拡張されまくって、
RPGツクールが出来そうな悪寒
927非通知さん@アプリ起動中:2005/03/30(水) 21:48:10 ID:qiO4PDJ9
いっそのことそういうアプリを作った方がいいと思う。試しに何かアプリ化してあげようか?
9280.02:2005/03/30(水) 22:43:44 ID:tx0+fCcb
それを携帯BASICでやる事に意義がある。
結構エラーが出にくいように組めてるとは思う…どうだろ?

ということで今RPG戦闘を再現できるプログラム組んでます
ランダム実行ではなくてコマンド式の。とりあえず1vs1で。
敵はCOMが動かすって事で、あと属性攻撃とかを入れる予定…

まぁメール欄が本音なワケだが
実際そういうアプリをアプゲで公開したらすごい反響かと
プログラムを出力出来てメールで配信(これ重要)→(゚д゚)ウマー



そういや全然関係ないけど
A=0then …は0とthenをくっつけても問題ないが
scan=key0then …の場合「key0」という文字列として扱われるのでエラーになるっぽい
みんなにとっちゃ常識なのかも知れないけど(´・ω・`)
929826:2005/03/30(水) 22:46:18 ID:/VDtV4o1
>>926
RPGだったらテキスト表示じゃなくマップ画面をベースにした方が良い・・・のかな
(現状ではノベルゲーみたいのを前提にしてるからちょっと難しいかも

>>927
オレはPC環境無いので藻前に任せた
シナリオやデータ作る人にはアプリ化されてた方が楽でしょうね


ジレンマのプログラム1つ作ってみた(B側
「統計から判断」
if CNT=1 then b=0
else uragiritotal=uragiritotal+AS[CNT-1] if uragiritotal*100/(CNT-1)>32 then b=1 else b=0 endif
endif
過去の相手の行動の33%以上が裏切りだったら裏切る
930非通知さん@アプリ起動中:2005/03/30(水) 22:59:57 ID:FGc4aQ74
ツクールのiアプリ版は専用スレあったはず。
配信できるかどうかっていうのはでかいよね。携帯BASICは配信(共有)はできるけど手間が(;´Д`)

ジレンマでうちの大黒柱、TEDY
TAC=CNT-1 if TAC=0 then TAC=1 endif TA=TA+BS[CNT-1] TETA=TA*100/TAC a=abs(rand)%100 if a>=TETA then a=0 else a=1 endif
9310.02:2005/03/30(水) 23:12:52 ID:tx0+fCcb
考えてみたよ ノシ

「雄武返し(A)」forジレンマ
if b=0then a=0elseif b=1then a=1endif'前のBの行動を真似

「時計君(A)」forジレンマ
a=minute%2'偶数分は協調、奇数分は裏切り

「バイオリズム(A)」forジレンマ
a=0
if 25<CNT and CNT<76then a=1elseif
125<CNT and CNT<176then a=1endif
'CNTが26〜75,126〜175の時は裏切る

「チェンジ君(B)」forジレンマ
sanbun=abs(rand)%5
if CNT=1then b=0 endif
if sanbun=0and b=0then b=1
elseif sanbun=0and b=1then b=0 endif
'裏切りか協調かある程度連続するが5回に1回の確率で切り替わる


保管庫の人にはそろそろプログラム回収に来て欲しいな…
932非通知さん@アプリ起動中:2005/03/30(水) 23:36:16 ID:FGc4aQ74
せっかくだから総当たりやってみる
\;雄;時;バ;チ;T;統
雄;A1;A2;A3;A4;A5;A6
時;B1;B2;B3;B4;B5;B6
バ;C1;C2;C3;C4;C5;C6
チ;D1;D2;D3;D4;D5;D6
T;E1;E2;E3;E4;E5;E6
統;E1;E2;E3;E4;E5;E6
5回(計1000)で
チェンジ君、雄武君は直接bみてるからプログラム少しいじるね
SB[CNT-1]に
じゃないと下側(b)にきた時におかしくなるから
933☆彡 ◆/0IwdqVeUw :2005/03/30(水) 23:39:04 ID:uuA6zu5H
皆さん久しぶりです(@^^@)
といっても影薄かったので、私の事分からないかもしれませんが…
これからちょくちょく顔出すので宜しくお願いします
ところで皆さんダイスクエストってご存じですか?
934非通知さん@アプリ起動中:2005/03/31(木) 00:03:32 ID:FGc4aQ74
>933
ググったけどよくわかんなかった…

ところでそろそろ次スレ立てる時期が近くなってきたね。
あとソースの受け渡しにメルマガって使えないかな?とふと思いついたり
935非通知さん@アプリ起動中:2005/03/31(木) 08:09:00 ID:zU0g38Z5
メルマガか…いいかも
iらんどのメルマガ機能とかよく使ってたよ
登録者の情報が管理者に洩れない事と文字数制限が緩い事が重要かな

>932
結果に期待シマス

>933
http://www.sonicteam.com/cafe/top.html
の、「スゴローク」みたいなもん?
9360.02:2005/03/31(木) 13:36:39 ID:g4M6lqNj
>>932
修正ありがとん
結果が期になるぅ

>>934
次スレは>>980かなぁ?
ちょっとテンプレ考えてみるか

----
携帯BASICについて語るスレです。
質問やプログラムうpして盛り上がりましょう。
携帯BASICのDLはこちらから(パケット代のみでDL可)。
ttp://satoo.jp/
現在のVer. = 携帯BASIC1.0.5

荒らし・煽りは放置でお願いします。
プログラム作者は最低でも数字コテを付けるのが望ましいかも。
その他リンクなどは>>2-10
----

ちなみにまぐまぐ見てきたけど新規募集はメンテで停止中だた(´・ω・`)
ところでこのスレに何人いる?
1 } \(・∀・)
937非通知さん@アプリ起動中:2005/03/31(木) 16:26:27 ID:1p10Efn9
(・∀・){2

結果はExcelつかって近いうちにだします
プライバシーは捨てアドとるか管理人を信用するか登録しないか選択してもらうとして、あと文字数の長さとパケ代も問題になるかな。
938非通知さん@アプリ起動中:2005/03/31(木) 22:17:47 ID:pSo3HAoS
(・∀・)<参

ここってもう携帯Basic語る場所になったのか。スレタイこのままでいいのか…?
あとTabris氏とyasu氏のサイトも一応テンプレに入れといた方がいいと思うぞ。
939☆彡 ◆/0IwdqVeUw :2005/03/31(木) 22:34:34 ID:lnOMNEd5
☆彡{四であります!
皆さんDRRGの第一歩としてだいすくえすとライクを作りませんか?
だいすくえすとの利点としては、3Dではなく平面、正式にはプレイヤーが平面ダンジョンを描いてプレイできるということです。 どうですか?みなさん?
940☆彡 ◆/0IwdqVeUw :2005/03/31(木) 22:41:03 ID:lnOMNEd5
↑上の文章とてつもなく意味が分からない文章になってしまって、本当にすいませんでした。
941非通知さん@アプリ起動中:2005/03/31(木) 22:52:49 ID:1p10Efn9
>939
どんな画面になるのかを簡単にソースにしてルールをかいてくれるとイメージしやすいかな
9420.02:2005/03/31(木) 23:32:33 ID:FG1p6RCO
>>938
確かに。
> 携帯BASICについて語るスレです。
> i/ezBASICの話題もどうぞ。
…ってな感じかな。

ところでメール配信案だけど、セルフ配信できないかな
<a href='@ne.jp?Body=プログラム'>メールでお持ち帰り</a>
注釈文は使わないかremにすれば可能かも。
9430.02:2005/03/31(木) 23:35:42 ID:FG1p6RCO
すまん、<a href='[email protected]〜 だった
しかしここ数日のスレの伸びすごいね
944826:2005/03/31(木) 23:53:52 ID:6t1JywvH
( ゚д゚){5

次スレのタイトル候補
携帯用BASICを語るスレ Part1

(スレタイは一応iBASIC、ezBASIC、携帯BASIC総合ということで・・・
その上で携帯BASICメインで語るって事で良いんじゃないでしょうか?
キャリア依存が無いのは携帯BASICだけだし。
945☆彡 ◆/0IwdqVeUw :皇紀2665/04/01(金) 00:52:41 ID:idjMrQuZ
>>941さん
for a=1 to 21
line(0,a*12,240,a*12)
line(a*12,0,a*12,240)
next
input()
ここでモンスターダイス(ダイスとはさいころの事です)とマップダイスとアイテムダイス、
攻撃ダイスを振ります。
マップダイスを振り、
出た絵と同じ風にマップに書き込みます。
そしてモンスターダイス…とさいころの出た目で運命が決まるゲームです。
キャラクターは自分で設定出来ます。
キャラクターの設定はウィザードリィに似てるといって間違いないです。
946非通知さん@アプリ起動中:皇紀2665/04/01(金) 02:57:33 ID:JZ/o/Kia
lock()for C=1 to 5 rect(10,10*C,50,10) line(10+10*C,10,10+10*C,60) next for MAPx=1 to 5 for MAPy=1 to 5D=abs(rand)%2
if D=0 then text("■",MAPx*10,MAPy*10+14) else MAP[MAPx][MAPy]=0endif next next input()
壁だけだけどこんな感じになるのかな
マスごとにイベント{壁,アイテム,モンスター}を決めるってこと?
早い話がローグ?
947非通知さん@アプリ起動中:皇紀2665/04/01(金) 04:07:27 ID:idjMrQuZ
>>946さん
壁ではなく通路です、あとさいころで通路を作るところ以外はほぼローグですね。
9480.02:皇紀2665/04/01(金) 11:16:19 ID:lIgQrZmH
ついに時代は皇紀か…新たな年号記念に
<a href='mailto:youraccount@**.ne.jp?Body=プログラム'>
に訂正

>>947
要するに「百の世界の物語」?
原作知らないけど、面白そう

>>944
BASICアプリ総合【携帯BASIC/iBASIC/ezBASIC】
これなら検索にも引っかかる…けど文字数制限どうだろ
949非通知さん@アプリ起動中:2005/04/02(土) 18:08:48 ID:7JNhvyJV
AppliMakers活気があっていいなぁ…携帯BASICもああいう風にプログラム交換できたらよかったのに。やっぱ2chがメインの交流場てのはちょっとねぇ…
950非通知さん@アプリ起動中:2005/04/02(土) 19:04:47 ID:/iTyg39B
>949
できることは携帯ベーシックのほうが多そうだね。
データの送受信と知名度があるぶんAMが強いのかな
951非通知さん@アプリ起動中:2005/04/02(土) 22:49:45 ID:GGJtKOzO
ここに上がってるプログラム、
何一つとしてAMで再現できなさそうと思うのは俺だけだろうか
500行(命令)だととても…
家庭用RPGツクールとPCのそれくらいの差じゃない?

>>☆ミ氏
ちょっと楽しそう
基盤と大まかなルールできたらうpきぼん
952非通知さん@アプリ起動中:2005/04/02(土) 23:11:55 ID:/iTyg39B
PCのほうが難しい(ように見える)んだろうね。ツクールは分かりやすいインターフェイス(命令が日本語)だし。
ダイスクエストはサンプルの倉庫番をベースにすると少しは楽かもね
953☆彡 ◆/0IwdqVeUw :2005/04/02(土) 23:50:46 ID:WV4t6lEq
ここってリンク無断で張っていいのでしょうか?
954非通知さん@アプリ起動中:2005/04/03(日) 01:09:01 ID:F0d+rWC6
soft2("END")
R=(rand)%48+1 CHARx=R R=(rand)%50+1 CHARy=R LT=2 for j=1 to 50 step 49 for i=1 to 50 MAP[i][j]="*" MAP[j][i]="*" next next for i=2 to 49 for j=2 to 49 R=(rand)%5 if R<=0 then MAP[i][j]=" " else MAP[i][j]="*"
endif next next label 0 MAP[CHARx][CHARy]="@" lock()
color(0,0,0) frect(33/LT,33/LT,37*LT,37*LT)
for i=-LT to LT for j=-LT to LT color(250,250,250) text(MAP[CHARx+i][CHARy+j],50+12*i,60+12*j)
next next unlock(1)
MAP[CHARx][CHARy]=" " key=input() if key=keysoft2 then end elseif key=keyleft then CHARx=CHARx-1 elseif key=keyright then CHARx=CHARx+1 elseif key=keyup then CHARy=CHARy-1 elseif key=keydown then CHARy=CHARy+1 endif goto 0
955非通知さん@アプリ起動中:2005/04/03(日) 01:22:06 ID:F0d+rWC6
AMに負けたくないので簡単にrogue系の触りだけつくってみた。rogueは作る気ないけど*BAND系ならつくってみるかも
参加者希望age
ネックは読み込みの遅さとダンジョンのアルゴリズム。読み込みはどうなるかわからんけどアルゴリズムは変えるつもり
まだ踏んでない場所を?にして先を見えないようにしようかとか色々考え中
ジレンマでやったAIの経験を生かしてrogue_AIとか複数対戦みたいな疑似MMRなんかできたらよいなぁと妄想してみる。
956826:2005/04/03(日) 04:05:39 ID:VWwVwp6/
>>948
スレタイに「BASIC」が4つもあるのもどうかと・・・w
所で皆さんはこのスレ観るようになったきっかけは?
オレは・・・思い出せないorz


>>953
リンク先のページが「直リンク駄目」とかじゃないならOKだと思う


>>954-955
プログラム少し修正

R=(rand)%48+1 CHARx=R R=(rand)%50+1 CHARy=R

R=abs(rand)%48+1 CHARx=R R=abs(rand)%50+1 CHARy=R
(多分「R=(rand)%48+1」だと-46〜48のどれかになってしまう

frect(33/LT,33/LT,37*LT,37*LT)

frect(50-1-12*LT,60-14-12*LT,12*(1+LT*2)-5,12*(1+LT*2))

BAND系ってのがどうゆう物か解らない訳だが・・・
957非通知さん@アプリ起動中:2005/04/03(日) 04:27:59 ID:F0d+rWC6
>956
frectがおかしいのは知ってたけど調整するの面倒だったからそのままのせちゃった。randはその場でつけたからabsつける忘れ。
画面をrectで囲んで時間の概念つけて木を通れないようにはしたけどあまりの遅さにがっくり
gcってやつやれば少しは早くなんのかな?

BANDっても俺変愚蛮怒ってやつしかやったことないけど、rogueに店とか色々くっつけた感じのやつ。
店で買い物して好きなダンジョン行ってお金貯めてレベル上げて戻って買い物して…
だからrogueと一番違うのは"戻れる"ことかな。
一応変更版を
958非通知さん@アプリ起動中:2005/04/03(日) 04:31:19 ID:F0d+rWC6
soft2("END")CHARx=abs(rand)%47+2 CHARy=abs(rand)%47+2 LT=4 for j=1 to 50 step 49 for i=1 to 50 MAP[i][j]="#"
MAP[j][i]="#" next next for i=2 to 49 for j=2 to 49
R=(rand)%5 if R<=0 then MAP[i][j]=" " else MAP[i][j]="*" endif next next MAP[CHARx][CHARy]=" " rect(4,4,132,133)
label 0 MCHx=CHARx MCHy=CHARy lock()color(50*LT,50*LT,50*LT)frect(5,5,131,132)for i=-LT to LT for j=-LT to LT color(250-50*LT,250-50*LT,250-50*LT)
text(MAP[CHARx+i][CHARy+j],70+12*i,79+12*j) next next text("@",70,79) unlock(1)
key=input() if key=keysoft2 then end elseif key=keyleft then CHARx=CHARx-1 elseif key=keyright then CHARx=CHARx+1 elseif key=keyup then CHARy=CHARy-1 elseif key=keydown then CHARy=CHARy+1 endif if MAP[CHARx][CHARy]="*" or MAP[CHARx][CHARy]="#"
then CHARx=MCHx CHARy=MCHy else CNT=CNT+1 endif if CNT%20=19 then TIME=TIME+1 endif LT=5-TIME%6 goto 0
959826:2005/04/03(日) 09:33:43 ID:VWwVwp6/
>>957
MAP表示を1行ずつ纏めて行うようにして高速化成功しました
これなら遊べる速度だと思う
あと、それに関連して全角文字に(半角でも出来るけど少し面倒だったので
マップ関係総変更したんで消えちゃったけど、
MAP[i][j]="#"
MAP[j][i]="#"
ってやつは目から鱗ですた
gc()はスピード自体は大して変わらないと思う

>rogueに店とか色々くっつけた感じのやつ。
>店で買い物して好きなダンジョン行ってお金貯めてレベル上げて戻って買い物して…
>だからrogueと一番違うのは"戻れる"ことかな。

面白そうですねえ、ネタに困ってたんで是非参加させてください。
(でも作るのはrogueより難しいのではorz
960826:2005/04/03(日) 09:34:38 ID:VWwVwp6/
「TEST」

soft2("END")
LT=4 LTM=5 CHARx=LTM+abs(rand)%50+1 CHARy=LTM+abs(rand)%50+1

'マップ作成
SHARPS=""
for i=1 to 50+LTM*2 SHARPS=SHARPS+"#" next

for i=0 to LTM+50 step LTM+50
for j=1 to LTM
MAP[j+i]=SHARPS
next
next

SHARPS=substr(SHARPS,0,LTM)
for i=1+LTM to 50+LTM
MAP[i]=SHARPS
for j=1 to 50 R=(rand)%5
if R<=0 then MAP[i]=MAP[i]+" " else MAP[i]=MAP[i]+"*" endif
next
MAP[i]=MAP[i]+SHARPS
next

MAP[CHARy]=substr(MAP[CHARy],0,CHARx-1)+" "+substr(MAP[CHARy],CHARx,strlen(MAP[CHARy])-CHARx)

'枠書き込み
rect(4,4,132,133)

#TEST_2#
961826:2005/04/03(日) 09:35:49 ID:VWwVwp6/
「TEST_2」

'メイン
label 0
MCHx=CHARx MCHy=CHARy
yield()
lock()
color(50*LT,50*LT,50*LT)
frect(5,5,131,132)
color(250-50*LT,250-50*LT,250-50*LT)

for i=-LT to LT
text(substr(MAP[CHARy+i],CHARx-1-LT,1+LT*2),64-12*LT,79+12*i)
next

text("@",64,79)
unlock(1)
key=input()
if key=keysoft2 then end
elseif key=keyleft then CHARx=CHARx-1
elseif key=keyright then CHARx=CHARx+1
elseif key=keyup then CHARy=CHARy-1
elseif key=keydown then CHARy=CHARy+1
endif
if strat(MAP[CHARy],CHARx-1)="*" or strat(MAP[CHARy],CHARx-1)="#"
then CHARx=MCHx CHARy=MCHy
else CNT=CNT+1
endif
if CNT%20=19 then TIME=TIME+1 endif
LT=5-TIME%6
goto 0
962非通知さん@アプリ起動中:2005/04/03(日) 13:36:21 ID:AD76v+Pe
>>960-961
動かない…orz

そういや今気づいたんだけど1.0.4にあった倉庫作業が消えてる…
代わりに画像サンプルが入ったのかorz
前も誰か言ってたけど、サンプル&解説無し版欲しいな。
逆に、今までageられたプログラムを入れたサンプル集も。
963非通知さん@アプリ起動中:2005/04/03(日) 15:06:07 ID:F0d+rWC6
やっべ俺も右半分映らない。
でも目に見えて早くなってる。>826氏GJ
ソース読みながら勉強してくる。substrなんかまだ一度もつかったことないしorz

確かに普通のrogueよりは難しいとは思うけど、roguelikeってもう出てるからわざわざ作る気にならないんだよね。それに登り階段と店と地上を削ればrogueになっちゃうし

難しいっていっても分解して考えるとそんなに沢山でもないよ
一、ステータスをつくる(今は簡単にHPだけで)
二、動かない敵Mを三匹つくる(ステータスはENP[M番号][HP]で、空白におく)←これが一番難しいかも
三、label"判定"行き先が*なのか#なのかMなのか。Mなら攻撃
攻撃の判定、成功判定は後で調整すればいいから取りあえずrand%6<2なら成功、二回攻撃で死亡にする

ここまでなら余裕で今日中に終わっちゃうし、松明とか木に登って隠れるとか川を渡るとか、いろいろやりたいなぁとは考えてるけど少しづつやれば完成すると思うよ。
敵のうごきとマップのアルゴリズムはたぶん最後にやるか少しづつやろうかなと

もし手伝ってもらえるなら喜んで
ただ今から出かけるから俺の作業は夜になっちゃうけどf^^;
964非通知さん@アプリ起動中:2005/04/03(日) 18:12:32 ID:F0d+rWC6
>826氏に質問なんだけど
「TEST」
LTM

マップ作成
MAP[CHARy]=substr(MAP[CHARy],0,CHARx-1)+" "+substr(MAP[CHARy],CHARx,strlen(MAP[CHARy])-CHARx)

「TEST_2」
text(substr(MAP[CHARy+i],CHARx-1-LT,1+LT*2),64-12*LT,79+12*i)

この3つがよくわからないんだけど解説お願いしてよいかな?
考えてるみたけどGIVE UP orz
9650.02:2005/04/03(日) 18:31:49 ID:y1iIXk1J
便乗で講義お願いします。

MAP[0]=010
MAP[1]=001
MAP[2]=100
for Y=0 to 2 for X=0 to 9
YUKA=substr(MAP[Y],X,1)'床チェック、Y列X番目から1文字読む
if YUKA=0then text("□",X*12,Y*12+12)
elseif YUKA=1then text("■",X*12,Y*12+12)endif
'床チェック値が0なら□を、1なら■を描画
next next input()'3x3のマップ描画後入力待ち、入力後終了

こんな感じのプログラムで、MAP[0]=010 に格納されている010を
011とかに書き替えて記憶させるにはどうしたらいいのか教えてください…

substr(MAP[Y],X,1)=0 とかだとエラーになるし…
966非通知さん@アプリ起動中:2005/04/03(日) 20:07:46 ID:MAmFTa8Z
誰か新スレ立てて下さい。
自分がサボってたせいで、まとめサイト更新前にDAT落ちしてしまうorz
967非通知さん@アプリ起動中:2005/04/03(日) 20:16:15 ID:ZyP4Xdks
はいよ、新スレたててきます
968非通知さん@アプリ起動中:2005/04/03(日) 20:38:48 ID:ZyP4Xdks
新スレたてました

i/ez/携帯BASIC総合スレ ver.1
http://hobby7.2ch.net/test/read.cgi/appli/1112528299/
969まとめサイト”管理”人:2005/04/03(日) 20:43:50 ID:MAmFTa8Z
こちらは埋めずに、新スレへの移動をおねがいします。
970非通知さん@アプリ起動中:2005/04/06(水) 18:20:15 ID:CppWRR/S
そろそろ保守。
保管庫の中の人頑張れ。
971非通知さん@アプリ起動中:2005/04/09(土) 13:30:56 ID:byvtK9KU
保守あげ
972非通知さん@アプリ起動中
保守するぞー

初心者講座

関数を変数に保管する事はできない。
ダメな例)A=text("こんにちは",0,12)
素直に関数は直接書こう。
ただし、入力取得関数だけは変数保管可能。使い方は、
入力判定と同じラベル内に以下のように記述するだけ。
 A=scan
 if A=key1 then A=A+1 endif
「scan」だけでなく「input()」も保管できる。

プログラム末尾が「)」「"」または半角数字(0〜9)で終わる場合、
改行または半角スペースを入れる必要はない。
例1)for X=0 to 8 step 2 → for X=0to 8step 2
goto、gosubに使う「"ラベル名"」の直前のスペースは抜いて良い。
また、ラベル名が半角数字の時は「"」も省ける。(スペースは必要)
計算式を飛び先に指定もできる。
(""を付けると式ではなく文字列とみなされる)
例2)gosub "default" → gosub"default"
例3)gosub "123" → gosub 123
例4)A=3 gosub 1+A >結果> label 4 へジャンプ
ただし、数字の直前のスペースを抜いてしまったりするとエラー。
うっかり変数名の後ろを詰めてしまうミスにも要注意。
プログラム構築中は分かりやすさを優先して文字詰めせず、
完成してから不要スペースを抜く事をオススメ。
ただし、キー入力取得変数のkeysoft1,keysoft2,
key0〜key9は数字とは違うのでスペースが必要となる。
例4-1)if input() and key1then A=A+1 →エラー
例4-2)if input() and key1 then A=A+1 →OK