Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2017/07/23 (日)

なでしこ3をJavaScriptの代わりに使う?

| 01:58 | なでしこ3をJavaScriptの代わりに使う? - 雪乃☆雫のなでしこ日和 を含むブックマーク はてなブックマーク - なでしこ3をJavaScriptの代わりに使う? - 雪乃☆雫のなでしこ日和 なでしこ3をJavaScriptの代わりに使う? - 雪乃☆雫のなでしこ日和 のブックマークコメント

 代わり・・・って言ったって、JavaScript自体がまったくわからん、いやむしろ、HTMLだって、あんまりわからん。

 でも、果敢にお試ししてみるるるるwww


 HTMLに、なでしこ3を取り込む術はここに書いてあります

https://nadesi.com/doc3/index.php?HTML%E3%81%B8%E3%81%AE%E5%9F%8B%E3%82%81%E8%BE%BC%E3%81%BF%E6%96%B9%E6%B3%95

 コレによれば・・・

<!-- なでしこを使うために必要なスクリプト -->
<script src="https://nadesi.com/v3/0.1.0/release/wnako3.js?run"></script>

<!-- type="なでしこ" のスクリプトが実行される -->
<script type="なでしこ">
「こんにちは」と言う。
</script>

 こうゆうことなのですが、どうもうまくいきません。

 さすがにこれだけじゃダメかと、<HTML>や<HEAD><BODY>などのタグを追加してみましたけれどダメで、やっぱりHTML5からようく学ばないとムリですか?! と思っていたのですが、なんと実は単に文字コードの問題でした。しくしくしくしく。

 UTF-8」で保存ないとダメだったんですね。

 具体例のソースを見たら、確かにちゃんと「<meta charset="utf-8">」と。(このタグ自体が、ワタシの知らない呪文だけどね;;;)

 これまで一度も文字コードなんて気にして生きては来なかったけど、ウチのテキストエディタで何の指定もせずふつーに保存をしたら、「SHIFT-JIS」になるので、文字コード指定して保存してやらなきゃだったのですよ。

 これってわりと、モノスゴク、重要な情報じゃないですか?

 それとも、ワタシの頭が悪いだけで、世の中の方々にとってはフツー知ってるでしょ?!レベルのことだったのですかね。め


 さて、気を取り直して・・・

 とりあえず、「こんにちは」と言ってもらえました♪

