BrainFuckとは
難解プログラミング言語の一つ。
オシシメサイトはhttp://www.google.co.jp/
以下俺的見解
・スレッドタイトルに全命令が入る素敵な言語。
・1レス内に全命令のリファレンスが入る素敵な言語。
> ポインタをインクリメント
< ポインタをデクリメント
+ ポインタが示すメモリ位置のデータをインクリメント
- ポインタが示すメモリ位置のデータをデクリメント
. ポインタが示すメモリ位置のデータを出力
, ポインタが示すメモリ位置のデータに入力
[ ポインタが示すメモリ位置のデータがヌルなら対応する]までジャンプ
] ポインタが示すメモリ位置のデータがヌルじゃないなら対応する[までジャンプ
前スレ: BrainFuck Part.2 <[+-.,]>
http://pc11.2ch.net/test/read.cgi/tech/1177988460/
過去スレ: BrainFuck <[+-.,]>
http://pc11.2ch.net/test/read.cgi/tech/1036013915/
探検
BrainFuck Part.3 <[+-.,]>
■ このスレッドは過去ログ倉庫に格納されています
2009/01/08(木) 12:09:18
194デフォルトの名無しさん
2009/09/23(水) 19:51:53195デフォルトの名無しさん
2009/09/23(水) 21:26:57 BFのシンプルな体系を壊さずに拡張する方法としては
負の方向のメモリマッピングにコンソール(.,)以外の
I/Oを割り当てることかな
[-1]に数値をストアしておいて
[-2]の位置で+-すると[-1]の回数beepとか
[-3][-4]に数値をストアしておいて
[-5]の位置で+-すると[-3][-4]の座標の白黒が反転するとか
負の方向のメモリマッピングにコンソール(.,)以外の
I/Oを割り当てることかな
[-1]に数値をストアしておいて
[-2]の位置で+-すると[-1]の回数beepとか
[-3][-4]に数値をストアしておいて
[-5]の位置で+-すると[-3][-4]の座標の白黒が反転するとか
196デフォルトの名無しさん
2009/09/24(木) 01:22:24 入出力命令をin,outにすればいい
>+++++++++[-<++++++++++>]<++++++, //in 60h
>+++++++++[-<++++++++++>]<++++++, //in 60h
197185
2009/09/24(木) 02:13:09 >>168 の提案した奴を作ってみたけど、面白い使い方がなかなか見つからないなあ。
実際のリスト構造はともかくとして、いろいろ遊んでみると、メモリ空間がL-UとR-Uの
2次元になった、という印象。可能性はすごく感じるので、なんとかしたいのだが。
実際のリスト構造はともかくとして、いろいろ遊んでみると、メモリ空間がL-UとR-Uの
2次元になった、という印象。可能性はすごく感じるので、なんとかしたいのだが。
198168
2009/09/24(木) 05:53:17 消費メモリが定数なアルゴリズムだとBTBFの有り難味はないかもね。
実行中にバンバンnewするようなプログラムや複数の可変長配列を使うアルゴリズムが
いくらか書きやすくなるんじゃないかとは思ってる。
あと、関数コールの機構もBFで実装するのはきつくても
BTBFならもしかしたらBFよりずっと楽にいけんじゃね?
実行中にバンバンnewするようなプログラムや複数の可変長配列を使うアルゴリズムが
いくらか書きやすくなるんじゃないかとは思ってる。
あと、関数コールの機構もBFで実装するのはきつくても
BTBFならもしかしたらBFよりずっと楽にいけんじゃね?
199デフォルトの名無しさん
2009/09/24(木) 21:05:22 実装は既存のBF処理系に
L: p*=2;
R: p=p*2+1;
U: p/=2
を付け加えて、ptrの初期値を1に修正するだけだな
L: p*=2;
R: p=p*2+1;
U: p/=2
を付け加えて、ptrの初期値を1に修正するだけだな
200デフォルトの名無しさん
2009/09/27(日) 23:03:26 ところで、2分木を綺麗にグラフィカルに表示するライブラリって何かいいのある?
201デフォルトの名無しさん
2009/09/27(日) 23:20:15 BFスレでその話題を振るココロは?
202デフォルトの名無しさん
2009/09/27(日) 23:43:25203デフォルトの名無しさん
2009/09/27(日) 23:56:13 そもそもBFで書かれたライブラリなんて存在するのか?
204デフォルトの名無しさん
2009/09/27(日) 23:57:21 まずbfはライブラリを作ること自体困難だろ
205デフォルトの名無しさん
2009/09/28(月) 01:51:09 まずは整数の四則演算ライブラリからだな
ライブラリというかコードスニペットレベル?
ライブラリというかコードスニペットレベル?
206デフォルトの名無しさん
2009/09/28(月) 07:02:38 前スレであったみたいに
どこのメモリに数値を入れて
どこのメモリに答えが返ってくる
って感じにすると良いんじゃない?
どこのメモリに数値を入れて
どこのメモリに答えが返ってくる
って感じにすると良いんじゃない?
207デフォルトの名無しさん
2009/09/29(火) 02:17:13 call
208デフォルトの名無しさん
2009/09/29(火) 02:31:22 任意のシステムコールさえ呼べれば何とでもなる
敢えて関数呼び出し機構を命令に加える必要はない
敢えて関数呼び出し機構を命令に加える必要はない
209デフォルトの名無しさん
2009/09/29(火) 03:23:00 文字列やポインタを渡さなくちゃならないシステムコールはどうするんだ
210デフォルトの名無しさん
2009/09/29(火) 09:22:16 システムコールとシリアル通信すればいいよ
211デフォルトの名無しさん
2009/09/29(火) 10:00:05 VRAMの上で走るBFを、
標準入出力から他のBFプロセスで制御すればいいんじゃね…?
標準入出力から他のBFプロセスで制御すればいいんじゃね…?
212デフォルトの名無しさん
2009/09/29(火) 12:15:04 それをBFの機能と言えるかが問題だな
バイナリデータですらシステムコールが可能と言えてしまうぞ
バイナリデータですらシステムコールが可能と言えてしまうぞ
213デフォルトの名無しさん
2009/09/29(火) 18:41:29 BFのデータセグメントをVRAMに置けっ場解決するのか?
ダブるバッファリングは無理か
ダブるバッファリングは無理か
214デフォルトの名無しさん
2009/09/29(火) 19:54:18 もうbf用のOS作ったら?
215デフォルトの名無しさん
2009/09/29(火) 20:22:16 OSにBF向けのインターフェースがあればいいわけだな
0番地に+すると1番地の番号のシステムコールを2,3,4,...番地の値を引数にして呼び出すみたいな
0番地に+すると1番地の番号のシステムコールを2,3,4,...番地の値を引数にして呼び出すみたいな
216デフォルトの名無しさん
2009/09/29(火) 20:26:54 そうすればハードディスクとかメモリとかにアクセスできるな
解析とかも簡単になるんじゃない?
解析とかも簡単になるんじゃない?
217デフォルトの名無しさん
2009/09/29(火) 22:14:03 まずはリンカとローダだろ。
218デフォルトの名無しさん
2009/09/30(水) 02:09:42 コード空間とメモリ空間が分離されてるからリンカやロダは不要
219デフォルトの名無しさん
2009/11/11(水) 22:18:35 何で
220デフォルトの名無しさん
2009/11/19(木) 23:41:50 brainfuckって英語でどういう意味ですか?
221デフォルトの名無しさん
2009/11/20(金) 00:06:17 のーみそこねこね
222デフォルトの名無しさん
2009/12/03(木) 18:18:34 ___
/ \
/ ⌒ ⌒\
/ ,(⌒) (⌒)、\ ひとりSMセット買ったお
| /// (__人__)/// | 今夜は楽しむおww
\ ` ヽ_ノ /
ヽ , __ , イ
/ |_"____
| l.. /l SMグッズ l
ヽ 丶-.,/ |_________|
/`ー、_ノ / /
:: .|ミ|
:: .|ミ| ::::::::
::::: ____ |ミ| ::::
:: ,. -'"´ `¨ー 、 ::
:: / ,,.-'" ヽ ヽ、 ::
:: ,,.-'"_ r‐'" ,,.-'"` ヽ、 ::
:: / ヾ ( _,,.-='==-、ヽ ヽ、
:: i へ___ ヽゝ=-'"/ _,,> ヽ
:: ./ / > ='''"  ̄ ̄ ̄ ヽ
:: / .<_ ノ''" ヽ i
:: / i 人_ ノ .l
:: ,' ' ,_,,ノエエエェェ了 /
i じエ='='='" ', / ::
', (___,,..----U / ::
ヽ、 __,,.. --------------i-'" ::
ヽ、_ __ -_'"--''"ニニニニニニニニヽ ::
`¨i三彡--''"´ ヽ ::
/ ヽ :: ┼ヽ -|r‐、. レ |
/ ヽ:: d⌒) ./| _ノ __ノ
/ \
/ ⌒ ⌒\
/ ,(⌒) (⌒)、\ ひとりSMセット買ったお
| /// (__人__)/// | 今夜は楽しむおww
\ ` ヽ_ノ /
ヽ , __ , イ
/ |_"____
| l.. /l SMグッズ l
ヽ 丶-.,/ |_________|
/`ー、_ノ / /
:: .|ミ|
:: .|ミ| ::::::::
::::: ____ |ミ| ::::
:: ,. -'"´ `¨ー 、 ::
:: / ,,.-'" ヽ ヽ、 ::
:: ,,.-'"_ r‐'" ,,.-'"` ヽ、 ::
:: / ヾ ( _,,.-='==-、ヽ ヽ、
:: i へ___ ヽゝ=-'"/ _,,> ヽ
:: ./ / > ='''"  ̄ ̄ ̄ ヽ
:: / .<_ ノ''" ヽ i
:: / i 人_ ノ .l
:: ,' ' ,_,,ノエエエェェ了 /
i じエ='='='" ', / ::
', (___,,..----U / ::
ヽ、 __,,.. --------------i-'" ::
ヽ、_ __ -_'"--''"ニニニニニニニニヽ ::
`¨i三彡--''"´ ヽ ::
/ ヽ :: ┼ヽ -|r‐、. レ |
/ ヽ:: d⌒) ./| _ノ __ノ
223デフォルトの名無しさん
2009/12/03(木) 20:02:48 あるある
224デフォルトの名無しさん
2009/12/04(金) 05:07:08 perlでBrainfuckの処理系書いてみたんだが、
Brainfuckのプログラム書くより簡単でなんだか複雑な気分だ…
Brainfuckのプログラム書くより簡単でなんだか複雑な気分だ…
225デフォルトの名無しさん
2009/12/04(金) 22:07:52 次はBrainfuckでperlの…
226デフォルトの名無しさん
2009/12/04(金) 23:22:03 Brainfuckで日本語が扱えるようにはならないものか
227デフォルトの名無しさん
2009/12/04(金) 23:35:38 そーすに記述したいってんでもあるまいし、扱えないことはないだろう?
228デフォルトの名無しさん
2009/12/05(土) 00:08:59 ShiftJISなりUTF-8なりのバイト列を吐けばいいだけだよな
229デフォルトの名無しさん
2009/12/05(土) 09:33:31 例えば、
: で、ポインタの指している値とその次のポインタの値を2バイト文字として出力する。
; で、2バイト文字を入力して、ポインタの指している値とその次のポインタの値に代入する。
ってのはどうよ?
: で、ポインタの指している値とその次のポインタの値を2バイト文字として出力する。
; で、2バイト文字を入力して、ポインタの指している値とその次のポインタの値に代入する。
ってのはどうよ?
230デフォルトの名無しさん
2009/12/05(土) 11:01:11 .>.<と,>,<で十分じゃないか
231229
2009/12/05(土) 16:21:32 とりあえず実行してみた。
>++++++++++[<+++++++++++++>-]
+++[>+++++<-]>[<++++++++++++>-]<--->
>++++++++++[<+++++++++++++>-]
>++++[>++++<-]>[<+++[<+++++>-]>-]<<+>
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<+++++>
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<----->
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<+++++++++>
>++++++++++++[<++++++++++++>-]
>+++++++++++++[<+++++++++++++>-]<------->
>++++++++++++[<+++++++++++>-]<++++++>
>++++++++[<++++++++>-]<+++++>
>++++++++++[<+++++++++++++>-]<->
>++++++++[<+++++++++>-]<+
<<<<<<<<<<<<<<<
:>>:>>:>>:>>:>>:>>:>>:>>:
メモリに"こんにちは世界!"を表わす
82,B1,82,F1,81,C9,81,BF,82,CD,90,A2,8A,45,81,49
がメモリに積まれて、最後の方の":"命令で、Shift-JIS形式の文字が表示される。
作ってから思ったけど、これって既出?
>++++++++++[<+++++++++++++>-]
+++[>+++++<-]>[<++++++++++++>-]<--->
>++++++++++[<+++++++++++++>-]
>++++[>++++<-]>[<+++[<+++++>-]>-]<<+>
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<+++++>
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<----->
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<+++++++++>
>++++++++++++[<++++++++++++>-]
>+++++++++++++[<+++++++++++++>-]<------->
>++++++++++++[<+++++++++++>-]<++++++>
>++++++++[<++++++++>-]<+++++>
>++++++++++[<+++++++++++++>-]<->
>++++++++[<+++++++++>-]<+
<<<<<<<<<<<<<<<
:>>:>>:>>:>>:>>:>>:>>:>>:
メモリに"こんにちは世界!"を表わす
82,B1,82,F1,81,C9,81,BF,82,CD,90,A2,8A,45,81,49
がメモリに積まれて、最後の方の":"命令で、Shift-JIS形式の文字が表示される。
作ってから思ったけど、これって既出?
232デフォルトの名無しさん
2009/12/05(土) 17:03:48 うん。
233デフォルトの名無しさん
2009/12/05(土) 17:46:50234デフォルトの名無しさん
2009/12/05(土) 22:50:53 馬鹿だなぁ
:>
が顔に見えるってギャグだろどうせ
:>
が顔に見えるってギャグだろどうせ
235デフォルトの名無しさん
2009/12/06(日) 10:05:30 海外風な顔文字か。
[:<]<
[:<]<
236デフォルトの名無しさん
2009/12/06(日) 23:24:24 BFで : を .>.< に置き換えるBFプロプロセッサ書けばいいよ
237デフォルトの名無しさん
2009/12/08(火) 12:47:34 まだBFなんてやってんのかよだっせー
時代は純粋関数型言語Unlambdaだぜ
時代は純粋関数型言語Unlambdaだぜ
238デフォルトの名無しさん
2009/12/09(水) 03:11:58239デフォルトの名無しさん
2009/12/09(水) 18:02:48 bfユーザが理解できるようにトランスレータはbfで書こうぜ
240デフォルトの名無しさん
2009/12/22(火) 13:47:48 #defineしまくればCでも書けるかな
241デフォルトの名無しさん
2010/01/02(土) 17:42:21 esotope-bfcって凄いな
自分で作る気が失せる出来
自分で作る気が失せる出来
242デフォルトの名無しさん
2010/01/02(土) 17:58:44243デフォルトの名無しさん
2010/01/03(日) 00:13:20 まだまだだな
例示のプログラムのmやpはいらん
例示のプログラムのmやpはいらん
244デフォルトの名無しさん
2010/01/03(日) 08:07:28 そのへんは削除するようにする(した)って書いてるよ
245デフォルトの名無しさん
2010/01/09(土) 00:17:46 #include <stdio.h>
int main(int argc, char *argv[])
{
int c;
while ((c=getchar()) != EOF) {
while (c) {
putchar('+');
c--;
}
puts(".>");
}
}
int main(int argc, char *argv[])
{
int c;
while ((c=getchar()) != EOF) {
while (c) {
putchar('+');
c--;
}
puts(".>");
}
}
246デフォルトの名無しさん
2010/01/09(土) 02:25:08 俺にもHello Worldが作れた!
247245
2010/01/09(土) 19:43:17 修正
#include <stdio.h>
int main(int argc, char *argv[]){
int c,d;
int l = 0;
while ((c=getchar()) != EOF) {
d = c-l;
if (d>0) {
while (d--) {
putchar('+');
}
} else {
while (d++) {
putchar('-');
}
}
puts(".");
l = c;
}
}
#include <stdio.h>
int main(int argc, char *argv[]){
int c,d;
int l = 0;
while ((c=getchar()) != EOF) {
d = c-l;
if (d>0) {
while (d--) {
putchar('+');
}
} else {
while (d++) {
putchar('-');
}
}
puts(".");
l = c;
}
}
248デフォルトの名無しさん
2010/01/10(日) 04:01:44 最適化されたBFのソースを吐くなら、まだ修正する意味もあるかもしれないな。
249デフォルトの名無しさん
2010/01/15(金) 16:34:45 最小ブレインファック問題の計算複雑性ってどの程度?
250デフォルトの名無しさん
2010/01/16(土) 09:18:43251デフォルトの名無しさん
2010/01/16(土) 17:09:01 >>249
直感的には、NP完全
直感的には、NP完全
252デフォルトの名無しさん
2010/01/16(土) 20:19:33253デフォルトの名無しさん
2010/01/17(日) 12:19:05254253
2010/01/17(日) 12:23:29 いや、計算不可能かもしれない。ごめん。
無限ループかと思えるくらいに長い時間をかけて、最小BFとなるパターンと、単なる無限ループを区別するには
停止可能性の判定が必要になってくる。
無限ループかと思えるくらいに長い時間をかけて、最小BFとなるパターンと、単なる無限ループを区別するには
停止可能性の判定が必要になってくる。
255デフォルトの名無しさん
2010/01/17(日) 19:49:19 プログラムの等価性判定って計算不可能だよね?
だとすれば、最小BFが計算できればその最小BF同士の比較によって等価性判定ができちゃうので計算不可能だと思う。
だとすれば、最小BFが計算できればその最小BF同士の比較によって等価性判定ができちゃうので計算不可能だと思う。
256245
2010/01/20(水) 22:10:00 short bf_opt1(char *bfcode, char *optbfcode)
{
int prevcode;
int deletecode;
/*ここに最適化処理を書きます。*/
/*1 ムダなコードの取り除き*/
while (*bfcode) {
if (prevcode == '>' && *bfcode == '<') {
*bfcode = *(-1 +bfcode) = ' ';
deletecode = deletecode+2;
}
if (prevcode == '+' && *bfcode == '-') {
*bfcode = *(-1 +bfcode) = ' ';
deletecode = deletecode+2;
}
prevcode = *bfcode++;
}
strcpy(optbfcode, bfcode);
return deletecode = deletecode+2;
}
{
int prevcode;
int deletecode;
/*ここに最適化処理を書きます。*/
/*1 ムダなコードの取り除き*/
while (*bfcode) {
if (prevcode == '>' && *bfcode == '<') {
*bfcode = *(-1 +bfcode) = ' ';
deletecode = deletecode+2;
}
if (prevcode == '+' && *bfcode == '-') {
*bfcode = *(-1 +bfcode) = ' ';
deletecode = deletecode+2;
}
prevcode = *bfcode++;
}
strcpy(optbfcode, bfcode);
return deletecode = deletecode+2;
}
257デフォルトの名無しさん
2010/02/21(日) 14:34:22 ほ
258デフォルトの名無しさん
2010/02/21(日) 18:32:02 スーパーpre記法のシンタックス・ハイライトが Brainfuck, Clojureに対応しました - はてなダイアリー日記
http://d.hatena.ne.jp/hatenadiary/20100219/1266571864
http://d.hatena.ne.jp/hatenadiary/20100219/1266571864
259デフォルトの名無しさん
2010/02/22(月) 17:35:51 何やってんだw
260デフォルトの名無しさん
2010/02/27(土) 15:51:14 bfがインタプリタ作るのが簡単な言語とはよく言われていたが、
シンタックスハイライト作るのも簡単ってのは斜め上だなぁ。気づかなかった。
シンタックスハイライト作るのも簡単ってのは斜め上だなぁ。気づかなかった。
261デフォルトの名無しさん
2010/03/03(水) 16:39:55 プログラマーが仕事をサボっている兆候一覧
「Dvorakでもかなり早く打てるようになってきたぞ」
「念のためうちのサーバーでもGopherをサポートできるようにしときました」
「XHTML、HTML、さらにHAIKUにも準拠しています」
「brainfuckのシンタックスハイライトに対応しました」 ← new!
「Dvorakでもかなり早く打てるようになってきたぞ」
「念のためうちのサーバーでもGopherをサポートできるようにしときました」
「XHTML、HTML、さらにHAIKUにも準拠しています」
「brainfuckのシンタックスハイライトに対応しました」 ← new!
262デフォルトの名無しさん
2010/04/10(土) 11:57:14 +[+] //まだまだ終わらせないコード
263デフォルトの名無しさん
2010/04/14(水) 01:57:52 そのコードいずれオーバーフローして止まるぞ
264デフォルトの名無しさん
2010/04/14(水) 02:03:54 +[-+]
265デフォルトの名無しさん
2010/04/14(水) 09:13:58266デフォルトの名無しさん
2010/04/14(水) 16:52:59267デフォルトの名無しさん
2010/04/14(水) 17:08:11 今日じゃねえかwww
268デフォルトの名無しさん
2010/05/13(木) 00:26:54 一ヶ月前だ
269デフォルトの名無しさん
2010/05/13(木) 16:03:27 今となっては昔のことだが
270デフォルトの名無しさん
2010/05/19(水) 23:22:02 Brainfuckというものがあったそうな
271デフォルトの名無しさん
2010/05/20(木) 00:20:07 湯水のごとく記号を使い、小さなプログラムを組んではスレに納めていたそうな
272デフォルトの名無しさん
2010/05/24(月) 15:35:19 ttp://twitter.com/YewShmz/status/14212364028
273デフォルトの名無しさん
2010/05/29(土) 04:23:28 2日前からBrainfuckプログラミング初めた
ようやくHelloWorldできた
>>>++++++++++[<+<<+>>>-]<[<++++>>++++++>++++++++++<<-]+++++
+++++>>[<<+>>>>+<<-]++++[>+++++<-]>>[<+<+>>-]>+++++[<++++++
+>-]<.<<<<-----.+++++.>>-.<<--.>>>---.<+.+.>>---.<<<.>>--.+
.<-.+++++.<<+++.<++++++.>>>-.<++.<<<.>>>>+.<<-.>>>.>.<<<<-.
>>--------.<<----.+++++.<------.+.<.>>>>>+++++++.<<<<<.>>>>
>>....<<<<++.++.---------.+++++.>>>-------.<+++++.<<<-.----
--.>>>++.---.<<--..+++.>>>>.<+++.<<<.+++.------.>>-.>>+.-<<
--------.<<++.<.+++++++.>>---.<<<.>>>>>>....<<<<++++.>>++++
+++++.>---.+.<<<.----.>>>>.<<<<<+++++++.>>.<<<.>>>>>++++++++.
ようやくHelloWorldできた
>>>++++++++++[<+<<+>>>-]<[<++++>>++++++>++++++++++<<-]+++++
+++++>>[<<+>>>>+<<-]++++[>+++++<-]>>[<+<+>>-]>+++++[<++++++
+>-]<.<<<<-----.+++++.>>-.<<--.>>>---.<+.+.>>---.<<<.>>--.+
.<-.+++++.<<+++.<++++++.>>>-.<++.<<<.>>>>+.<<-.>>>.>.<<<<-.
>>--------.<<----.+++++.<------.+.<.>>>>>+++++++.<<<<<.>>>>
>>....<<<<++.++.---------.+++++.>>>-------.<+++++.<<<-.----
--.>>>++.---.<<--..+++.>>>>.<+++.<<<.+++.------.>>-.>>+.-<<
--------.<<++.<.+++++++.>>---.<<<.>>>>>>....<<<<++++.>>++++
+++++.>---.+.<<<.----.>>>>.<<<<<+++++++.>>.<<<.>>>>>++++++++.
274デフォルトの名無しさん
2010/05/29(土) 07:48:52 うわぁ・・・
いまどき文字列出力くらいは拡張命令でやるのが常識だぞ
いくらなんでも非効率的に過ぎる
#!/bin/bf
printf("HelloWorld\n")
いまどき文字列出力くらいは拡張命令でやるのが常識だぞ
いくらなんでも非効率的に過ぎる
#!/bin/bf
printf("HelloWorld\n")
275デフォルトの名無しさん
2010/05/29(土) 11:43:29276デフォルトの名無しさん
2010/05/29(土) 13:01:04 音は出ないの?
277デフォルトの名無しさん
2010/05/29(土) 16:20:38 任意のアドレスに割り当て
+-で操作して
.で鳴らす
とか考えたけどハードというか実装依存だね
+-で操作して
.で鳴らす
とか考えたけどハードというか実装依存だね
278デフォルトの名無しさん
2010/05/29(土) 16:24:55 出力したら音が鳴るインタプリタ作ってやろうかと思ったけど
よく考えたらそんな技術無かった。
よく考えたらそんな技術無かった。
279デフォルトの名無しさん
2010/05/29(土) 16:33:02 楽な方法なら
三角波でド〜↑のドまでの単音ファイルを用意して
数値によって再生
三角波でド〜↑のドまでの単音ファイルを用意して
数値によって再生
280デフォルトの名無しさん
2010/05/30(日) 03:33:27 出力からmidiを鳴らすインタプリタ半分完成した
音の長さや音色、テンポ、スケール、和音なんかを扱える仕様を考えてる
今日はもう寝るがな
音の長さや音色、テンポ、スケール、和音なんかを扱える仕様を考えてる
今日はもう寝るがな
281デフォルトの名無しさん
2010/05/30(日) 03:42:12 >>280
ソースきぼん
ソースきぼん
282デフォルトの名無しさん
2010/05/30(日) 03:53:02 >>281
javaだけど、思い出しつつ調べつつ書いた汚いソースだぞ
すぐには見せられんわ
文字コードを音階に対応させて再生してるだけだし
一応スクリーンショット
蛙の歌を再生中
http://www.dotup.org/uploda/www.dotup.org924517.png
javaだけど、思い出しつつ調べつつ書いた汚いソースだぞ
すぐには見せられんわ
文字コードを音階に対応させて再生してるだけだし
一応スクリーンショット
蛙の歌を再生中
http://www.dotup.org/uploda/www.dotup.org924517.png
283282
2010/05/30(日) 20:14:49 とりあえず動くものが出来ました!
中のtxtをソフトの左の欄にはっつけてrunしてみて下さい!
XPなら動くと思います。
midi音源にMicrosoft GS Wavetable SW Synthを使用してます。
http://www.dotup.org/uploda/www.dotup.org925971.zip
あ、もちろん実行は自己責任で。
中のtxtをソフトの左の欄にはっつけてrunしてみて下さい!
XPなら動くと思います。
midi音源にMicrosoft GS Wavetable SW Synthを使用してます。
http://www.dotup.org/uploda/www.dotup.org925971.zip
あ、もちろん実行は自己責任で。
284282
2010/05/30(日) 22:07:16 反応無いけどバージョンアップだよ\(^o^)/
命令の数を4096個まで実行可能にしたよ。
スペランカーフルだよ。
http://www.dotup.org/uploda/www.dotup.org926263.zip
命令の数を4096個まで実行可能にしたよ。
スペランカーフルだよ。
http://www.dotup.org/uploda/www.dotup.org926263.zip
285デフォルトの名無しさん
2010/05/31(月) 01:46:40 あなたは神様ですか?
286デフォルトの名無しさん
2010/05/31(月) 03:05:01 とんでもねえ、あたしゃ神様だよ
287デフォルトの名無しさん
2010/05/31(月) 12:48:23 win7だと何も起きないのね
ちなみにwindowCloseイベントくらい処理してほしかったなぁ
ちなみにwindowCloseイベントくらい処理してほしかったなぁ
288282
2010/05/31(月) 12:52:12289282
2010/05/31(月) 17:58:07 一応(遅いですが)仕様を連ねておこうと思います。
■インターフェイス編
・画面左欄がソース、右欄がアウトプット
・runすると同時にsetされます
set状態ではソースの変更は出来ません
set/unsetボタンで解除できます
・下の欄がインプットです
','でインプット欄の文字が1文字読み込まれます
・stepボタン右のlabelにはプログラムカウンタが表示されます(正直あまり意味ない)
・アウトプット欄には通常のbrainfuckで出力される文字のみが表示されます
■MIDI編
・MIDI出力には標準で"Microsoft GS Wavetable SW Synth"を使用しています
一応、引数により任意のデバイスを使えます 例 brainmidi.jar "Java Sound Synthesizer"
起動時にSystem.out.printでコンピュータ内のデバイス名をコンソールに列記してますが、私はjar実行ファイルでのコンソール出力を知るすべを知りません\(^o^)/
・デバイスのオープンに失敗してもエラーはでません
・文字コードどmidi出力の対応表です
33〜123 : 音を出す
1 + 引数 : テンポを引数に設定
動作報告がない
■インターフェイス編
・画面左欄がソース、右欄がアウトプット
・runすると同時にsetされます
set状態ではソースの変更は出来ません
set/unsetボタンで解除できます
・下の欄がインプットです
','でインプット欄の文字が1文字読み込まれます
・stepボタン右のlabelにはプログラムカウンタが表示されます(正直あまり意味ない)
・アウトプット欄には通常のbrainfuckで出力される文字のみが表示されます
■MIDI編
・MIDI出力には標準で"Microsoft GS Wavetable SW Synth"を使用しています
一応、引数により任意のデバイスを使えます 例 brainmidi.jar "Java Sound Synthesizer"
起動時にSystem.out.printでコンピュータ内のデバイス名をコンソールに列記してますが、私はjar実行ファイルでのコンソール出力を知るすべを知りません\(^o^)/
・デバイスのオープンに失敗してもエラーはでません
・文字コードどmidi出力の対応表です
33〜123 : 音を出す
1 + 引数 : テンポを引数に設定
動作報告がない
290282
2010/05/31(月) 18:09:47 ごめんなさい途中で送ってしまいました。。。
2 + 引数 : 引数の音数を同時に発するように設定します
3 + 引数 : 音の長さを設定します 引数は0〜5までそれぞれ16分音符、8分音符、4分音符、3分音符、2分音符、全音符に対応します
* + 引数 の表記は*を出力した後引数を出力するという意味です
走り書きでごめんなさい
そして、見直すべき所がいっぱいですね
動作報告や反応がないのでどうしていいやら^^;
もうそんな下らないものはいいというのであれば去ります
もっと改良してというのであれば頑張ります
長文すいませんでした
2 + 引数 : 引数の音数を同時に発するように設定します
3 + 引数 : 音の長さを設定します 引数は0〜5までそれぞれ16分音符、8分音符、4分音符、3分音符、2分音符、全音符に対応します
* + 引数 の表記は*を出力した後引数を出力するという意味です
走り書きでごめんなさい
そして、見直すべき所がいっぱいですね
動作報告や反応がないのでどうしていいやら^^;
もうそんな下らないものはいいというのであれば去ります
もっと改良してというのであれば頑張ります
長文すいませんでした
291デフォルトの名無しさん
2010/05/31(月) 19:39:12 >>282
Win7+JDK6だとbrainmidi.jarをダブルクリック
×ボタン(WindowClose)をクリック
無反応になるのよ
あとサンプルのsperanka.txtをエディタで開いて左ペインに貼り付けてからrunをすると
ウィンドウがすべてグレー(選択不可)になっているにも関わらず何もおきない(CPUも食わない)
になる
音源ってJavaからのアクセスのために特別な設定が何か必要だったっけ?
きれいじゃなくてもいいからソースがあれば手伝えるのだけど、さすがにjarだけだとめんどくさいんだ
Win7+JDK6だとbrainmidi.jarをダブルクリック
×ボタン(WindowClose)をクリック
無反応になるのよ
あとサンプルのsperanka.txtをエディタで開いて左ペインに貼り付けてからrunをすると
ウィンドウがすべてグレー(選択不可)になっているにも関わらず何もおきない(CPUも食わない)
になる
音源ってJavaからのアクセスのために特別な設定が何か必要だったっけ?
きれいじゃなくてもいいからソースがあれば手伝えるのだけど、さすがにjarだけだとめんどくさいんだ
292282
2010/05/31(月) 20:05:34293デフォルトの名無しさん
2010/05/31(月) 22:15:53 >Microsoft GS Wavetable SW Synth
普通に考えてコレが入ってないのあり得ないと思うんだが
デフォルトのMIDI音源だよね?
普通に考えてコレが入ってないのあり得ないと思うんだが
デフォルトのMIDI音源だよね?
294282
2010/05/31(月) 22:39:06■ このスレッドは過去ログ倉庫に格納されています
ニュース
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★2 [ぐれ★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★4 [Hitzeschleier★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 橋下徹氏「総理なら岡田さんに何を聴かれても耐えてほしかった」 高市首相の台湾有事めぐる答弁に# [jinjin★]
- 【静岡】伊東市長選、前市議の杉本氏初当選 学歴詐称疑惑の田久保氏は及ばず 市長選3700万円、市議選6300万円の計1億円費やされる [ぐれ★]
- 国内生産制限・輸入制限(関税)頭おかしい。 [929852992]
- お前らもちろんマモンキングやってるよな?
- 助けて!!地元でテレビ番組の超絶美人のアナウンサーさんが退社した。゚(゚´Д`゚)゚。
- ポケモンのゲームシリーズの女主人公たちもいつかどこかで誰かとエッチするんだよな……
- 生音はもちろん最高だけど、こういう打ち込みのブレイクビーツも最高ですよね
- 中国との関係に不安を感じる「66%」高市の中国への対応を評価する「57%」 [931948549]
