Discuss Scratch

akku--n11
Scratcher
1000+ posts

プログラミング言語を作ろう(合作ではないです)

だいたいそういう感じです。
利用者っていうのは、プログラムに使う人です。

イメージ
プログラミング言語の骨格 | 開発チーム
↑ ↑ |
関数定義 本体を拡張 |利用者(使う人)
daikikato
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

akku--n11 wrote:

まずはコードでいきたいと思います。
コードとはブロックの方でしょうか。
それとも字だけのやつでしょうか(Unityみたいに)
aorubomerkun-s_test
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

daikikato wrote:

akku--n11 wrote:

まずはコードでいきたいと思います。
コードとはブロックの方でしょうか。
それとも字だけのやつでしょうか(Unityみたいに)
ちゃんと読めばわかりますよ。
daikikato
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

aorubomerkun-s_test wrote:

ちゃんと読めばわかりますよ。
はい。すみません。
akku--n11
Scratcher
1000+ posts

プログラミング言語を作ろう(合作ではないです)

yucca42 wrote:

Scratch Codeのこと書こうとしたらもう出てた()
こういうのを作ってたので難しかったのはループ重ね掛けの処理だった。(今もできてない)
どの処理を何回やってから次へいくというのを何回も重ねるのが難しい。
() 回繰り返す
() 回繰り返す

end
end

リストを使えばできるんじゃない?
yucca42
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

akku--n11 wrote:

リストを使えばできるんじゃない?
ぜひ教えてください。
なかなか作れん
技術不足….
nt-zzz
Scratcher
21 posts

プログラミング言語を作ろう(合作ではないです)

私の作品のループにはミスがあるので基本の考え方だけ置いときます 修正しました

・forループは指定範囲指定回数繰り返すものである
・forループはカウンタ変数を用いることでif文とgoto文に分解できる
・多重ループをしても内側のループが終わるまで外側のループにはいかない
ということがわかっていれば
カウンタ変数をスタック(最後に入力したものが最初に取り出される)構造のリストに入れることで多重ループが実現できます

基本的には
forの開始:カウンタ変数を作成
forのとこ:if(カウンタ<0)goto for終了
forの終わり:カウンタ変数を-1→goto forのとこ
でポインタをぐるぐるさせます。
多重ループの時には"カウンタ変数“のところに”最後に追加した(スタックで取り出す)カウンタ変数"が入ります。

猫歩き言語でそのようにやっている(修正中)ので見てみてください

Last edited by nt-zzz (Aug. 7, 2020 17:54:56)

NT_ZZzz
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

猫歩き言語のfor文が最低1回は動作してしまう設計ミスを修正しました。
(forの最初に与えられる繰り返し回数が0回以下の時は対応するend forまでの動作全てをスキップするようになりました)

動作の概要としては
forの開始:カウンタ変数を作成 goto forの最後
forのとこ:forループの中にある一番最初の処理の行の目印
forの最後:カウンタ変数を-1,(カウンタ変数>0)ならgoto forのとこ

↑で@nt-zzzが示したものより複雑に見えますが、プログラムはこちらの方が簡単です。

Last edited by NT_ZZzz (Aug. 7, 2020 17:59:15)

yucca42
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

なるほどー。参考になります
akku--n11
Scratcher
1000+ posts

プログラミング言語を作ろう(合作ではないです)

誰でもいいからもう少しアイディアをくれ!!
patazero-0
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

プログラミング言語とかのこととか分かりませんし中学生で理解力も低いのですがアクションゲーム専用言語を作るなら敵とかも追加した方がいいと思います(例えば移動方法や体力の多さ、無敵か無敵ではない、スピードの速さ、BOSSか違う敵か、BGMを変化させるなど(あったらごめんなさいあと別のことおっしゃられてるのならすいません))Byディスカッションフォーラム超初心者の人

Last edited by patazero-0 (Aug. 17, 2020 14:46:29)

aorubomerkun-s_test
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

patazero-0 wrote:

プログラミング言語とかのこととか分かりませんし中学生で理解力も低いのですがアクションゲーム専用言語を作るなら敵とかも追加した方がいいと思います(例えば移動方法や体力の多さ、無敵か無敵ではない、スピードの速さ、BOSSか違う敵か、BGMを変化させるなど(あったらごめんなさいあと別のことおっしゃられてるのならすいません))Byディスカッションフォーラム超初心者の人
アクションゲーム専用言語などつくっていませんが。
nt-zzz
Scratcher
21 posts

プログラミング言語を作ろう(合作ではないです)

@patazero-0 さん アイデアありがとうございます!
今作っているアクションゲーム作成言語に入れられるか試してみますね!

敵という動的な要素もステージ生成という静的な動作の中に埋め込めると考えると他の動くもの(振り子みたいなトゲとかリフト足場とか)も組み込めそうですね!「動くものでも初期配置は動かない」ということに気づかせてくれてありがとうございます!
nt-zzz
Scratcher
21 posts

プログラミング言語を作ろう(合作ではないです)

簡単な言語を作るといえばコンパイラが極力小さくなるように設計された「あの言語」が連想されたので
インタプリタを作りました。https://scratch-mit-edu.ezproxyberklee.flo.org/projects/429939553
これは…言語と言っていいのかな?
bsahd
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

rento1904
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

nt-zzz wrote:

簡単な言語を作るといえばコンパイラが極力小さくなるように設計された「あの言語」が連想されたので
インタプリタを作りました。https://scratch-mit-edu.ezproxyberklee.flo.org/projects/429939553
これは…言語と言っていいのかな?
そもそも言語の定義ってなんでしょうね。。
daikikato
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

とりあえずRPG言語作ってみました。
今から○○を聞いて待つで入力→出力式にします。出来次第、お伝えします(できる確率50%)
yucca42
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

久しぶりに来たら固定トピが増えててビビった…

最近また言語を作っているのですが、プログラムを読み取る、実行するのに必要なことって、

通常ブロック
for文
演算
変数、リスト
定義

このくらいですか?ほかにあったら教えてください
<調べるブロック>
は演算の分類に入れて、演算としてコードを解析すると答えがtrueかfalseになるようにしようと思います。
akku--n11
Scratcher
1000+ posts

プログラミング言語を作ろう(合作ではないです)

yucca42 wrote:


<調べるブロック>
は演算の分類に入れて、演算としてコードを解析すると答えがtrueかfalseになるようにしようと思います。
色々互換性などを保つため、0か1で表現するのはどうでしょう。
daikikato
Scratcher
100+ posts

プログラミング言語を作ろう(合作ではないです)

#39
0か1で表現するとコードを読み取る時、プログラムが
「これは普通の数なのか条件を表現する上での数なのか分からない」状況になってしまいます。

Powered by DjangoBB