http://www.geocities.jp/snowdrops890/wnako3_test/00_hello.html

 これで、JavaScriptがいっこも分からなくても、なでしこのコードで色々できるということでしょうか。素晴らしい!

 しかし、DOMナントカって、一体なんすか(´д`;

 わからんことばっか(@_@)


 それでも、見よう見まねで取りあえずこんな感じ?

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>なでしこ3てすと</title>
  </head>

  <body>
    <!-- なでしこを使うために必要なスクリプト -->
    <script src="https://nadesi.com/v3/0.1.0/release/wnako3.js?run"></script>
    <!-- type="なでしこ" のスクリプトが実行される -->
    <script type="なでしこ">
      #--------------------------------------
      # ここになでしこのプログラムを記述
      #-----------------------------------------------------------
      時は「{}」の2だけ文字左部分整数変換もし、時≧0と時<4のANDならば、挨拶=「こんばんは。夜更かしですね。」
      違えばもし、時≧4と時<11のANDならば、挨拶=「おはようございます。」
      違えばもし、時≧11と時<18のANDならば、挨拶=「こんにちは。」
      違えばもし、時≧18と時≦23のANDならば、挨拶=「こんばんは。」
      「p#a」のDOM要素取得。
      「  {挨拶}」をDOMテキスト設定。

      年=「{今日}」の4だけ文字左部分。
      月=「{今日}」の6から2をMID。
      日=「{今日}」の2だけ文字右部分。
      「p#b」のDOM要素取得。
      「  今日は{年}年{月}月{日}日です。」をDOMテキスト設定。
      #-----------------------------------------------------------
    </script>

    <H1>なでしこ3のてすと</H1>
    <P id="a">はろー</P>
    <P id="b">日付表示</P>
    <HR>
  </body>
</html>

 定番の(?)時でメッセージが変わるヤツと、単に今日の日付を表示するヤツ。

 なでしこ3では、「かつ」が使えないんですね。 バージョン0.1.5で、使えるようになりました! もちろん「または」も!

 「AとBのAND」・・・って、なんかすごく妙;

 でも、文字左部分なども助詞の付き方が変わって、v1非互換となっているから、なにか元のようには出来ない事情があるのでしょう。

 それと、なぜか「文字抜出」が使えないなんでだ; ←0.1.6で対応されました!(10/7追記)

 とりあえず、MIDが使えたから良いけど。


 んなこんなで・・・

http://www.geocities.jp/snowdrops890/wnako3_test/01_date-time.html

 ちゃんと動いてるっぽい!(喜)

 (これはインターネット上でもちゃんと動くのを確認したいだけのためにジオシティーズに登録したので、他にはなんにもありませんw)

 ああ、スマホからもいちおう見れた!(≧▽≦)

めだかめだか2017/07/25 17:58お久しぶりです。ジャンク物を漁っていたら、いつの間にかPCが5、6台になっちゃっためだかです←

自分も、一時期なでしこがHTMLに埋め込みができる!!!と思い、サイトを作ってみようかと思いましたが、挫折しましたwだって、難しいじゃないですか~
そりゃ、大半をなでしこで作ってしまえば楽だとは思いますけど、メンテナンスや変更を入れるときに、複雑でわかりにくそう・・・って、なりません!?(笑

なでしこ3自体も、通常版のなでしことは違い、使える文字も限られてくるので、かなーり使いにくそうですね^^;
自分はお手上げですw


そうでした。この前、教えて頂いたディスクトップの話ですが、専用のソフトをみつけ、そちらにゾッコンです・・・wなでしこで作るのは、諦めちゃったですw

でです、次なる目論見で・・・w
MMDって、ご存知ですか・・・?3Dモデルを動かすものなのですが・・・
普通は、マウスを使ってモデルを動かすのですが、これをパソコンのカメラと連動させて、現実で体を動かすとそれに連動してパソコン内のモデルも動くといったものです。

また、無理だった場合、なでしこでそういった環境を構築することになりますが、なでしこでそこまでできる???て、なりました。
やはり、3Dモデルとなると、unityやC++やjavaになってくるのでしょうか?

できたところで、果たして実用レベルまでのものになるのかは、とりあえず置いときましょう・・・wロマン優先ですっ!

雪乃☆雫雪乃☆雫2017/07/28 12:43 お久しぶりです。お返事が遅くなりまして、スミマセン。何しろ、ナゾ解明しなきゃならないとゆう新たな任務(ゲーム;)が発生していたりして、何かと忙しいのですよw
 なでしこ3は、まだまだベータ版の公開とゆう段階だし、実用のことを考えるのはもうちょっと先かもね。なにかと、ナゾ現象も多いですし><;
 サイトを作ってみようだの、あまつさえ大半をなでしこでどうこうしようなんて大それた野望はないのですぅ~。だって、もともとHTMLもJavascriptもよく分からない上に、今回のことでようく分かったのですが、多少知ってたはずのことも、もはや時代遅れすぎて何の役に立たないっぽい!(ToT)
 でも、折角なので、色々お試しして遊んでいます♪
 ムカシ、内容なんていっこも分からず貼り付けていた、定型のちっちゃなJavascriptが、今なら移植できるかも~・・というレベルw
 だけど、ムカシのJavascriptはもはや今時のJavascriptとは、もはやまるっきり違っているみたいなんだよね、コレが;;;


 ででで?
 次々と、見たことも聞いたこともないヤツを出してこられますねぇ~。
 毎回、野望が大きいですよね♪
 しかし、ちょっとダウンロードしてみたけれど、まださっぱり使い方も分かりませぬヽ(;´Д`)ノ
 3Dの時代の人じゃないですしね~(ToT)
 ちなみに、コレとなでしことで、なんらかの連携が可能かというコトでしょうかね?
 なでしこ自体で3Dモデルというのはなかなか大変そう。Directなんちゃらとか、使えないですしね・・・

めだかめだか2017/08/01 22:11お返事遅くなりました~
あまりの暑さに思考停止です・・・w

もう一回、ちゃんとweb制作を頑張ってみようかな~・・・とか思う今日このごろですwなんとしても、なでしこ3を使うために・・・!w
javaScriptも、どんどん新機能を追加しており、web製作者を悩ませているとか・・・w


す、すいませ~ん(笑
わからないことは、雪乃さんに投げておけば解決するかも???とか思っちゃってますw
野望が大きいのも、反省です・・・w

で、話を戻しますとそうですね・・・もっと詳しく言いますと、

なでしこで、動きを検出→なでしこでそれを処理する→処理した内容をMMDに送る→MMDにて反映

みたいな感じでしょうか・・・
ただ、なでしこがDirectなんちゃらを嫌っている(使えない)となると、なでしこで3Dを処理することは、「
ほぼ」無理になったことでしょうね・・・
正直話、3Dモデルの処理にはかなりの技術がいるらしいですし、それなりの言語も・・・らしいですので、なでしこで3Dを扱えないことがわかって安心(?)しています。

なにはともあれ、この野望を叶えるべく、なでしこからMMDを操作?できるようにはなりたいです!

雪乃☆雫雪乃☆雫2017/08/03 14:47 えっと、まず、「なでしこからMMDを操作したい」とゆうことに関して、その方法に関して何らかのビジョンがあるのでしょうか?
 たとえばカメラはね、ハードですから、Windowsのプログラムからそれを操作できるようにするための関数が、もともとWindowsに用意されてありました。
 Juliusは、Juliusの側に、他のプログラムと連携するための機能がありましたから、その仕様に従って、なでしこでTCP接続してそれを受信する方法を考えるだけで良かった。
 MMDに、そういった連携の機能があって、それをなでしこでも行えるのかどうかとか、他言語で実際にこうゆうことをしてる実例があるが、なでしこでも同様のことが出来るのかというような、明確なビジョンがなくちゃ、考えてみようもないでございますよヽ(;´Д`)ノ

 完全な連携とゆうことでなければ、ポーズデータ(.vpd)などは開いてみるとテキストだから、その内容の意味を知れば、静止画から、なでしこで、MMDで使えるポーズデータを作成することなどは可能なのかも知れない。
 モーションデータ(.vmd)なども、CSV形式に変換したり元に戻したりできるフリーソフトがあるようなので、CSV形式ならなでしこからもいじれるかも・・・? などと思ったり思わなかったりするところなんですけど・・・
 ・・・しかし、カメラの時のことを考えれば、結局、「なでしこで動きを検出」がまず、速度的に難しいんじゃないですか。

 どうやらMMDではKinectが使えるラシイので、なんだかそれが一番手っ取り早いみたいな・・・w

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20170723

2017/07/11 (火)

なでしこ3でしりとり

| 11:12 | なでしこ3でしりとり - 雪乃☆雫のなでしこ日和 を含むブックマーク はてなブックマーク - なでしこ3でしりとり - 雪乃☆雫のなでしこ日和 なでしこ3でしりとり - 雪乃☆雫のなでしこ日和 のブックマークコメント

 とりあえず、末尾語を引数で渡すことでできるようになったから載せとく。

 だけど別に、関数内で使う変数は全部そうしなきゃない仕様になったとゆうわけではないようなので、ナゾはナゾのままなんだよねぇ~;

#なでしこ3でしりとり3
#-----------------------------------------------------------
除去音=「ー-~・‥….。,、?!」。
変換音=「がぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽぁぃぅぇぉゃゅょゎっをゐゑ」
変換後=「かきくけこさしすせたちつてとはひふへほはひふへほあいうえおやゆよわつおいえ」
#-----------------------------------------------------------
●先頭語取得(Sから)
  先頭語はSの1だけ文字左部分の変換音変換。
ここまで

●末尾語取得(Sから)
  S=Sから除去音除去。
  末尾語はSの1だけ文字右部分の変換音変換。
ここまで
#-----------------------------------------------------------
●除去音除去(Sから)
  除去音を文字列分解反復
    S=Sの対象置換。
  ここまで
  Sで戻るここまで

●変換音変換(Sの)
  回数=0
  変換文字=変換後を文字列分解。
  変換音を文字列分解反復
    もし、S=対象ならば、S=変換文字@回数
    回数回数+1
  ここまで
  Sで戻るここまで
#-----------------------------------------------------------

#-----テスト------------------------------------------------
ルール=「【ルール説明】
・小さい文字(拗促音)は大きくするよ(カボチャ→やさい)
・濁音半濁音は清音と同様に繋げられるよ(りんご→こまつな)
・長音は無視できるよ(チーター→たぬき)」
ルールと言う。
ルールと表示。

開始語=「なでしこ」
先頭語=。
末尾語=開始語から先頭語取得。

末尾語と開始語でシリトリする。

●シリトリ(MとSで)
  先頭語はSから先頭語取得。
  末尾語=M。
  もし、先頭語=末尾語でなければ、
    「負け!」と言う終わる。
  ここまで。
  末尾語はSから末尾語取得。
  もし、末尾語=「ん」ならば、
    「負け!」と言う終わる。
  ここまで。
  ダイアログIME=「IMEオン」
  「『{S}』{改行}{改行}全角ひらがなで続く単語を入力してね。」と尋ねる。
  もしそれでなければ、
    末尾語とそれでシリトリする。
  違えば、
    「負け!」と言う終わる。
  ここまで。
ここまで
#-----------------------------------------------------------

https://nadesi.com/doc3/index.php?%E3%81%AA%E3%81%A7%E3%81%97%E3%81%933%E7%B0%A1%E6%98%93%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20170711

2017/07/06 (木)

なでしこ3

| 23:58 | なでしこ3 - 雪乃☆雫のなでしこ日和 を含むブックマーク はてなブックマーク - なでしこ3 - 雪乃☆雫のなでしこ日和 なでしこ3 - 雪乃☆雫のなでしこ日和 のブックマークコメント

 なでしこ3の0.1.0をリリースとゆうことで、まにゅあるもせっせと更新されてる風味だったのでちょっと学んでみようと思ったのです。

 前のしりとりくらいなら、簡単に移植できそうに思ったけど、甘かったorz

 なにしろ、参考に出来る物も少ないから、自分が違ってるのか、3の仕様なのか、まだベータ版ゆえの不備なのかすらわかんないコト多数;;;

 なんとしてもうまくいかず、取りあえずこんな感じ。

 しりとりのルールについて考える前の、とりあえず最後の一文字と先頭の一文字でつないでいくだけのしりとりです。

 は「なでしこ3」なので、万一奇特にもお試ししてみようとゆう方は、ここから。

https://nadesi.com/doc3/index.php?%E3%81%AA%E3%81%A7%E3%81%97%E3%81%933%E7%B0%A1%E6%98%93%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF

#なでしこ3でしりとり
#-----------------------------------------------------------
ルール=「【ルール説明】
・最後に『ん』のつく単語を入力したら負け!
・濁音半濁音はのまま(りんご→ごりら)
・小さな文字は大きな文字で入力してね(紅茶=こうちや)
・長音は読みの通りの母音で入力してね(チーター=ちいたあ)」
ルールと言う。
ルールと表示。

開始語=「なでしこ」
先頭語=。
末尾語=開始語の1だけ文字左部分。

開始語でシリトリする。

●シリトリ(Sで)
  先頭語はSの1だけ文字左部分。
  もし、先頭語=末尾語でなければ、
    「負け!」と言う終わる。
  ここまで。
  末尾語はSの1だけ文字右部分。
  もし、末尾語=「ん」ならば、
    「負け!」と言う終わる。
  ここまで。
  ダイアログIME=「IMEオン」
  「『{S}』{改行}{改行}全角ひらがなで続く単語を入力してね。」と尋ねる。
  もしそれでなければ、
    それでシリトリする。
  違えば、
    「負け!」と言う終わる。
  ここまで。
ここまで。
#-----------------------------------------------------------

 まず変わったのは、もしや繰り返しや関数の終わりに「ここまで」が必要になったことで、めんどくさいけど、色々のことを考えるとこれはこのほうがイイですよね。

 何しろ、なでしこはインデント一つ狂っただけでも事件が起きるのに、掲示板なんかじゃ当然のよーにタブや半角スペースが消えたり、全角スペースに置き換わったりされてしまうから厄介が起きまくりだけど、ブロックを明示できれば、の心配がないもねー。

 あと、配列も変わってるので、よく確認しないと。

 でもまあ、こはまず問題ないとして・・・


 「終わる」で、エラー表示になるって、一体なんで~?

 まあ、終わるからいいけど;


 カッコ閉じ」「波カッコ閉じ」が、「undefined」となってしまう。  ←0.1.6で対応されました!(10/7追記)

#-----------------------------------------------------------
「{カッコ}なでしこ3{カッコ閉じ}」と表示。
「{波カッコ}なでしこ3{波カッコ閉じ}」と表示。
#-----------------------------------------------------------

 「カッコ」「波カッコ」はこれでいけるのだから、従来どうりの記述でいいハズだと思うんだけど・・・よくわからん~。

 てゆうか、undefinedってなんすか・・・「定義されていない」・・・・・・むむむ~?

 定数として定義されてないって意味なんでしょうか(?_?)

 二重カギ括弧がふつーに使えるようになっていたから、取りあえずそれにしといたけどねーw(いいのか?!)


 して「反復」の時には、「回数」のカウンター機能が働かなくなったんですかね?

 またまた「undefined」が発生~。

 ところが、「」の時には従来どおりっぽい。

#---------------------------
Aは[1,2,3]
Aを反復
  回数言う
  対象表示
ここまで
#---------------------------
3
  回数言う
  「ワン」と表示ここまで
#---------------------------

 まあ、自分でカウンターせばいいだけなんだけど・・・

 ・・・ここで結構はまったんだよ(>_<)


 して、何よりの最大のナゾは・・・

 直前で、「開始語から先頭語取得」している「末尾語」が、「シリトリ」関数の中で参照できないこと。

 これは、いまだにナゾが解明してません(ToT)

#なでしこ3でしりとり2
#-----------------------------------------------------------
除去音=「ー-~・‥….。,、?!」。
変換音=「がぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽぁぃぅぇぉゃゅょゎっをゐゑ」
変換後=「かきくけこさしすせたちつてとはひふへほはひふへほあいうえおやゆよわつおいえ」
#-----------------------------------------------------------
●先頭語取得(Sから)
  先頭語はSの1だけ文字左部分の変換音変換。
ここまで

●末尾語取得(Sから)
  S=Sから除去音除去。
  末尾語はSの1だけ文字右部分の変換音変換。
ここまで
#-----------------------------------------------------------
●除去音除去(Sから)
  除去音を文字列分解反復
    S=Sの対象置換。
  ここまで
  Sで戻るここまで

●変換音変換(Sの)
  回数=0
  変換文字=変換後を文字列分解。
  変換音を文字列分解反復
    もし、S=対象ならば、S=変換文字@回数
    回数回数+1
  ここまで
  Sで戻るここまで
#-----------------------------------------------------------

#-----テスト------------------------------------------------
ルール=「【ルール説明】
・小さい文字(拗促音)は大きくするよ(カボチャ→やさい)
・濁音半濁音は清音と同様に繋げられるよ(りんご→こまつな)
・長音は無視できるよ(チーター→たぬき)」
ルールと言う。
ルールと表示。

開始語=「なでしこ」
先頭語=。
末尾語=開始語から先頭語取得。

開始語でシリトリする。

●シリトリ(Sで)
  先頭語はSから先頭語取得。
  もし、先頭語=末尾語でなければ、
    「負け!」と言う終わる。
  ここまで。
  末尾語はSから末尾語取得。
  もし、末尾語=「ん」ならば、
    「負け!」と言う終わる。
  ここまで。
  ダイアログIME=「IMEオン」
  「『{S}』{改行}{改行}全角ひらがなで続く単語を入力してね。」と尋ねる。
  もしそれでなければ、
    それでシリトリする。
  違えば、
    「負け!」と言う終わる。
  ここまで。
ここまで
#-----------------------------------------------------------

 シリトリ関数内では末尾語が「undefined」になってしまっているため、実行するといきなり「負け!」と言われてしまいます(´д`;

 シリトリ関数自体は、冒頭のものとほとんど変わってないですよ?

 「先頭語取得」関数の方が良くないのかと思いきや、先頭語取得せず、最初のと同様に「末尾語=開始語の1だけ文字左部分」としてもダメ、さらには、末尾語=「な」などとしてもやっぱりダメなんですからね。

 むむむむむ~(@_@)

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20170706

2017/07/02 (日)

しりとりのルール

| 00:00 | しりとりのルール - 雪乃☆雫のなでしこ日和 を含むブックマーク はてなブックマーク - しりとりのルール - 雪乃☆雫のなでしこ日和 しりとりのルール - 雪乃☆雫のなでしこ日和 のブックマークコメント

 しりとりのルールなんて、決まり切っているだろうと思われるところですが、検索してみると色々出てきてなかなか難しい!(@_@)

 主に、濁音・半濁音や、長音・拗音・促音の扱いですかね。

●濁音半濁音は、通常はのままですけど(りんご→ごぼう)、より易しいルールで清音化して扱える場合もあります(りんご→こまつな)

●長音は、通常は無視しますけど(チーター→たぬき)、長音の前の文字の母音を使うというルールもあります(チーター=ちいたあ→あしか)。また、いっこ前の文字とセットでという、より難しいルールもあります(チーター→ターキー)

●拗音は、それを通常の文字として扱える場合(カボチャ→やさい)と、いっこ前の文字とセットで(カボチャ→チャーハン)という場合があります

●促音(ちっちゃい「っ」)で終わる単語って、何かありますかね? 通常の日本語的には、擬音や感嘆詞としてしか無いような気がするんだけど・・・もしあった場合、拗音同様大きくするか、前の文字とセットにするか、長音同様無視するか・・・の三択のように思われます。


 さらに、「ぢ」「づ」「を」「ん」などの扱いをどうするかの問題があります

●「ぢ」「づ」などは、清音化する場合は問題ないんですが(はなぢ→ちりとり)、のままの場合、本当にのままだとかなりキビシイので、あと、「コレは一体どっちなんだ?!」・・・とゆうギロンに発展し、しりとりが中断されかねないので、聞いた音の通り「じ」「ず」でOKという場合もあります

●「を」も同様で、も現代語だと助詞の扱いだから固有名詞しかないと思うんだけど、しかもそれを言ったら、「ゐ」「ゑ」も入ってきちゃうんじゃ?! ってことにもなるので、よっぽどな人達じゃない限り、聞いた音の通り「お」「い」「え」で良いことになってると思います。

●近頃「ん」で始まる語もあるじゃーないか!という話もあるらしいんですが(外国語)、それを認めると、逆に「ん」を言ったもん勝ちみたいな感じになっちゃうじゃないですか? 「ん」で終わる単語は、「ぢ」「づ」「を」の比では無く多いので。

 これは、続けられるかどうかではなく、「ん」は禁止ワードであるいう縛りと考えるべきものだと思うんだよね。


 さて・・・

 面目にしりとりのプログラムを作るなら、これらの色々のルールに対応できるべく作っていった方が良いのだろうと思いますが、の最大の問題は、単語リストつくんの面倒! ってところなんで(爆)

 少ない単語で長く続けられるよう、

1,濁音半濁音は清音化。

2,長音は無視。

3,拗音促音は大文字化。

4,「を」などで終わる単語なんか登録しない!(爆)

 ・・・とゆう方針でやっていきたい。

 こんな感じ?

#しりとりテスト
#-----------------------------------------------------------
除去音=「ー-~・‥….。,、?!」。
変換音=「がぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽぁぃぅぇぉゃゅょゎっをゐゑ」
変換後=「かきくけこさしすせたちつてとはひふへほはひふへほあいうえおやゆよわつおいえ」
#-----------------------------------------------------------
*先頭語取得(Sから)
  先頭語はSの1文字左部分の変換音変換。

*末尾語取得(Sから)
  S=Sから除去音除去。
  末尾語はSの1文字右部分の変換音変換。
#-----------------------------------------------------------
*除去音除去(Sから)
  (除去音を文字列分解)を反復
    S=Sの対象置換。
  Sで戻る。

*変換音変換(Sの)
  変換文字=変換後を文字列分解。
  (変換音を文字列分解)を反復
    もし、S=対象ならば、S=変換文字¥(回数-1)
  Sで戻る。
#-----------------------------------------------------------

#-----テスト------------------------------------------------
ルール=「【ルール説明】
・小さい文字(拗促音)は大きくするよ(カボチャ→やさい)
・濁音半濁音は清音と同様に繋げられるよ(りんご→こまつな)
・長音は無視できるよ(チーター→たぬき)」
ルールと言う。
ルールと表示。

開始語=「しりとり」
先頭語=。
末尾語=開始語から先頭語取得。

開始語でシリトリする。

*シリトリ(Sで)
  先頭語はSから先頭語取得。
  もし、先頭語=末尾語でなければ、「負け!」と言う終わる。
  末尾語はSから末尾語取得。
  もし、末尾語=「ん」ならば、「負け!」と言う終わる。
  ダイアログIME=「IMEオン」
  「{カッコ}{S}{カッコ閉じ}{改行}{改行}全角ひらがなで続く単語を入力してね。」と尋ねる。
  もしそれならば、「負け!」と言う終わる。
  違えばそれでシリトリする。
#-----------------------------------------------------------

 一人で延々しりとりが続けられますw

 除去音と変換音を、もう少し丁寧に分けて登録して、フラグによって処理を振り分ければ、様々なパターンのルールに対応できるんだろうけど。

 登録しない!なんて言い張らなくても、濁音半濁音や拗促音同様に変換音に突っ込めば、「を」「ゐ」「ゑ」もふつーに変換できたなあwww

 促音を拗音同様大きな文字に変換とゆう取り扱いで良いのか、長音同様除去してしまうかは、悩むところ。

 いや、んな単語は登録しないっ!(爆)

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20170702