コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
高原のな ◆bY8RViwvoODw
2019/8/25 20:00
コンテスト
「プチコンプログラムとして実行可能」かつ「プチコンMMLとして再生可能」なファイルを作ろうコンテスト!
つまりは「プチコン(プログラム)とプチコン用MMLのPolyglot」のコンテストです。
さらにわかりやすく言い換えると、
「BGMPLAY LOAD("そのファイル"):EXEC "そのファイル"」(プチコン4ではLOAD→LOADV)がエラーなく終了できるファイルのコンテストということになります。

Naさんがプレイ日記( http://petitverse.hosiken.jp/community/petitcom/diary/?read=3336 )内で発した「ところで関係ない話ですが「実行可能なMML」って作れるんですかねー?/つまりBGMPLAYで再生できて、EXECしてもSyntaxErrorしないテキスト。」に触発されたものです。

例:
FADE L8FGAB-L2B+L4B-L8B-AGAFEFEDC2L4FADEL8FGAB-L4B+L8B-AL4B-A8G8FEF1

コメント

アバター
すず 2019/8/25 22:26 ◆NX2ZJIT9ywnS
なんか作ってみたけどこのトピックとは違うかな...?
キー:NKQJ5EY3

A がMMLで OUTPUT を実行すると一応 A のMMLが流れます
A を実行するとMMLが表示されます(PRINT命令)

ファイル名くらいちゃんとしとけばよかったかな
アバター
ugly777 2019/8/25 22:32 ◆B7lOIJDWuOqi
DEFはENDが使えない
READはRESTOREが無いと難しそう
RGB,RAD,DEGは音量を下げないと(を使えない
これが解決できなければ
DEC,難しいREAD,FADEくらいしか使えなさそう
どう作ればいいんだ
アバター
高原のな 2019/8/25 22:33 ◆bY8RViwvoODw
すずさん>
ちょっとこのトピックの意図とずれてしまってます……
「あるファイルの文字列に何も手を加えず、そっくりそのままプログラムとしてもMMLとしてもエラーがない」ということが目的なのであります

とはいえ、すっごい(語彙力ぅ……) 音がギラギラしていてとてもかっこいいです!
アバター
すず 2019/8/25 22:37 ◆NX2ZJIT9ywnS
あぅぅぅぅ...むつかしい...
アバター
高原のな 2019/8/25 22:37 ◆bY8RViwvoODw
ugly777さん>
3号でやると、思った以上にハードモードですね。REMが使えないので、プログラムとしてエラーになる記述はできないですし、その上3号のMMLにはコメント機能がないので常にMMLとしてエラーがないように書かなきゃなりませんから……
アバター
ugly777 2019/8/25 22:52 ◆B7lOIJDWuOqi
逆に4ではREMとMMLのコメントがあるのか
アバター
Na 2019/8/25 23:04 ◆QoELVrBXBQCI
>ugly777さん
4ではREMはないですがMMLのコメント(/)があるのでいろいろできます

READはRESTOREがない以前にDATAがない...

FADEじゃなくてもラベルという手があります。
使える文字は限られますが。
音量もこれで変えられます。
@0V100CDEFGAB

mkIIだとラベルの後は全部コメントというすばらしい仕様なんだがなあ...
アバター
Na 2019/8/25 23:06 ◆QoELVrBXBQCI
SmileBasic中で何とか { が書ければ...
アバター
高原のな 2019/8/25 23:35 ◆bY8RViwvoODw
ugly777さん>
REMはコメント命令なので、それ以降は完全無視という便利な命令なのですが、MMLにMというコマンドがないため実質使えないという意味合いでREMが使えないと言いました。わかりにくくてすみません
アバター
ツララ 2019/8/26 6:35 ◆ArUdBYOYME1V
実行環境の仕様の違いってところに落ち着くんなら
擬似的に実行環境を作っちゃえばいいんじゃないんです?
文字列を解析して別スロットにMMLやプログラム文を書き出して実行するとか
応用すればプチコン4と3号でコンパチなプログラムとか作れそう
実際3号とBIGでコンパチなプログラムを作ってる人もいましたし

そのまんまだとugly777の指摘の通りFADEとDECしか使える命令が無いので
トピックタイトルの例のMML部分をいじるくらいしか無いような気が
アバター
高原のな 2019/8/26 7:25 ◆bY8RViwvoODw
ツララさん>
そうですね、仕様の違いを軽視していたためにややこしい状況を生んでしまいました。
プチコン3号とプチコン4とで思った以上にこのコンテストで目指す「プチコンプログラムとして実行可能」かつ「プチコンMMLとして再生可能」の部分のやりやすさに差が出てしまっているので、その差を埋める擬似的な実行環境を用意してその上でやるのが良さそうですね。

今回のコンテストの今後の方針としては、テーマである「プチコンプログラムとして実行可能」かつ「プチコンMMLとして再生可能」なファイルを作るという部分をあまり変えずに少しやりやすくするため、(プログラムはプチコン3号でも)MMLはプチコン4仕様で作るのをOKにしようと思います。それにあたって、プチコン3号上でプチコン4用のMMLを解析する(CHKMML程度の処理)ツールを用意しようと思います(変換および再生については不可能ではないとだけ)。
擬似実行環境に関してはNaさんが作ってたmkII on 〜がそんな実装だったような記憶があります。
アバター
高原のな 2019/8/26 7:36 ◆bY8RViwvoODw
これから、
・プチコン3号プログラム+プチコン3号MML
・プチコン4プログラム+プチコン4MML
・プチコン3号プログラム+プチコン4MML
の3種類(mkIIでやる人がいたら4種類になりますが)でコンテストを引き続き開催しようと思います。
プチコン3号上でプチコン4MMLを使うための簡易解析器・変換器はこれから作成するので、手軽にチェックできる環境ではありませんがこのようにしたいと思います。MMLのコメントが使えるようになるので、わたしが個人的に目指していたPolyglot的なお遊びができるようになります(詳しくは英語版Wikipediaに、C言語+PHP+bashの例が解説付きで載っているのでそれを参照)。

プチコン4MMLを選択する上での注意点として、E2-のような記法がエラーになります(正しくはE-2。変数等の名前の先頭に数字が使えないので、その点については難易度が若干上昇します)。他にもいくつか注意点がありますが、Polyglotをする上で難易度が変化するものは少ないので、その点についての説明は他のトピックに譲ります。
アバター
ugly777 2019/8/26 10:07 ◆B7lOIJDWuOqi
>>Na氏
なるほど
>>高原のな氏
了解
アバター
Na 2019/8/26 10:10 ◆QoELVrBXBQCI
[プチコン3号プログラム+プチコン3号MML]
COMMON DEFは反則ですか?
とりあえず1つのファイルにBGMPLAYとEXECをしてエラーは出ませんが。
公開キー[X2DX7ENV]
「-RUN」っていうファイルを実行してください。

追記 「FADEC」としてこっちにもあります→http://wiki.hosiken.jp/petc3gou/?Toukou%2FNa%A4%CEMML%BD%B8
アバター
高原のな 2019/8/26 13:52 ◆bY8RViwvoODw
Naさん>
うーん反則とは言い難い物を持ってきましたね……
プチコン4MMLだったら反則にしてもいいのかなと思いますが、確かにプチコン3号MMLだとこのようなスタイルでないと難しいのかなと思います
アバター
高原のな 2019/8/26 16:14 ◆bY8RViwvoODw
Naさん>
やってくれましたねぇ期待通りです() とても久しぶりにmkII起動しました
とはいえこの手法、万能すぎて簡単なので、もっと狂った奴が見てみたいなぁという欲が
アバター
Na 2019/8/26 16:18 ◆QoELVrBXBQCI
>高原のなさん
すごいプログラムとすごいMMLを持ってきてくっつければ...
アバター
高原のな 2019/9/10 20:25 ◆bY8RViwvoODw
Naさん>
大変返信が遅れてすみません。先程確認をしました

いかにもMMLをプログラムに埋め込みました感を感じるカオスなコードになっております。どこがMMLと解釈されていてどこがプチコンmkII命令文と解釈されているのか全く見分けがつかない感じ。素晴らしい感じです

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -