アドイン Casio Basic - トップページ

C:Basic - アドイン Casio Basic
<Top Page>

内容の更新や修正を随時行います.

初版 2015/12/18
C.Basic アップデート 2017/10/14


[2017/10/14] Ver 1.64 beta マイナーアップデート。

<目 次>
 - C:Basicとは?
 - 最新バージョン
 - オーバークロック・アドイン
 - C.BasicC:Basic の潜在能力
 - C.Basicの使い方とコマンドリファレンス
 - C.Basic 英語版Webマニュアル



C:Basic とは?


C:Basic は Casio Basic の上位互換で、Casio fx-9860GII USB POWER GRAPHIC 2 (SH4A CPU model) のアドインとして開発しているものです。C:Basic は 最終的には高速インタープリタとコンパイラを提供する予定ですが、今のところインタープリタのアルファ版(テスト版) を開発中です。インタープリター版を C.Basic (ドットが1個) と呼んでいます。

CasioオリジナルのCasio Basic は限られたハードウェアの電卓で動作するプログラミング言語で、「構造化プログラミング」が可能な実用的なものです。Casio Basic は簡単に使えて、電卓のみでプログラムを作成したり編集ができ、パソコンが不要です。なお、Casio Basic以外には、パソコン上でC言語でアドインプログラムを開発して、fx-9860GII に転送して使うこともできます。

Casio Basic は楽に開発できるものの、計算量の大きな複雑な処理を行ったり、ビットマップをグラフィックスで描くのは非常に時間がかかります。このような 純正Casio Basic の弱点を補う目的で開発が始まった C.Basic (インタープリタ版) は、Casio Basicとソースレベルで互換でありながら、10~20倍のスピードがあり、今のところ C:Basic (コンパイラ版) はさらに C.Basic (インタープリタ) の10倍の程度の処理速度になりそうなことが確認できています。

この C:Basic プロジェクトを進めているのは、sentaro21 氏(本アドインの作者), Krtyski (当ブログの管理人、テスト実施、サンプルプログラム作成、ユーザーズガイドとコマンドリファレンス作成)、さらに有志のユーザーの方です。

C:Basic プロジェクト



▋ C.Basic 最新バージョン
注意: 万一に備えて、電卓内のプログラムやデータをバックアップしておくことを勧めます。

C.Basicのインストール
ダウンロードしたZIPファイルに含まれている CBASIC.g1a を fx-9860GII シリーズのストレージメモリに転送します。

C.Basicの使い方とコマンドリファレンス
ダウンロードしたZIPファイルに含まれている、Manual_J.txtReadme_j.txtCommand_List.txt を参照してください。

C.Basicの独自拡張機能とCasio Basic互換コマンド
Manual_J.txt にまとめられているので、参照してください。


 チューンアップツール - アドイン: Ftune2

電卓の内部動作をオーバークロックするチューンアップツール Ftuen2 を C.Basic と一緒に使うと、さらに高速化が可能です。
このプログラムの評判については、下記参照ください;
- @ Unversal Casio Forum
- @ CEMETECH
- @ TI-Planet

私は1年以上使っていますが、今のところ問題は起きていません。Ftuen2 は安全対策がよく考えられていて、おそらく電卓を壊すことは無いでしょう。但し、念のため電卓のデータバックアップは行って下さい。

Ftune2 は、Casio fx-9860GII POWER GRAPHIC 2 (SH4A model),用をダウンロードし、他の機種用をダウンロードしないでください。



C.Basic と C:Basic の潜在能力

サンプルプログラムを使って、C.BasicC:Basic の潜在能力を見てみましょう。.

 ライフゲーム (Conway's Game of Life)

C.Basic は純正 Casio Basic の上位互換であり、拡張コマンドや言語機能があります。

高速なビットマッププログラムを純正Casio Basic で作ろうと考えるのは無謀なことだと言えます。しかし C.Basic を使えば、例えばライフゲームを楽しめます。



- ダウンロード: ライフゲーム Ver 0.74

これには、C.Basic Ver 0.63 以降のバージョンが必要です。.


以下の動画では、Ftune2 を使って クロックを 236MHz にチューンしています。

- ダウンロード: Ftune2
   Casio fx-9860GII USB POWER GRAPHIC 2 (SH4 model) 用をダウンロードしてください。
.
=====

コンパイラ版の C:Basic をシミュレートするため、ライフゲーム の繰り返し処理部分を、ネイティブコードの特別なコマンド "DotLife" に置き換えて実行したのが以下の動画です。 

・ダウンロード: ライフゲーム Ver 0.84



ご覧のように非常に高速で、517世代までの時間を測ると約10倍高速化しています。将来のコンパイラ版 C:Basic では、これよりも速くなるはずです。

ライフゲームの詳しい説明


2D迷路

以下のような画面全体のグラフィックス描画は、純正Casio Basicではとても時間がかかります。これを C.Basic で走らせると極めて短時間で描画が完了します。

Maze1 

2D迷路プログラムの詳しい説明


3D迷路ゲーム

3D_Maze 

左側の迷路マップの描画は、C.Basic を使うことで極めて高速化できます。右側の3D表示はポリライン処理により純正Casio Basic でも3D描画が軽くなるよう工夫されています。このプログラムでは、C.Basic の独自拡張機能を使いながら 純正 Casio Basicでも動作可能なようになっているのが特徴です。

3D迷路ゲームの詳しい説明


アクションゲーム - DRAGON



これは、C.Basic 独自拡張機能を活用したサンプルプログラムで、高速で多彩なビットマップ処理機能をうまく活用しています。
ゲームとしても飽きないチューニングがされています。このプログラムのソースは、C.Basic 独自拡張機能の理解に役立ちます。

アクションゲーム - DRAGON の詳しい説明



C.Basic の使い方とコマンドリファレンス

  C.Basic のインストール

  C.Basicマニュアルとコマンドリファレンス - Manual_J.txt

  C.Basic の紹介と更新履歴 - Readme_J.txt







Top に戻る



応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ



  


keywords: fx-9860GIICasioBasic、プログラミング入門グラフィックスプログラム関数電卓

リンク集 | ブログ内マップ



関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

Re: モード切替

ツル様
sentaro様

管理人のやすです。

ツル様お考えに近い実装ができたようで、うれしいです。

取り敢えず、MASIOV4.g1m のダウンロードリンクです。

https://egadget2.web.fc2.com/archives/fx-9860GII/MASIOV4.html


> 私も表示を変えながら何度も見ていますが、統制の美というか、すっきりした美しさが落ちるので、ならば代わりに2面目の最下段に入れるか、何だったら3面目にモード選択画面新設という手もあるか?と。
> というのも、6色から4色を選んだ出題だが、重複ありブランクありなどのルール仕様も選べるのを入れて、新設スクリーンを充実させる。
> などと考えておりました。


今は [SHIFT] キーでのトグル動作で2つの設定の切替ですが、[SHIFT]を押すたびに複数の設定を順次切り替えてゆくのも、今回のコードに必要な部分を追加するだけで、簡単に拡張できると思います。

その場合、Getkeyのループを軽くするために、初期値設定の部分をループの外に移動する必要性が出てくるかも知れませんが、それも 変数 Z の値で切り替える簡単な If文で書ける筈です。


これをカラー化した MASIOV4C.g3m ファイルのダウンロードリンクです;
https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/Ver4.1/MASIO_Ver4_Color.html


スペースに限度のある電卓画面なので、
・特定キーを押して複数切替インターフェースを与える
・1つのキーに、普通押しと長押しの2通りのインターフェースを与える
といった工夫が、視覚的統一感、インターフェースの統一感が出せると思います。

このあたりも、当ブログの "Casio Basic入門" や "逆引き Casio Basi"c などで紹介しているつもりなんです。

たかが Casio Basic、されど Casio Basic ですね。
工夫のしがいがあるだけの機能を持っているのが Casio Basic なので、私はハマってしまったわけです。

特に、fx-5800P のようなハードウェアに制限がある場合は、余計面白くなりますよね。

昔の行番号付き Basic を使って、古いプログラム電卓やポケコンでは実現できないユーザーインターフェース、できるだけPCの使い勝手に近づけるユーザーインターフェースを実現できる、というのが私の当ブログの主張の1つなんです。

例えば、Time Zone というプログラムは、これらインターフェースの工夫をてんこ盛りにしたサンプルプログラムです。

⇒ プログラムライブラリー Time Zone
  http://egadget.blog.fc2.com/blog-entry-566.html

g1mファイルをダウンロードして、取り敢えず実際に操作して頂くと、インターフェースの工夫を経験していただけます。

Time Zone を作る過程を Casio Basic 入門で紹介しています。
  http://egadget.blog.fc2.com/blog-entry-127.html

このプログラムでは、PCに近い入力環境をプログラム電卓で実現する e-Gadgetオリジナルの "入力ボックス" インターフェースを利用しています。

当ブログの記事の多くが、入力インターフェースの工夫だったりします。

モード切替

管理人様、sentaro様、  お世話になっております。

sentaro様。 
>元のコード君をそのまま使う修正版を・・・

ツルは、他の手を考えてみます。とは言ったものの、ツルには思いつかない手のご紹介を頂き、そのサクサク感に驚いています。デバッグ依頼の3行では、余計な追加をしてしまっている感がありました。ありがとうございました!

管理人様。
ツルが、コード書き換えなしでモード変更したいとぼやいたばっかりに、ご面倒をお掛けいたします。ほぼ製作が終わった今となっては、チェックモードでも何でもなく、確かにEasyモードになりますね。でも、Easyがあると選ぶ時があります。
やはりノーマルとの切り替え式は正解な気がします。

それで管理人様の手を煩わせている訳ですが、まるでツルがもう一人いて、勝手に投稿しちゃっているようで、不思議な感覚です(笑)
(そのもう一人のツルは本人より遥かに優秀で困ったものです・・・)

それで、これがMASTERMIND最後の大詰めのような気がします。

管理人様、機能追加案見ました。
>オリジナルをできるだけ変更しないようにしました。
ご配慮がよく伝わってきます。

>・デフォルトではノーマルモード (Normal Mode)
大賛成。

>・Normal と Program Check (Debug Mode とする)を切り替える内緒のキーを[SHIFT]にする
内緒キー大好き。

>・スプラッシュ画面で、現在のモードを表示 (Normal Mode)
ん・・・

>・[SHIFT]キーを押すと、Normal Mode と Debug Mode を表示と共に切り替える
nice。
(Easy⇒+ Normal⇒-)次画面へ行くキーを選択キーでもで良いと思います。

私も表示を変えながら何度も見ていますが、統制の美というか、すっきりした美しさが落ちるので、ならば代わりに2面目の最下段に入れるか、何だったら3面目にモード選択画面新設という手もあるか?と。
というのも、6色から4色を選んだ出題だが、重複ありブランクありなどのルール仕様も選べるのを入れて、新設スクリーンを充実させる。
などと考えておりました。


[最終] Program Check 機能をスプラッシュ画面で [SHIFT]でトグル切替えする

ツル様
sentaro様

管理人のやすです。


[最終見直し 2017/10/18 3:45]
[SHIFT]気での切替が出来ないという問題への直接のトラブルシューティングのために、提案コードを最終的に見直しました。


マシオで、チェックモードの切り替えのためにコード書き換えが必要でしたが、頻度は少ないとは言え、そんなことでいちいち書き換えも変じゃないか。といったさらっとした思いで、メイン画面でモード切替できればいいだろう!とまた楽したい根性が出てきまして、やってみたのですが、うまく切り替わらないのです。
コードに5→cと書いてある。それをSHIFTキーのGetkeyにて1→cとさせる。・・・
が、変わらないのです。原因が分かりません。何か思い当たる点、ひらめかないでしょうか?Getkeyによる代入よりもコード記載の代入が勝るなど、ありますか?


思いつきで、実機で検証していないコードを書いてしまい、余計混乱させることになって、申し訳ありません。

Getkey でキースキャンするタイミングが正しくとれていないのが、主な原因のように思います。キーの応答をよくするには、Getkey をできるだけ軽いループ(速く一回転するループ)内に記述する必要があります。


以下、実際に動作確認したコードの提案です。


まず仕様を仮に決めます。

・デフォルトではノーマルモード (Normal Mode)
・Normal と Program Check (Debug Mode とする)を切り替える内緒のキーを[SHIFT]にする
・スプラッシュ画面で、現在のモードを表示 (Normal Mode)
・[SHIFT]キーを押すと、Normal Mode と Debug Mode を表示と共に切り替える



下記が今回の機能追加案です。Casio Basic 高速化テクニックを織り交ぜています。なお、オリジナルをできるだけ変更しないようにしました。

さて、Normal Mode と Debug Mode かのモードを示す変数を新たに導入。実際は変数 Z を使い回すことが可能。ここで Z を使っても、後で使う本来の Z に影響が無いからです。

オリジナルに対して、変更・追加した部分を赤文字で示す。

"=====(setting)======
●〇 blink timing→U (normal=150):150→U

'For program check (ans free→Q=0 & prize→P=10)
{1,3}→Dim Mat Z

'↙here YES→1 NO→5
'Z=0   0→MAT Z[1.2] Debug Mode (Program Check)
'    10→MAT Z[1,3]
'Z=1  1→MAT Z[1.2] Normal Mode
'    2→MAT Z[1,3]


'=====(opening)======
Locate 1,1,"※※※※ MASTER MIND ※※※※"
Locate 5,3,"4 digits only"
Locate 3,4,"Numbers are 1 To 9"
Locate 5,5,"Normal Mode"
Locate 1,7,"※※※※※Press⇒ - ※※※※※※"

'Switching modes by [SHIFT]
0→K:0→Z

Do
Getkey→K
If K=78:Then
If Z:Then 0→Z
Locate 5,5,"Normal"
1→Mat Z[1,2]
2→Mat Z[1,3]
Else 1→Z
Locate 5,5," Debug"
0→Mat Z[1,2]
10→Mat Z[1,3]
IfEnd
While Getkey
WhileEnd
IfEnd

LpWhile K≠32
[/色] 'ここまで

"《EXSAMPLE》●Hit 〇Blow
 :
 :

ここで、ポイントを幾つか...

1)
オリジナルのループ Do:LpWhile Getkey≠32 の中に機能追加して、今回の目的を達成する。このループ内で [SHIFT]を押すたびに、変数 Z の値 0 と 1 を切り替えると同時に、現在のZ の値に応じて画面表示を "Normal Mode" か "Debug Mode" に切替え、さらに Mat Z の初期化処理の切り替えも行う。


2)
If Z:Then という記法は、Z が0以外の時"真"、0の時"偽" として、Zの判定を行える。If Z=1:Then よりも処理速度が速くなる。


3)
●=1⇒[処理1]
〇=0⇒[処理2]


と2つ並べるよりも、

If Z:Then
[処理1]
Else
[処理2]
IfEnd


の方が、処理時間が短くなる。


4)
While Getkey:WhileEnd は、キーを一回押すたびに切替が行えるようにするために必要。細かく言えば、キーが押されている間は処理をループ内に閉じ込め、キーが離されたら先へ進める、いわば関所の役割。
これを置く場所が重要。If Z ~ IfEnd の外側で、If K=78 ~ IfEnd の内側でないとうまく動作しない。


取り敢えず、狙い通りに動くサンプルコードですが、あとはお好みに併せて変更してください。

Re: Re:D=1⇒Locate F,G,"※※※※"

sentaro様
ツル様

管理人のやすです。

> [DEL]処理は、
> -------------------
> If I=44:Then
> Dsz D
> Dsz D
> Locate F,G,"※"
> IfEnd
> -------------------
> ここだけでOkです。


Dzs の本来のジャンプ機能をうまく活用して、高速かつ効率の良いコードですね。

さすがです。


Re:D=1⇒Locate F,G,"※※※※"

管理人様、ツル様、こんにちは!

>これを削除するとマズイかも...
>3桁入力した後、[DEL] で2回戻すと
>??※※
>となってしまいます。

あれ?っと思ってC.Basicのソースを確認したところ、
追加の3行は、
D=1⇒Locate F+1,G,"※※※"
D=2⇒Locate F+1,G,"※※"
D=3⇒Locate F+1,G,"※"
でした。(^^;


>お二人からいじめられているタイトルのコード・・・
>このコード君がなんか可哀想になってきました(笑)

ってことで、(笑)
元のコード君をそのまま使う修正版を考えてみました。

[DEL]処理は、
-------------------
If I=44:Then
Dsz D
Dsz D
Locate F,G,"※"
IfEnd
-------------------
ここだけでOkです。
元の[DEL]版よりも速度的にも有利かと思います。(^^)

Re: LCD撮影

ツル様

管理人のやすです。

ありがとうございます。とても参考になります。

あの記事は、スマホ (Xperia Z1f、ソニーの古い機種をいまだに使っています)で、一応ズームで撮影したのですが、三脚を使っていません。

虹色の縞模様(干渉縞みたいなもの)が邪魔なのですが、あれはLCDの保護パネルによるものと思っています。できるだけクリーニングしてから撮影したのですが、うまくゆきません。ひょっとして表面ではなくて内部で干渉を起こすような薄くて膜厚が不均一な層が入っているのではないかと疑っています。

一度デジカメ+三脚でトライしてみようかと思っていました。

[追記あり] Re: D=1⇒Locate F,G,"※※※※"

ツル様
sentaro様

管理人のやすです。

[SHIFT]キーでのトグル動作について、一旦撤回させてください。

Locate x,y,"Normal Mode" '(Z=0)
0→K:0→Z
Do
Getkey→K
If K=78:Then
Z=0⇒1→Z:Z=1⇒0→Z '(toggle)
If Z '(Z=1)
Then
[必要な初期値設定2]
Locate x,y,"Easy Mode"
Else
[必要な初期値設定1]
Locate x,y,"Normal Mode"
IfEnd:IfENd
LpWhile K≠32


そして、改めて別コメントで提案致します。

すみませんでした。


D=1⇒Locate F,G,"※※※※"

管理人様、sentaro様、  お世話になっております。

お二人からいじめられているタイトルのコード・・・
このコード君がなんか可哀想になってきました(笑)

今、直ぐに消すと支障があることは把握していますよ。
それでも、一つでもLocateを減らすために、他の手を考えてみます。

にしても、今まで、Locateが速度で曲者だったとは考えたこともありませんでした。今後のProg作りでは、Goto少なく!Locato少なく!水のように上から下へ!を合言葉に頑張ります。

ところで、マシオで、チェックモードの切り替えのためにコード書き換えが必要でしたが、頻度は少ないとは言え、そんなことでいちいち書き換えも変じゃないか。といったさらっとした思いで、メイン画面でモード切替できればいいだろう!とまた楽したい根性が出てきまして、やってみたのですが、うまく切り替わらないのです。
コードに5→cと書いてある。それをSHIFTキーのGetkeyにて1→cとさせる。・・・
が、変わらないのです。原因が分かりません。何か思い当たる点、ひらめかないでしょうか?Getkeyによる代入よりもコード記載の代入が勝るなど、ありますか?

LCD撮影

管理人様

お世話になっております。余計なこととは思いますが・・・
CG50でのアップロード動画を見たときに感じたのですが、LCDとカメラの距離、近くないですか? LCD端部側が暗かったので。

接写可能なレンズだと、ついつい近寄って写してしまいますが、離れてズームのほうがいいと思います。勿論、三脚は必須です。

LCDの視野角を考慮して写すのがきれいに写す第一段階で、他にはカメラの個性があります。例えば、リコーのCXではモアレが出にくいのでLCD撮影に向くとか・・・機種の個体差が出るのがLCD撮影です。特に、赤の発色は顕著です。

のような、余計なことを。失礼。

Re: Re:純正CASIO Basic用 MASIOV4 デバッグ依頼

ツル様
sentaro様

管理人のやすです。

> >D=1⇒Locate F,G,"※※※※"←この次の行から、
> [DEL]対応の追加の3行を付け加えると、この最初の表示処理は必要ない感じですね。


これを削除するとマズイかも...
3桁入力した後、[DEL] で2回戻すと

??※※

となってしまいます。


> fx-9860GIIでもLocate表示が続くと重さに繋がりますし、fx-5800Pだとかなり処理時間をとられるのでLocate削減は高速化の鉄則です。(^^)

文字列処理で表示する内容を決めてから Locate で出力、という作戦が良いかも知れませんね。
こうすると1回の入力時 Locate 1回で済みますよね

こういった工夫は、プログラム電卓ならではのものですが、実はPCプログラミングにも役立った経験があります。今年の初め、C#を味見してアプリを作ったとき、実感しています。リソースを節約する練習には、Casio Basicプログラミングはある意味役立ちます。

https://egadget2.web.fc2.com/archives/Src_files/MyClock.html

開発時は sentaro様に色々とご意見を頂き、お世話になりました。

Re: Re: MASIOV4 COLOR

ツル様
sentaro様

管理にのやすです。

確認がとれたところで、修正した MASIOV4 COLOR です。

https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/MASIO_Ver4_Color.html


そろそろ、記事の準備を始めようかと思います。

Re:純正CASIO Basic用 MASIOV4 デバッグ依頼

管理人様、ツル様、こんにちは!

>D=1⇒Locate F,G,"※※※※"←この次の行から、

[DEL]対応の追加の3行を付け加えると、この最初の表示処理は必要ない感じですね。
C.Basicバージョンでは重さを感じることがなかったのでこの重なる処理をついそのままにしてしまってましたが、(^^;
fx-9860GIIでもLocate表示が続くと重さに繋がりますし、fx-5800Pだとかなり処理時間をとられるのでLocate削減は高速化の鉄則です。(^^)

Re: MASIOV4 COLOR

ツル様
sentaro様

管理にのやすです。


> はっはっは! 今、私の頭の中では物凄いきらめきになっています。
> これを見通してファイル名7文字にした私、凄くないですか?


お見事です( ^o^)ノ


> (あーすごいすごい・・・パチパチ)

私の行動が見事に読まれてます!

MASIOV4 p・

管理人様、sentaro様、  お世話になっております。

管理人様。 はい、Ver4で採用した新記載の pは、(Character Select のαβγ内に記載のものです)prize pointの意で使用。
・は、(Character Select のSYBL内に記載のものです)lcdとキー印刷では中黒dotの2ピクセル角。・キーによるprize表示に使用。

表示位置は、左側9␣p・<です。( ・は、表示X座標内で左寄りなので敢えて採用)

以上です。上記の表示が設計通りです。 (ツル)

Re: 5800P マシオ

ツル様
sentaro様

管理人のやすです。


fx-5800P で動作が遅い原因ですが、残る可能性の1つに Locate コマンドを多用している点が考えられます。

以前、数値表示を3桁区切りにするサブルーチンを検討していた時、表示の高速化は Locate コマンドの実行回数を落とすことが肝でした。ロジックの工夫で Locate の使用回数を減らせば大幅に速度向上が達成できました。

http://egadget.blog.fc2.com/blog-entry-555.html
この記事からしばらく3桁区切りの話が続きます。

この時は、sentaro様の見事なロジック提案で、劇的に処理速度が向上したんですよ!


Re: 純正CASIO Basic用 MASIOV4 デバッグ依頼

ツル様
sentaro様

管理人のやすです。


修正したら、[DEL]での1桁戻りが確実に動作しました。ありがとうございます。完成度がどんどん上がってくるのが良いですね。


実は只今出張中のため、自宅においてある fx-9860GII が触れないので、全て手元にある fx-CG50 で走らせています。
開発環境である fx-9860II でなく fx-CG50 でのことですが、ゲームメイン画面の一番下の行の表示について質問があります。

?⇒1-9 p・<EXIT>ans⇒(-)

となりますが、特に p・ はこれで良いのでしょうか?

fx-9860GII でまだ一度も走らせていないので fx-CG50 と表示上の差異がある可能性があって、そうならば fx-CG50への移植に伴う意図しない動作、文字コードの互換性が無いケースと言えます。

"p・" の"・"のコードは、隣の文字コードとの組み合わせて意図しない表示になる可能性があって、そこが 9860II と CG50 の表示上の違いとなる可能性 (Casio Basic 使いこなしの面白い話題)に興味があります。

如何でしょうか?

純正CASIO Basic用 MASIOV4 デバッグ依頼

管理人様、sentaro様、  お世話になっております。

>2桁目以上の[DEL]で表示に?が残ってしまうところが未処理・・・
・・・ 完璧というのは、難しいのだと。改めて思いました。
ご指摘ありがとうございました。

お手数おかけしますが、

’=====(input)=====
    ・
   (6行)
    ・
D=1⇒Locate F,G,"※※※※"←この次の行から、


D=2⇒Locate F,G,"※※※"
D=3⇒Locate F,G,"※※"   ←この3行 追記願います
D=4⇒Locate F,G,"※"


大変、申し訳ございません。
(ツル)

5800P マシオ

管理人様、sentaro様、  お世話になっております。

>何かしら重くなる処理が挟まっているということで・・・

はい。それで、重複入力の判別部分に多くの比較演算子があるので、全削除しましたが改善が見られず、あとは一番気になっているGetkeyでテンキーの表示、変数への代入1~9迄の一式かな?と思っています。

近く交通裁判があり、その資料作り優先なので、続きはしばらく先になりそうです。

MASIOV4 COLOR

管理人様、sentaro様、  お世話になっております。

はっはっは! 今、私の頭の中では物凄いきらめきになっています。
これを見通してファイル名7文字にした私、凄くないですか?
(あーすごいすごい・・・パチパチ)

Re:5800P マシオ

管理人様、ツル様、こんにちは!

fx-9860GII用 Master Mind Ver4 (Casio Basic 版)とカラー版、頂きました。
2桁目以上の[DEL]で表示に?が残ってしまうところが未処理と思われますが、良い感じで仕上ってますね。
Congratulation! 画面がなんとも心地よい感じです。(^^)


>でも、海外の方ので3つ見ましたが、私のように横に並べた方式のはなくて、縦に4文字にして右方向に進んでいくのだとか、画面中央分に小さな枠を表示させて入力するのだとか、人が変われば・・・と感心したものです。勿論、判定ピンやブリンクはなかったです。

あ、なるほどです。縦型で横スクロールというパターンもありますね。
でも、一度に全部見られるということで言えばスクロールするよりは見易さで現バージョンはとてもいいのではないかと思います。(^^)


>で、あれ? 管理人様の記事から学んで、これ作ってみたのですが・・・
>どこか違ってたかなぁ。入力のレスポンスだけが壁になっているので、解決出来そうですよね。

あ、すでに高速化改修されていたのですね。失礼いたしました。
ってことは、何かしら重くなる処理が挟まっているということで、そこのところの詰めだけですね。

Re: 純正CASIO Basic用 MASIOV4 COLOR に改造してみました

ツル様
sentaro様


管理人のやすです。

[(ー)] キーを押して正解を表示させるとき、正解の4桁の数字をカラー (Green) にするのを忘れていたので、これを修正しました。

https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/MASIO_Ver4_Color.html



純正CASIO Basic用 MASIOV4 COLOR に改造してみました

ツル様
sentaro様

管理人のやすです。

fx-CG50 / fx-CG20 用にカラー化してみました。

正解した時の Congratulation! 画面のランダムカラーと、我々のHN紹介ページもカラー化しています。

プログラム冒頭に Goto 4 を書くと、Congratulation とHN紹介へ直行します。

ファイル名は、MASIOV4 の末尾に Color の C を追加して、MASIOV4C としました。

https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/MASIO_Ver4_Color.html

5800P マシオ

管理人様、sentaro様、  お世話になっております。

管理人様。低次元で理解力が低くて申し訳ありません!
自分で理解度60と申しておりました。
御免なさい。早い段階でこのようなご説明が欲しかったのです。
理解度90になりました!

ありがとうございます!✕5
なるほどなるほど ✕10
お手数をお掛け致しました。

sentaro様。
>画面サイズとピッタリ合っているので・・・

でも、海外の方ので3つ見ましたが、私のように横に並べた方式のはなくて、縦に4文字にして右方向に進んでいくのだとか、画面中央分に小さな枠を表示させて入力するのだとか、人が変われば・・・と感心したものです。勿論、判定ピンやブリンクはなかったです。

で、あれ? 管理人様の記事から学んで、これ作ってみたのですが・・・
どこか違ってたかなぁ。入力のレスポンスだけが壁になっているので、解決出来そうですよね。

管理人様。全体のルーチンの高速性には特に問題はないと思いますので、マシオ(笑)のGotoはこのままでいいと思います。5800Pでは、判定表示も早いです。
入力だけです。

Re:5800P版 MASTERMIND

管理人様、ツル様、こんにちは!

>はまってますね。(笑) 物凄く古いゲームなんですよ?でも、二人いれば、紙とペンだけで出来るゲームなんですよね。
>今回、9860GIIで作ってよかったです。しみじみ感じます。判定する相手を長考で待たせることもなく、実機より楽しめます。

はい!
10回という回数が絶妙というかなんというか、fx-9860GIIの画面サイズとピッタリ合っているので、ゲーム性の絶妙さでハマっています。(^^)


>因みに、5800P Verでは、あまりにも画面が狭いので、入力画面のスクロールやSHIFTキーなどによる画面切り替えを考えていました。(ツルの常套手段なんです)
>考えた末、それらはやめて、6トライ限定版として完成しつつあります。

うわ…6トライだとかなり難易度上がってしまうというか、私的には1/4くらいの成功率になるかもしれません。(^^;
出来れば8トライ、いや、やっぱり10トライあってくれると助かるというか…ぜひ画面切り替えorスクロールの復活をお願いしたいです。(^^;


>基本コードはVer4なのですが、予想値入力が長押ししないと入力出来ないという壁に困っている状況で、ハード面では僅かでも高速化が欲しいところなので、ランドの接続をやってみます。貴重な情報をありがとうございました!

管理人様のコメントにも出てましたところの管理人様謹製入力ボックスの一番速い整数版のINPI ver2.0をカスタマイズすればキー入力の速度的には十分いけると思うのですが、どうでしょうか?


>どういう人がどうして見つけたのでしょうね?

んと、えと、、、倍速化目指してちょこっといじくっていた時に偶然見つけました。
その過程で一瞬、2倍速以上に速くなっていたことがありましたが、どこでどうなったかの再現性が無くお蔵入りになっています。(^^;


>導電性接着剤

使ったことはないのですが、見たこと有ります。
接続だけならハンダ付け要らずで便利そうですね。(^^)



fx-5800Pでのキー入力ですが、管理人様の入力ボックスのとおりにプログラム先頭で配列の初期設定をして、
-----------------------------
87→DimZ    
1→Z[35]:2→Z[36]
2→Z[37]:4→Z[21] 
5→Z[22]:6→Z[23] 
7→Z[31]:8→Z[32] 
9→Z[33]      
-----------------------------

実際のキー入力と数字の表示部分は、
-----------------------------
Do
Getkey→K
LpWhile K=0
Z[K]→I

If (I≧1 And I≦9) Or K=25
Then

Locate F,G,I   // 入力判定と表示がこれだけで済みます。

IfEnd
-----------------------------
かなり高速化出来るのではと思います。(^^)

Re: 純正CASIO Basic用 MASIOV4 今朝お送り致しました。

ツル様

管理人のやすです。

MASIOV4.g1m を頂きました。ありがとうございます。

https://egadget2.web.fc2.com/archives/fx-9860GII/MASIO_Ver4.html

fx-9860GII用 Master Mind Ver4 (Casio Basic 版)の最終版ですね!

手元にある fx-CG50 で動かしてみました。入力キーの抑制と [DEL] 入力位置が1桁戻る機能を確認しました。

これから、じっくり遊んでみようと思います。帰宅後 fx-9860GII に転送して遊ぶ予定です。



> 管理人様。 お願いがあります。MASTER MINDのProgは内容が掴みやすかったと思います。とても簡単なProgの部類に入ると思いますので。
> 全テキスト表示だし。
> それで、あのProgは、全く構造化Basicと呼ぶには程遠いものなのですか?
> 途中で何度もGotoで上へ戻るから? サブルーチンを使っていないから?
> 処理内容毎コメントで区切りながら自分ではブロック化のつもりなのですが、
> どういう点を改善すべきなのか、ご教示を是非お願い致します。


趣味のプログラムは動けばOKというのも良いわけですが、分かり易く、改造や機能追加でバグが入りにくいことを優先させるなら、構造化プログラミングを意識することが重要になります。

さて、fx-5800P では別コメントに書いたように、Goto / Lbl は速度低下の大きな要因になります。そこで高速化プログラミングテクニックとして、Goto / Lbl を極力使わない手法が重要です。そして、Goto / Lbl を極力使わないためには、構造化プログラミングを目指すのが指針となります。

fx-5800P 用 Master Mind はプログラムの高速化が必要だと、ツル様が以前のコメントで述べておられます。高速化を目的にするならば、構造化プログラミングは好みの問題ではなくて、高速化に必要なテクニックと言えます。

fx-5800P では、論理演算、比較演算、配列変数が、特に処理に時間がかかるので、プログラム実行中にこれらが実行される回数をできるだけ減らすこともとても重要です。

さて、fx-0860GII 用 Mater Mind Ver4 のプログラム構造は、ざっと以下の感じ;


=====(setting)======

'=====(opening)=====

'======(answer)=====
Lbl 0

'=====(display)====
Lbl 1

'======(input)======
Lbl I

D>=2 And E=1=>Goto I

'====(judgement)====

'======(prize)======
C≤9 And J≠50=>Goto 1
Q=0 And J=50=>Goto 2
Q=1 And J=50=>Goto 3
C=10 And J≠50=>Goto 3


'======(ending)=====
Lbl 2
P>=10=>Goto 4
Goto 0
Lbl 3
Goto 0

'====(celebrate)====
Lbl 4
Return

こうやってみると、速度低下の要因が如何に多いかが分かります。客に言えば、それだけ高速化の余地があると言えます。

Goto / Lbl は、Do、While で置き換える方が高速化します。倍速も可能でしょう。それだけ高速化の期待ができます。

(prize)ブロックにある、
C≤9 And J≠50=>Goto 1
Q=0 And J=50=>Goto 2
Q=1 And J=50=>Goto 3
C=10 And J≠50=>Goto 3

も勧められません。

プログラム全体の構造を、Goto / Lbl を使わないように書けることは、数学的に照明されているので、あとは工夫したいですね。

ある機能ごとにブロックを作り、複数のブロックが上から下へ1つの流れで進むように書くのが構造化プログラミングです。
このように書くと、あるブロックを変更しても他のブロックへの影響が少なくなります。変更や機能追加をしてもバグが入り込みにくいわけです。


5800P版 MASTERMIND

sentaro様  こんにちは。

>問題は、1234 と 5678 の後、どう絞り込むかで、運不運に左右されています。10回以内に解けないことも結構あるので、ハマリます。ちょうど良い感じの難易度ですね!

はまってますね。(笑) 物凄く古いゲームなんですよ?でも、二人いれば、紙とペンだけで出来るゲームなんですよね。
今回、9860GIIで作ってよかったです。しみじみ感じます。判定する相手を長考で待たせることもなく、実機より楽しめます。

因みに、5800P Verでは、あまりにも画面が狭いので、入力画面のスクロールやSHIFTキーなどによる画面切り替えを考えていました。(ツルの常套手段なんです)
考えた末、それらはやめて、6トライ限定版として完成しつつあります。
すると、1画面で済むので、作るのも楽です。
基本コードはVer4なのですが、予想値入力が長押ししないと入力出来ないという壁に困っている状況で、ハード面では僅かでも高速化が欲しいところなので、ランドの接続をやってみます。貴重な情報をありがとうございました!
どういう人がどうして見つけたのでしょうね?

参考までに、世には導電性接着剤なるものがあるんですよ。半田付けの難しい所に便利だなぁ・・・と思っています。今は持っていませんが、開発した会社の人と知り合いで貰いましたが当時は使うこともなく。
シアノアクリレートに銀粉を混ぜたものなんです。過日、手術した際、手術室で執刀医師に、皮膚はシアノアクリレートで良く付くけれど、使ってるんですか?と聞いたら、こっちが驚くほど驚かれて、どうしてシアノ知っているんですか?だって。止められているけれど、実際の現場では使っていますと、正直な先生でした(笑)

で、5800P Verでの高速化は、複雑な計算でもなく、入力へのレスポンスをあげたいだけなのですが、どうしたものか、考えあぐねてます。トトトッと打つと、全く付いて来ないのです。0.2秒以上の長押しが必要な状態です。こりゃあ、無理かな?と、これで妥協しそうです。まあ、売り物ではないし、自分用だからいいのですがね。

Re:5800P版 MASTERMIND

管理人様、ツル様、こんにちは!

MASTER MINDのfx-5800P版、プログラミング題材としても面白そうです。
画面サイズ&機能&速度に制限のあるfx-5800Pで、その制限をどう乗り越えるかがポイントですね。
かつてポケコンの一行画面でDEGやRADなども利用してあらゆる情報を詰め込んでいたのをちょっと思い出しました。(^^)


>もしかして、基盤のチップ抵抗を外す?

んと、3割アップは細い電線で空きランドを繋ぐだけなので簡単です。
http://pm.matrix.jp/fx-5800p_1.jpg

うちにあるfx-5800Pの一台はこの改造を施してますが、消費電力ほぼ変わらず、ノーマル機との通信も問題ないですし、PCリンクでも無問題なので、複数台お持ちの場合は一台改造しても面白いかもしれません。(^^)

うちでは充電池はアマループ+パナループと一緒にNT1000という充電器を使ってますが通常の充電のみならずリフレッシュ&個別に容量の測定が出来たりするので便利です。
ちなみに単4アマループの平均容量測定値は700mAでパナループは750mAくらいでした。(^^)


>問題は、1234 と 5678 の後、どう絞り込むかで、運不運に左右されています。10回以内に解けないことも結構あるので、ハマリます。ちょうど良い感じの難易度ですね!

3回目の数字選択がその後の運命を分けますね。ここでの勘が冴えると5回以内もいけたりするんですが、外し続けると10回勝負になりますね。(^^;

純正CASIO Basic用 MASIOV4 今朝お送り致しました。

管理人様、sentaro様、  お世話になっております。

管理人様。昨夜は遅くまでご苦労様でした。
くだらない問題で、失礼いたしました。(笑)
ただですね、あの2問は、活字での出題には向かなくて、LINEではだめなんですよ。私は過去に、特にQ2は200人位に口頭で出題していますが、5秒以内に正解する人は1割居なかったです。皆、「疲れたから」、「転んだから」と言います。
1分以内だと正解率は上がります。多くは酒の席ですが・・・(笑)

sentaro様。必要なキー以外の反応を止めるのと、DELによる再入力を反映させました。止めてもバックライトの再点灯は可能だったし、完成度を高めることへ寄与するので。ありがとうございました。
管理人様。スプラッシュ画面のNumberに s 付けました。言われたことはやる。それが私の処世術ですから。 シンジかっ!(ん?伝わるかな・・・)

という訳で、これにてMASTER MIND、私の作業は終わりになります。
数々のご支援ありがとうございました。

ただ、これから5800PVerもやります。
9860と違って判定はH1B2としますし、白黒ピン表示もブリンクもないので、非常に短いProgになります。高速化は、あまり求めないので、既に進捗は90%です。
というか、もう楽しんでるし!(笑)


管理人様。 お願いがあります。MASTER MINDのProgは内容が掴みやすかったと思います。とても簡単なProgの部類に入ると思いますので。
全テキスト表示だし。
それで、あのProgは、全く構造化Basicと呼ぶには程遠いものなのですか?
途中で何度もGotoで上へ戻るから? サブルーチンを使っていないから?
処理内容毎コメントで区切りながら自分ではブロック化のつもりなのですが、
どういう点を改善すべきなのか、ご教示を是非お願い致します。   (ツル)

Re: クイズ好きのご家族様へ

ツル様

面白い問題、ありがあとうございます。
家族のラインに送っておきました。

> Q1: あるビジネスマンが同僚と3人で出張し、いつものホテルに泊まることにした。料金は一人1000円。男は3人分3000円を係に渡した。
> 支配人はそれを受け取ったが、常連様なので500円を値引きにすると言って、500円渡し、客へ戻すよう係に命じた。係は500円を3名に戻すには割り切れないから、自分で200円を懐に入れ、客には100円ずつ戻した。すると、客は一人900円払ったことになり合計2700円。係の持つ200円と合わせて2900円。初めの3000円から100円がなくなっている。どこにいった? という問題。


お金の所有者と所有額で考えると、「客は一人900円払ったことになり合計2700円。」が話を曲げていますね。この2700円は客のお金でなくて担当とホテルが預かった金額です。所有権をごまかした表現ですね。

     客   担当   ホテル  合計
状態1 3000円    0円    0円  3000円
状態2   0円  3000円    0円  3000円
状態3   0円   500円  2500円  3000円
状態4  300円   200円  2500円  3000円

まるで、国の借金、国民一人当たり...と同じ詐欺です。国の負債=国民の債権 が所有権を理解した正しい表現なのに...


> Q2: 正方形の形の広いグランドがあり、四隅を時計回りにA地点、B地点、C地点、D地点とする。ある人が、A地点からB地点まで走って、90分かかった。B地点からC地点までも90分かかった。その人は頑張り続け、C地点からD地点までも続けて走り、やはり90分かかった。ところが、D地点からA地点まではなぜか1時間半かかった。なぜか?

わっはっは、90分=1時間半ですから...なぜかもなにもありませんです。


クイズ好きのご家族様へ

管理人様、sentaro様、  こんばんは。

管理人様。方位換算、さらっと回答していますね。ツルは1週間悩んでいたのに・・・。頭が固くなってきた(涙)

Q1: あるビジネスマンが同僚と3人で出張し、いつものホテルに泊まることにした。料金は一人1000円。男は3人分3000円を係に渡した。
支配人はそれを受け取ったが、常連様なので500円を値引きにすると言って、500円渡し、客へ戻すよう係に命じた。係は500円を3名に戻すには割り切れないから、自分で200円を懐に入れ、客には100円ずつ戻した。すると、客は一人900円払ったことになり合計2700円。係の持つ200円と合わせて2900円。初めの3000円から100円がなくなっている。どこにいった? という問題。

Q2: 正方形の形の広いグランドがあり、四隅を時計回りにA地点、B地点、C地点、D地点とする。ある人が、A地点からB地点まで走って、90分かかった。B地点からC地点までも90分かかった。その人は頑張り続け、C地点からD地点までも続けて走り、やはり90分かかった。ところが、D地点からA地点まではなぜか1時間半かかった。なぜか?

[追記あり] Re: 5800P版 MASTERMIND

ツル様
sentaro様

管理人のやすです。

> 5800P版MASTERMINDを仕上げてみます。
> 管理人様からの情報を生かして! はい、ツルは病んでます。


Wao! 楽しみです( ^o^)ノ

fx-5800P のコマンド処理時間を調べて高速化した人は少ないと思うので、是非トライしてみてください(^^;

[追記]
Goto / Lbl は制御構造が複雑になると顕著に処理時間が遅くなります。そこで、Goto / Lbl の使用を極力減らすことも、fx-5800P での高速化に大きく寄与することが分かっています。
参考)http://egadget.blog.fc2.com/blog-entry-158.html の表3

実は、Goto で処理時間がかかることは、Casio Basic 固有の内部仕様に起因することが分かっています。最初は2重ループ脱出時のバグを見つけたのがきっかけで、カシオお客様サポートセンターの方とのやりとりで、実はこのバグは Goto の内部実装が原因だとはっきりした、という経緯があります。
詳しくは、以下の順に記事とコメントを順にご覧頂くと、詳細が分かります。

1.http://egadget.blog.fc2.com/blog-entry-94.html
2.http://egadget.blog.fc2.com/blog-entry-117.html
3.http://egadget.blog.fc2.com/category14-2.html

すると、高速化を優先するために、Goto / Lbl を無くすのが良いのですが、その代わりにサブルーチン呼び出しを余儀なくされます。ここで、Prog コマンドのオーバーヘッド時間を考えて、Goto か Prog かの判断となりますが、Master Mind レベルの複雑な制御構造になると、経験上 Goto の代わりに Prog を使う方が高速化に寄与する筈です。

サブルーチンのファイル名については、Hit & Blow や TimeZone のサブルーチン名などを参考になさってください。

優先度をどう考えるか、作りかけたものを作り直す手間、ソースコードへの拘り、或いは高速化、どれを優先するかの新たな悩みが現れると思います。

ご覚悟召され...(・ω・)


にせコインにスグ反応(^^;

ツル様
sentaro様


> にせコインにすぐに反応・・・(笑)

こういうの好きなんです。TVでこんな感じのクイズ番組があると、家族みんなで紙と鉛筆をにぎって、一緒に解いたりしてます。家族全員クイズ好きだったりして...


> 私、必ず2468を打って、次に1357。 これで9のあぶり出しから入り、5トライまでは判断のための布石で6トライ目の正解を目指すやり方です。

私も sentaro様と同じです。

問題は、1234 と 5678 の後、どう絞り込むかで、運不運に左右されています。10回以内に解けないことも結構あるので、ハマリます。ちょうど良い感じの難易度ですね!

5800P版 MASTERMIND

管理人様、sentaro様、  こんばんは。

5800Pの高速化は無理ですよね?
> 簡単なハード改造で3割程度のスピードアップなら確実にできる方法を見つけてる・・・

もしかして、基盤のチップ抵抗を外す?

この間、PanasonicのCSに聞いたことがあります。
充電池用の充電器に、単3と単4とのセット場所がある一般的な充電器。
単4は一度に2本までしかセット出来ないので不便だ。単3位置に単4を安全にセット出来たとして、制御回路の電池保護機能、充電時の安全機能に不具合はあるか?という問い合わせをしました。
その際の回答で分かったのですが、単4の充電回路には抵抗をかませているので、充電電流が少し大きくなるとのことでした。
温度監視の安全機能もあるので、あとは自己責任でやっています。

昔、産業の米と呼ばれていたチップ抵抗を作る仕事に携わったことがあります。

5800P版MASTERMINDを仕上げてみます。
管理人様からの情報を生かして! はい、ツルは病んでます。

素朴な回答

管理人様   こんばんは。

私も、電卓に直接入力することが殆どです。
電卓の横には必ずブギーボードを置いて、メモを書いたりしています。

目の前にはタブレットを立てて映画を流しながらというスタイルです。(笑)
PCはもう10台駄目になり今は手軽なタブレットがメインです。
ポメラとブギーボードが無いと生きていけないくらいです。(笑)

Re: ひらめかないツル

ツル様
sentaro様

管理人のやすです。

一般に、x-y座標で、点Aの座標を(X, Y)とし、原点と点Aを結ぶ直線とx軸が成す角度をθ、原点と点Aの距離をLとすると、

X = L・cos(θ)
Y = L・sin(θ)

となりますよね。

ここで、L^2 = X^2 + Y^2 です。

極座標系から直交座標系への一般的な変換方法です。

ここで、θ=A なので、
方位 B = 90 - A (直感)

従って、θを B で現すと、

θ= 90 - B

(但し角度はラジアンでなくて度)

そこで、この最後の式を上の変換式に代入すれば、

X = L・cos(90 - B)
Y = L・sin(90 - B)

如何でしょうか?


[追記]
X = L・cos(90 - B) = L・sin(B)
Y = L・sin(90 - B) = L・cos(B)

なので、X、Y を A (=θ)で表す時と、Bで表す時で、ちょうど cos と sin が交換された形になりますよね。正負も合っていると思います。

Re:Re: Re:必要なキー以外の反応

管理人様、ツル様、こんにちは!

>ええっと、実際は5%以下ですので、1%や 0.5%もあり得ます。

あ゛、了解です。(^^;


>C.Basic を有効に使うのは、Casio Basic を使いこなす延長線上にあると、私は感じています。
>導入は簡単で、奥が深いのが C.Basic と言えると思います。

ありがとうございます。
簡単に使えるというのはとても重要なポイントだと思いますし、電卓本体で使う言語としては煩わしい部分がなるべく少ないほど便利かなと思っています。
今後もより便利に使える改善項目等ありましたらどんどんお願いします。(^^)


>実は、プログラムの高速化については、処理の遅いコマンド使用回数を減らしたり、ロジックを見直すことにより、倍速くらいまで高速化できることを私自身が「入力ボックス」で体験していて、それを公開しています。

高速化というと、ついハード的に考えてしまったのですが、プログラムの最適化での高速化手段がありましたね。(^^)

C.Basicで動作させることが前提だと速度に関係しない部分では最適化を考えずにプログラムしてしまいがちですが、fx-5800Pで動作させることを考えると管理人様のプログラミングテクニックがとっても有用になってきますね。(^^)



>私、必ず2468を打って、次に1357。 これで9のあぶり出しから入り、5トライまでは判断のための布石で6トライ目の正解を目指すやり方です。

私は最初は1234で、次が5678でその後はツル様と同じ感じですね。(^^)

Re: s

ツル様

管理人のやすです。

三単現のsについて、了解です!


ところで、素朴な質問ですが、ツル様はプログラムを書く時、先ずはPCのエディタで書いてから、電卓に打ち込んでいます?それともいきなり電卓に入力されています?

チョット興味があったもので...

というのも、区切り文字を多用されているので、電卓画面では見づらいが、テキストファイルとして見ると見やすいからです。

スタイルは人それぞれですが、私は電卓に直接入力することが殆どです。

但し煮詰まった時だけは、紙に打ち出して鉛筆であれこれ書きながら考えるという超アナログ手法になります。

ひらめかないツル

管理人様、sentaro様、  こんばんは。

>これを、じぃ~っと眺めていると、ひらめいた\(^_^)/
9+X-3Y = N
検算してみると、確かに正しい( ^o^)ノ
モグラの座標から対応する数字キーNへの簡潔な公式が見つかった。

皆様。ひらめきを!

数学で一般的なXY座標においての角度θは、アナログ時計での3時方向とのなす角で表し計算しますね。12時が90度、21時を180度と、反時計回りです。
一方、船舶などでは真北を0度、方位000とし、真東を90度、方位090、と時計回りで表します。θを変数A、方位を変数Bとしたときの換算式をひらめきなさいという問題に対し、ひらめかないツルは、自分の限界を思い知らされています。
(ABともに0~360連続するものとする)。 率直に申し上げます。 教えてください。

管理人様、sentaro様、  こんばんは。

>are 1 To 9 に対応するには、Number (単数) ではなくて、Numbers (複数) が良いと思います。
コメントアウト部分は、(setting) でなくて、複数形の (settings) が良いかも...

ありがとうございます。
sについてはおっしゃる通り、本来はあるべきですが、センタリングを優先しました。judgeも、英米の違いで。・・・見るのは日本人なので(笑)
コメント部は自分用だからと妥協。

にせコインにすぐに反応・・・(笑)
私、必ず2468を打って、次に1357。 これで9のあぶり出しから入り、5トライまでは判断のための布石で6トライ目の正解を目指すやり方です。

Re: Re:必要なキー以外の反応

sentaro様
ツル様

管理人のやすです。

> 5%もいらっしゃるならかなり多いかなと思ってしまいますね。
> ありがとうございます。(^^)


ええっと、実際は5%以下ですので、1%や 0.5%もあり得ます。

但し、C.Basic 記事へのアクセスは7月以降増加してきています。理由は定かではありませんが、C.Basic のマイナーバージョンアップに併せて、記事を追記・修正し、新たな日付けでアップしています。これは確か7月以降だったかな?と思うので、最新記事一覧への露出度が上がったのが原因かも知れません。


> 私の経験則でいうと、ポケコンや電卓等の閉じられたハードの場合、純正以外の言語が使えるとしてそれを使うのは相当にハードルが高いので、C.Basicの純正互換というところから入れるのは他言語にない強みだと思ってますが、反面それが足かせとなって弱みでもあるという両面がありますね。(^^;

C.Basic を有効に使うのは、Casio Basic を使いこなす延長線上にあると、私は感じています。
Casio Basic を知れば、C.Basic の良さが分かるというべきでしょうか?

SDKで作ったプログラム並の高速化が、Casio Basicでできていまう。C言語的な感覚で便利な拡張機能もある。これが C.Basic の特長と言えるかも知れません。Cを知らなくても使える拡張機能もありますが、行列の拡張機能、文字列の拡張コマンド、それからグラフィックス拡張機能を使いこなすには、ひょっとしてCの経験があると理解が楽かも知れませんよね。

導入は簡単で、奥が深いのが C.Basic と言えると思います。


> >5800Pの高速化は無理ですよね?
>
> 簡単なハード改造で3割程度のスピードアップなら確実にできる方法を見つけてるのですが、倍速以上に上げる方法はまだ見つかっていないです。
> このあたりは高速化すると思われる後継機種を待つのが正解でしょうか。

実は、プログラムの高速化については、処理の遅いコマンド使用回数を減らしたり、ロジックを見直すことにより、倍速くらいまで高速化できることを私自身が「入力ボックス」で体験していて、それを公開しています。

なので、例えば sentaro様ご提案の Master Mind (C.Basic版)の入力キー抑制のロジックは、時間のかかる論理演算のてんこ盛りなので、fx-5800P には不利で、その代わりに「入力ボックス」の高速化で行ったように、行列 (fx-5800P では配列変数) を使って論理演算を減らすことで、高速化可能だとふんでいます。

もぐら叩き (fx-5800P版) では、入力したキーのキーコードから実際のテンキーの番号を割り出すのに、配列と数式1つで高速化しています。
参照)http://egadget.blog.fc2.com/blog-entry-28.html

またテンキーの判定には、以下のようなロジックで高速化した経験があります(入力ボックス);

87→DimZ       [初期設定]:全てのキーコードを代入する領域確保
1→Z[35]:2→Z[36]  [初期設定]:テンキーの数字とキーコードの関連付け
2→Z[37]:4→Z[21]  [初期設定]:テンキーの数字とキーコードの関連付け
5→Z[22]:6→Z[23]  [初期設定]:テンキーの数字とキーコードの関連づけ
7→Z[31]:8→Z[32]  [初期設定]:テンキーの数字とキーコードの関連づけ
9→Z[33]       [初期設定]:テンキーの数字とキーコードの関連づけ

Do
Getkey→K
LpWhile K=0
Z[K]→I

If (I≧1 And I≦9) Or K=25
Then


IfEnd


参照)http://egadget.blog.fc2.com/blog-entry-157.html

なので、ひょっとしたら、Master Mind fx-5800P も高速化可能かも知れません。


Re: にせコインの問題

ツル様

管理人のやすです。

> 8枚のコインと、てんびんが1台ある。コインのうち1枚はにせコインで、他のコインより軽い。てんびんを2回使うだけで、にせコインを見つけろ、という問題がありますが、この時の思考ロジックはMASTERMINDでも同じですよね。

ふ~む、面白そうな命題を頂戴しました。
ひょっとして、Mastre Mind 解法のヒントですね!

スグには分からないですね~

先ずは天秤の問題をやってみるとして、答えを知らないので書きながら考えます...

先ずスグに思いつくのは、

1. 天秤使用1回目
 コイン3枚を適当に2組選んで、天秤の左右の皿に3枚づつ載せ
 1.1 上に上がった方の3枚の中に偽コインがある
 1.2 釣り合ったら、2組に分けなかった残りの2枚のどちらかに偽コインがある

2.天秤使用2回目
 2.1 (1.1) の場合は、偽コインを含む3枚から、適当に2枚選び、天秤の左右に1枚づつ乗せる
   2.1.1 天秤が上がった方のコインが偽コインと確定!
   2.1.2 天秤が釣り合ったら、残った1枚が似せコインと確定!
 2.2 (1.2) の場合は、残りの2枚を1まいづつ天秤に乗せ、上がった方が偽コインと確定!

ふむ、これで問題は解けました。こういうひらめきは得意だったりします!


さて、これと Master Mind の思考ロジックとの関連は、どこにあるのだろうか....?

・任意にグループ分けして、グループ同士の比較を行う...?

・8枚から4枚の正解を知るには、4枚の不正解を知ると有利...?

・どうころんでも良いようにグループ分けを考えて進める...?

こんなところだろうか?

なら、ある程度パターンを見つけて、それを覚えると必勝か?

パターンはありそうですね!

今すぐに思いつくのは、残念ながらここまで...(玉砕)


Re:必要なキー以外の反応

管理人様、ツル様、こんにちは!

>なので、当ブログにお越しになる方の中で C.Basic 利用者は大雑把に5%程度。但し、プログラム電卓でプログラミングをしている方の100%が当ブログへお越しになることはあり得ないのでで、5%以下 というべきでしょうか?

5%もいらっしゃるならかなり多いかなと思ってしまいますね。
ありがとうございます。(^^)
私の経験則でいうと、ポケコンや電卓等の閉じられたハードの場合、純正以外の言語が使えるとしてそれを使うのは相当にハードルが高いので、C.Basicの純正互換というところから入れるのは他言語にない強みだと思ってますが、反面それが足かせとなって弱みでもあるという両面がありますね。(^^;



>5800Pの高速化は無理ですよね?

簡単なハード改造で3割程度のスピードアップなら確実にできる方法を見つけてるのですが、倍速以上に上げる方法はまだ見つかっていないです。
このあたりは高速化すると思われる後継機種を待つのが正解でしょうか。


>sentaro様。 実は、全く同じProgを打ってました。
>その後、消しました。必要性と短さを秤にかけて、短さを選んだのです(笑)

なんと!同じProgを!
これは失礼いたしました。
このあたりの仕様は管理人様がおっしゃるようにツル様のご判断で仕様を決定されて下さい。(^^)


>勝手にHN使わないで

何のことかと一瞬焦ってしまいましたけど、管理人様のコメントで理解しました。
ってことで、全く無問題です!(^^)

Re: 必要なキー以外の反応

ツル様
sentaro様

管理人のやすです。

> sentaro様。 実は、全く同じProgを打ってました。
> その後、消しました。必要性と短さを秤にかけて、短さを選んだのです(笑)
>
> しかし、不特定多数が使うことを考えると、決して余計な機能ではないし、あるべきかも知れません。バックライトが消えたときに、再点灯させるために方向キーを押すことが多いので、その辺りのキーだけ無効にしておけばいいかな?と思いました。将来、機能追加でSHIFTなどの受け付けが必要になるかも知れないしとも考えました。
>
> DEL削除はいいですね。(同じキーの複数押しで消えるのでそれでいいなと・・・)
> 楽することに進歩はある!の信念で。(笑)



私の個人的な考えですが、色々な提案を考慮して、最終的に作者の方が好きに決めて作るのが良いと思っています。

一番最初の私の提案で、キーリピート抑制の While Getkey:WhileEnd のコードの追加を申し上げたのは、ゲームの進行上問題になるから、これだけは修正した方が良いと思ったからです。

ゲームを楽しく遊べることが最重要で、それ以外は作者の好みや作者の拘りで作者が決めるものだと思っています。そんな気持ちがこもっているのが、

プログラム電卓は、プログラムを作ってナンボ!

というキャッチフレーズです。
趣味のプログラングは自作プログラムが動くことが一番の楽しみで、動くプログラムが出来れば、色々と手を入れたくなるもので、そこで役立つ情報を発信するのが、e-Gadget の目的です。

当ブログでは、プログラミングの楽しみを共有したいと思っています。なので、色々な提案も大歓迎で、ここをお読みの方がそれをどのように解釈されるかは、作者の方を含めて、それぞれでお好みの方法で、公開プログラムを自由に触って頂ければ良いというのが、管理人の希望です。

Re: 勝手にHN使わないで

ツル様

管理人のやすです。


ファイル名の件、お返事していなかったようです。

ツル様のお好きになさって頂きたく...

ちなみに、スペース入りのファイル名の件は、既にコメントに書いたと思いますが、fx-9860GII 純正Casio Basicでは、スペースが入っていてもリネームできるし問題ないようですので、ファイル名のスペースは問題ないようです。

fx-CG50 だと問題になるだけで、先にfx-9860GIIで確認してからコメントすべきでした。

ということで、スペースを含んだものでも問題ないので、ツル様が納得されるものにしてください。


ところで、

> 怒られると思っていました・・・

これは、何のことをおっしゃっているのか? ふと思いつくのは C.basic版 Master Mind Ver4 で最後に表示される、我々のハンドルネームのことでしょうか?

もしそうだとして、いったい誰が怒るのか...問題ないと思います。

ところで、ゲーム最初に表示される画面で、

Number are 1 To 9

とありますが、are 1 To 9 に対応するには、Number (単数) ではなくて、Numbers (複数) が良いと思います。

コメントアウト部分は、(setting) でなくて、複数形の (settings) が良いかも...

細かいことなので、どうでも良いのですが、ついつい気になってしまいました。

にせコインの問題

管理人様  こんばんは。

8枚のコインと、てんびんが1台ある。コインのうち1枚はにせコインで、他のコインより軽い。てんびんを2回使うだけで、にせコインを見つけろ、という問題がありますが、この時の思考ロジックはMASTERMINDでも同じですよね。

勝手にHN使わないで

管理人様、sentaro様、  こんばんは。

怒られると思っていました・・・

必要なキー以外の反応

sentaro様、管理人様、  こんばんは。

sentaro様。 実は、全く同じProgを打ってました。
その後、消しました。必要性と短さを秤にかけて、短さを選んだのです(笑)

しかし、不特定多数が使うことを考えると、決して余計な機能ではないし、あるべきかも知れません。バックライトが消えたときに、再点灯させるために方向キーを押すことが多いので、その辺りのキーだけ無効にしておけばいいかな?と思いました。将来、機能追加でSHIFTなどの受け付けが必要になるかも知れないしとも考えました。

DEL削除はいいですね。(同じキーの複数押しで消えるのでそれでいいなと・・・)
楽することに進歩はある!の信念で。(笑)

にしても、ご配慮に感謝します。

一休みの雑談

sentaro様、管理人様、  こんばんは。

sentaro様。 いろいろ質問へのご丁寧な回答、本当にありがとうございました。
どこぞの企業のCSよりも的確なご回答で、痒い所に手が届くとはこのことです。
CASIOですら即答率は低いので・・
私も技術支援グループで様々な問い合わせに対応しておりましたが、即答してあげたくて猛勉強したものです。

音については、プロ電に望むほうがいけないですね。
ポケコンでは音でも楽しんだことが懐かしくて。

本体のサイズの点では5800Pがポケットに楽に収まるので便利ですが、このMASTERMINDを入れたら、動作が遅くて難しいです。やれなくはないので、病院で数時間の待ち時間の間にでもやろうかなと。
5800Pの高速化は無理ですよね?
今は5800Pを手にする機会は減りましたが、愛おしく感じます。(笑)

管理人様からのファイル名の件、待ってます。

Re: 質問 いろいろ

ツル様
sentaro様

管理人のやすです。

今日もバタバタしていて、今日やっとPCに向かっています。これから家族と晩ご飯に出かけるので、夜中にもう一度アクセスする感じになります。


ツル様のご質問のうち、sentaro様のコメントに無い部分として、プログラム電卓所有者のうち、使っている言語としての純正Casio Basic と C.Basic の比率についてですが、私も興味があります。具体的に調べたことが無い (調べる方法が思いつかない) のですが、当ブログにアクセスなさる方のうち、C.Basic の記事にアクセス数は、全体のうち5~10%程度の印象があります。

定量的に調べたことがありませんが、毎日の当ブログへの新規アクセス数 (同じ方による重複アクセスを除いた数) 200~400のうち C.Basic 記事へのアクセスが 10~40くらいの感じです。当然毎日バラツキがありますし、私の感覚なので精度の保証はありません。

なので、当ブログにお越しになる方の中で C.Basic 利用者は大雑把に5%程度。但し、プログラム電卓でプログラミングをしている方の100%が当ブログへお越しになることはあり得ないのでで、5%以下 というべきでしょうか?

Re:Master Mind Ver4 C.Basic版

管理人様、ツル様、こんにちは!

Master Mind Ver4 C.Basic版、左からスタートするのが新鮮ですね。
運良く5回までで当たるときもあれば、10回ギリギリのときもあってなかなかのスリルと脳トレになります。
ありがとうございます。(^^)

で、入力時のチェックと[DEL]機能追加が管理人様よりお題が出ておりましたが、そこのあたりちょこっと付け足してみました。

Do:Getkey2->I
の次に
I<>41 And I<>61 And I<>71 And I<>72 And I<>62 And I<>52 And I<>73 And I<>63 And I<>53 And I<>74 And I<>64 And I<>54 And I<>47 And I<>44=>0->I
を追加して、
入力Whileループの抜けた後に
If I=44:Then
D=1=>D-1->D
D>1=>D-2->D
IfEnd
を追加しました。

それからキー入力前に削除で戻った場合の表示対策を追加してあります。

これで、必要なキー以外は反応しなくなりますし、[DEL]での一桁削除が機能するようになります。
C.Basicの独自機能は使ってないのでこの追加はCasioBasic版でもそのまま使えると思います。(^^)

http://pm.matrix.jp/CB/MASTMV4A.g1m

Re:質問 いろいろ

管理人様、ツル様、こんにちは!

Master Mind Ver4 C.Basic版、頂いております。
どんどん完成度が上がっていい感じですね。(^^)


>変数

英文字+数字の変数形式は、マニュアルの236行目からの”行列へのアクセス”の項目にありますが、行列の省略形でのアクセスという感じの説明になっているので、行列を通常変数として使うという感じにはちょっと分かりにくいところあったかもしれません。(^^;
C.BasicはCasioBasic互換なので変数名にはかなりの制限がありますけど、そこを逆手に取ってというか、1文字変数しかない代わりに行列を大幅に拡張してあらゆる方面で便利に使えるようにしています。(^^)


>サブルーチン

一つのプログラム内で昔のBasicと同じように使えるGosubコマンドがあります。
ファイルを分けてサブプログラムにするとローカル変数(大文字変数、小文字変数ともに可です)が使えたりと有利な点も多いので分けた方がいい場合が多いです。
ファイル数増加への対応は同じプログラム群をフォルダで分けるとよいです。
MASTMINDフォルダを作成してそこでMaster Mindのプログラムを格納するようにすればファイル数の増加は抑えられます。(^^)



>1.C.Basicアイコンで表示されるfaile list画面で、左上の[ /  ]何ですか?

ストレージメモリのルートフォルダを表示しているという印です。
フォルダに移動するとフォルダ名が表示されます。


>2.過日、ストレージメモリの空き不足によるエラーを教えて頂きましたが、
> そもそも、なぜメインメモリとストレージメモリとにプログラムが分けられるのでしょうか?

純正CasioBasicは64KBのメインメモリ領域にプログラムを格納しています。
C.Basicではその領域を使うことはせず、1MB以上使えるストレージメモリ(またはSDメモリ)を使用しています。
純正CasioBasicとC.Basicで同じプログラムを動作させる場合はメインメモリ領域を共通に使うことが便利かと思いますがそれはまだ未実装の機能となっています。(^^;


>3.Exec TimeDsp:on/off、出来ました。SET UP内にあるんですね。知りませんでした。あの経過時間データは、Prog内の変数に取り込んでの利用が出来ますか?計測開始のタイミングは、所謂、RUNかけた瞬間ですか?

はい、RUNをかけた瞬間から正常終了時までの時間です。計測値を取り込むことは出来ません。
プログラム内で時間測定を行う場合は、1/128s単位でカウントアップするTicksを使います。

Ticks->S   // 初期値を変数Sに保存
 計測したいプログラム
(Ticks-S)/128->T   // 経過時間(秒)がTで得られます。


>4.そもそも、ファイル名が8文字などのように、なぜ短いと感じる程の制約があるのでしょうか?16文字位だと便利だと思うのですが。使用できる文字の制限も、なぜなのでしょう?

ファイル名の制限はPC上のMS-DOS時代の8.3形式と同じなのですが、PC上でファイル名を変えなくていいように共通化して使えるようにとの電卓OSの仕様かと思われます。
PCとの連携のないfx-5800Pがより長いファイル名が使えてるのは独自仕様でも誰も困ることがないからですね。


>5.CASIO Basicが使える電卓所有者に占める、C.Basic利用者の比率はどの位なのでしょう?

これはまるで分かりません。(^^;
従来より電卓上で動作する独自言語はありましたけど、ポケコン時代に比較するとプログラムを自作する割合がかなり少ないと思われるので、純正言語以外のプログラム言語を使うというのはあまり多くはないかもしれません。
fx-9860GシリーズではCが使えるSDKが用意されてますから、プログラミング環境としてはPCのそれとあまり変わらないレベルで用意されています。
高度なことをしたい場合はCを使うでしょうし、お手軽プログラミングなら純正CasioBasicでも十分なことも多いでしょうし、その間を埋めるのがC.Basicという立ち位置になるかと思います。純正CasioBasicを使ってみたけど、もっと速度が欲しい、もっと細かな動作が出来ると嬉しい、という場合にC.Basicを試してみるくらいの感じかと思っています。
C.Basicは速度的には純正CasicBasicよりもできるだけCプログラムに近いところまで出来るようになってきてはいますが純正互換仕様である限り色々と制約も多いのでそこのあたりの状況は難しいところですね。


>6.9860GII機やCG50機で、表示ピクセルON・OFFの間の中間色(階調)を出すにはどうやればよいのでしょうか?

CG50は6万色表示のカラーLCDなのでアドインを作成すれば自在です。
9860GIIでは2色モノクロLCDなので単純には不可能ですが、高速で画面表示を切り替えするプログラムを作成すれば階調表現は可能です。(C.Basicでも出来ます)


>7.上記2機種、どうあがいても音を出すことは不可能ですか?フィルムスピーカー?を持っていて、(私は電子工作は好きなので)こうすれば出来ますよ的な情報があればな、と思っています。

本体だけでは無理ですけど、3ピンコネクタから1ビット信号を出力すれば可能です。
CG系ではGameBoyのエミュレータのアドインが出てますが3ピンから音声信号が出力されてます。
音出しするには3ピンの出力ポート(シリアル通信用)を直接アクセスする必要があるのですが、C.Basicでも何かしら音出しは出来ると思われますが試したことはまだないです。(^^;

質問 いろいろ

sentaro様、管理人様、  こんにちは。

ご質問させて頂きます。

1.C.Basicアイコンで表示されるfaile list画面で、左上の[ /  ]何ですか?

2.過日、ストレージメモリの空き不足によるエラーを教えて頂きましたが、
 そもそも、なぜメインメモリとストレージメモリとにプログラムが分けられるのでしょうか?

3.Exec TimeDsp:on/off、出来ました。SET UP内にあるんですね。知りませんでした。あの経過時間データは、Prog内の変数に取り込んでの利用が出来ますか?計測開始のタイミングは、所謂、RUNかけた瞬間ですか?

4.そもそも、ファイル名が8文字などのように、なぜ短いと感じる程の制約があるのでしょうか?16文字位だと便利だと思うのですが。使用できる文字の制限も、なぜなのでしょう?

5.CASIO Basicが使える電卓所有者に占める、C.Basic利用者の比率はどの位なのでしょう?

6.9860GII機やCG50機で、表示ピクセルON・OFFの間の中間色(階調)を出すにはどうやればよいのでしょうか?

7.上記2機種、どうあがいても音を出すことは不可能ですか?フィルムスピーカー?を持っていて、(私は電子工作は好きなので)こうすれば出来ますよ的な情報があればな、と思っています。

以上、お願い致します。

(ツル)

Ver4 ファイル名?

管理人様  お世話になっております。


MASTERMIND Ver4の純正CASIO Basic版 チェック終わりました。
お送りできるのですが、1点ご確認です。

ファイル名ですが、予告しておきながらですが・・・ 変えてもよろしいですか?
始めにMASを使うファイルが多くて、また混乱しそうです(笑)

C.Basic版が MASTMV4 
純正CASIO版は、基本的に同じものですが、別扱いは必要。
それで、CASIOの電卓でMASTERMINDだから、MASIOはいかがですか?
MASIOV4 ならスペースもありませんし、私の手元にあるうちにRENしたほうがいいのですよね? (デジタル~は~、マーシオ!)ってことで。

ご返事を見てから送信になります



Ver4の純正CASIO Basic版の製作がほぼ終わりました

管理人様  お世話になっております。


私、サブルーチンの便利さは承知しているつもりです。
が、使用には消極的です。ファイル数が増えるからです。いつも短いファイル名で困っています。なので1本化が大好きなんです。ですので、管理人様が作られたHIT&BLOWも1本にまとめて保有しております。年寄りだから」頑固なんです(笑)

MMでは飛ばしたってLblは4つです。20もあるなら困りますがね。

>プログラムブロックが上から下へ流れるようにすると、機能追加が楽になり、バグも入りにくくなります。
次の作品で構造化プログラミングに是非挑戦してください。

はい・・・

私、他人への物事の説明はとても上手いほうだと自負しております。(笑)
ただし、私がきちんと理解出来た物事に関してはなのです。
問題は、私の理解力が低いという致命的な問題があります。ここ、笑うところです。(笑)

ところで、Ver4の純正CASIO Basic版の製作がほぼ終わりました。これから寝て、明日動作確認等やる予定です。明日日中にはメール出来る予定です。
1,3行列変数のアドバイスありがとうございました。かすかな知識で出来ました。

もうお気づきでしょう。構造化がいまだに理解度60%なんです。具体的な「もの」が必要なのです。

いつもお付き合い下さりありがとうございます。
感謝しております。

Re: Master Mind Ver4 C.Basic版完成!

ツル様
sentaro様

管理人のやすです。

うっかりしてました。C.Basic用 Master Minf Ver.4 のダウンロードです。

https://egadget2.web.fc2.com/archives/fx-9860GII/C.Basic/MasterMind_V4_for_CBasic.html


ここで、構造化プログラミングの重要性にお気づきかも知れません。
Goto であちこち飛ばすと、機能追加が面倒になってきますね。

Goto の代わりにサブルーチンを使ったりして、プログラムブロックが上から下へ流れるようにすると、機能追加が楽になり、バグも入りにくくなります。

次の作品で構造化プログラミングに是非挑戦してください。

Ver4 setting 行列は・・

管理人様、sentaro様、  こんばんは。


Casio Basic 用の完成版は、当たりです!MASTM V4.g1mの予定です。
車の名前みたいです。(笑)
ところで、先の私の投稿で、変数の発番やマニュアルのことでぼやいているような文面ですが、全く不満は微塵もありませんので。気を悪くなさらないでください。始終笑顔のツルです。

行列による純正版へのご提案、ありがとうございます。
ただ、このチェック機能は、メインProg作成中に、動作確認で嫌というほどProg内を移動ばかりしてして追加機能にしようと思った機能なので、一般利用者向けには全く考えていないのです。それと、ツルは行列も苦手なのです。(笑)

あー、管理人さんの横に座って作りたいです。(泣)

小文字変数を入れて面倒なことをやっていますが、それは可読性を高めるためになると考えてのこともありました。今でも他の方法を考えてますが、この先いじる気はないです(笑)


Re: Ver4 setting

ツル様

管理人のやすです。

1つ提案があります。

> ここで小文字cの値を変えてやって、続く下の行でcにより小文字変数qとpとを必要な値にして目指すQとPに入れるというやり方です。

間違ったファイルを見ていたので、ピント外れのコメントを付けてしまいました。失礼しました。

ところで、変数 c、q、p を使う代わりに1行3列の行列を使う方法があります。これを使うと大文字変数のまま、3つの変数の切替が出来るので、純正Casio Basic にも切替機能を実装できるかと...

如何でしょうか?

Re: Ver4 setting

ツル様

管理人のやすです。

私のミスでした。ファイル名はスペースを無くしたのですとね。MASTMV4 を実行すべきを、MASTM V4 を実行していました、どうりで以前のままなわけです。失礼しました。

ここで、質問がありますが純正 Casio Basic 用の完成版は、MASTM V4.g1m ということでしょうか?

No title

Ver4 setting

管理人様、sentaro様

あ、1と2ではなく、1と5です。

Ver4 setting

管理人様、sentaro様、  こんばんは。

分かりにくいですね。申し訳ありません。
本当は大文字変数Qと大文字変数Pを変えたいのですが、Progの中ほどで遠いので、頭側のsetting部で何とかしようとした訳です。

ここで小文字cの値を変えてやって、続く下の行でcにより小文字変数qとpとを必要な値にして目指すQとPに入れるというやり方です。
setting部をご覧になればご理解いただけると思って事前に詳しいご説明は省きました。
残りの使える変数がなかったもので・・・苦肉の策でしたが。
変わるはずなのですが。
今も確認しましたが、手元のでは1と2との違いがでております。

Master Mind Ver4 C.Basic版

管理人様、sentaro様、  こんばんは。

管理人様。たぶん私の作成よりも分かりやすい合理的な方法があるものと思います。

settingのところで、YES→1 NO→5 の次の行で小文字cに1か5を入れると変わります。手元のでは変わっています。
1→c とするとcheckモードなので、ゲーム画面で(-)で答えを表示させて入力するとブリンクとコメントスライドしてきます。5→cではノーマルなので(-)によりずる扱いになり次のゲームへ進むことになる違いが出ます。

Re: C.Basic  扱える変数

ツル様
sentaro様

> あー、アルファベット変数にに発番できればいいのになぁ・・・と悲しくなった時間を返してもらいたいです。だって、マニュアルには書いてないですよね?

同梱の readme_J.txt や Manual_J.txt のどこかに書いてあると思いますよ。

そもそも、この省略は、(私の理解では)文字列を扱いやすくするためのもので、A[1,1]を使えば数値も扱えるという、一種の応用問題なように思います。

Re: Re: Master Mind Ver4 C.Basic版完成!

ツル様

管理人のやすです。

先ほど、メール経由でプログラムを頂きました。

(setting) のところで、変数Cの初期化の記述がありません。
また、1→C や 1→C を記述しても、変化が見られません。

ご確認ください。


C.Basic  扱える変数

管理人様、sentaro様、  こんばんは。

sentaro様。やばいです やばいです!  何ですか?扱える変数・・・
手が震えてきました。特に、今製作中のトラフィックジャムにどんぴしゃです!

あー、アルファベット変数にに発番できればいいのになぁ・・・と悲しくなった時間を返してもらいたいです。だって、マニュアルには書いてないですよね?

この手の震えは・・・喜びだーっ!
なんかあれですね、21世紀を感じます。昔もポケコンで苦労したことを思い出します。
それにしても、凄いものを作りましたね。

皆様からは本当に刺激的な情報ばかりで、感謝と感動で胸が詰まります。

心を込めて申し上げます。 
ありがとうございます!

 ■D\(^^ ) コーヒー いかがですか?皆様

(ツル)

Re:C.Basic 質問

管理人様、ツル様、こんにちは!

>Exec TimeDsp:on/off  ですが、F5のところのEXECがそうだろうと思いますが、押しても無反応なのを有効にするには?(是非使ってみたく)

んと、これはプログラム全体の実行時間をお手軽に計測するために実装している機能で、コマンドではありません。(^^;
Exec TimeDspをonにしておくとプログラムの正常終了後に実行時間が表示されます。
F5のところのEXECはメモリの直アクセスやマシン語を扱うためのちょっと(かなり)危ないコマンド群でExec TimeDsp:on/offとは無関係となっております。

2年に及ぶバージョンアップで多種多様なコマンドや機能面で複雑化してしまったところも多々ありますので、分からないこと不明なところ出てきましたらどんどん質問してくださいませ。
再確認する過程でバグ発見に繋がることも多いのですごく助かります。(^^)

変数については小文字変数も足りなくなった時には、英文字+数字一桁という行列を短縮形で使う使用方法があります。

純正での行列
A[1,1]
A[2,1]
A[3,1]
短縮して
A[1]
A[2]
A[3]
さらに短縮して
A1
A2
A3
でアクセスできます。
123->A1
456->A2
A1+A2->A3

Master Mind Ver4 C.Basic版、完成されたのですね。楽しみです!(^^)



管理人様、早速の1.64対応ありがとうございます!

>色々な方のチェックは貴重ですね。

はい!
多種多様な方向からチェックしていただくと、ついつい見逃してしまうような隠れたバグが見つかるのでありがたいです。(^^)

Re: Re:C.Basic 質問

sentaro様

管理人のやすです。


C.Basic Ver 1.64 マイナーバージョンアップ について、本エントリー記事の対応を済ませています。

http://egadget.blog.fc2.com/blog-entry-495.html

色々な方のチェックは貴重ですね。

Re: Master Mind Ver4 C.Basic版完成!

ツル様
sentaro様

管理人のやすです。

今日も、チョットバタバタしていて、「チョット待った」を今拝見しました。

どうぞ、ごゆっくりと時間をかけてください。

今回の Ver 4 については、当初からじっくり時間をおいてから公開しようと考えていました。
C.Basic についても、おそらくツル様が作成なさるだろうと感じていたので、私自身はまだ全く手をつけていませんでした。

...と思ったら、完成したのですね。

えと、数字入力時、[DEL]で1つ前の入力の状態に戻ったり、無関係なキーを受け付けないようにする、これは好みの問題ですが、課題としては面白いと思います。

私は有ったほうが良いと思うけど、敢えてなくてもゲームとして問題はないと感じています。というのも実際入力を訂正したいときは、私の場合は [DEL]キーを押して ?※※※ にしてから、入力しなおしていますので...

えと、まだメールチェックしてません。Please take your time...

Master Mind Ver4 C.Basic版完成!

管理人様、sentaro様、  こんばんは。

Ver4は完成報告を少し先走った感があり、申し訳ありませんでした。
今度こそ自分で満足する仕上がりです。

えと、実は・・・C.Basicも苦手でした。
ファイル名の自由度が小さかったり、作ったProgが削除されたりと困った事態があったりして。しかし、その速さとsentaro様から低消費電力のことを教えてもらったり、また、英小文字の変数が使えるなど、大変魅力的なものであることを知り、私のこれからのProg作りに欠かせないものだと感じております。

MASTERMINDはもうAZ変数に余裕がなかったのですが、変数に小文字が使えることを最近知り、早速Ver4の仕上げに活用した次第です。
settingの部分に、Prog checkモードを選択できるようにしました。
checkをNOにすると、通常通りの遊びができます。
YESにすると、(-)での答えを表示させても、(-)を押してないことにし、更に、それで正解を出すと(答えを知っているから勿論正解しますが、)一気にprize10です。つまり、check YESにするのは、正解ブリンクを確認しキラキラ画面の先まで手軽に確認できるモードになるということです。

たぶんですが、不具合は出ないと思います。
ファイル名もスペースは抜いてあります。
あと少しのお時間で、メールに添付し送信いたします。
純正CASIO Basicのほうは英小文字の変数が使えないので、チェックモードを選択できない、ノーマルのVer4としてこれから仕上げに入ります。

コメントについて、読みました。管理人様は既に経緯をご存知ですし、記載された内容で問題ないです。一任致します。
文言に何か問題があれば都度ご相談いたしますので。
よろしくお願いいたします。

では。(ツル)

Master Mind Ver4 完成版ちょっと待った!

管理人様  こんにちは。


※Master Mind Ver4 の公開は少し待ってください。

管理人様のほうで手直しとして修正作業に入ってますか?
または、Ver4のC.Basic版のほうはどんな状況でしょうか?

実は、Ver4のC.Basic版を私が作成中です。
で、純正CASIO Basic版は今晩上がりの予定です。
両方の仕上がりを十分にチェックしてお送りしたいと思っております。
もう同じ過ちは避けたく。
コメントの件も待ってください。まだ読んでいません。
大筋では、Ver3はなかった方向でいいのではないかと考えます。
Ver4が楽しすぎて・・・(笑)  また投稿にてご報告ご相談いたします。

Re: Ver4 Getkey=31⇒Break m(_)m

ツル様
sentaro様

管理人のやすです。

ちょっとバタバタしていて、今やっとfx-9860GIIで Master Mind Ver4 を触っています。

スペースを含むファイル名をリネームする動作ですが、fx-9860GII ではエラーにならないことを確認しました。
そこで、MASTM V4.g1m のファイル名は許されるものと言えますので、圧縮ファイル MASTM V4.zip をダウンロードするようにしました。

https://egadget2.web.fc2.com/archives/fx-9860GII/MasterMind_V4.html

なお、これをカラー化して fx-CG50 /CG20 用の g3m ファイルにしたものを MASTMCV4.g3m としてダウンロードできるようにもしました。

https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/MasterMind_CG_V4.html


Master Mind Ver4 も記事にして皆さんに紹介したいと考えてます。

作者のコメントとして、以前コメントで頂いた文章を基本にして、一部を削除して以下のようにしようと思いますが、如何でしょうか>ツル様

=== 作者(ツル様)のコメント ===

MASTER MIND Ver3は、ゲーム実機に近い感覚で遊べるよう作りました。

しかし、ゲーム実機では予想ピンを差す位置は自分側から相手側(出題ピン側)へ近づいてゆくのが正規の進行方向です。その点ではVer3は逆方向です。

なぜ逆に作ったかは、Locate表示(Y値)とトライ数カウント値とが頭の中で思考しやすかった(作りやすかった)のと、左側情報表示と右側入力表示との表示バランスがいいだろうと思ったのが理由です。

その後、幾度も走らせてみると、この進行方向とprize方法についてはどうしても改良したい衝動に駆られました。進行方向変更により、ゲーム実機に近い感覚ではなくゲーム実機そのままに遊べるようになりました。また単に正解アニメを出したいだけでは達成動機としては弱く、実利はないが別なprizeの設定は必要だと考えました。(この点も以前からの課題でした)

たかだか電卓のゲームではありますが、作るからにはちゃんと作りたい。
そこで、気になっている点をこの際全部まとめてVer4として完成版にしたいと思いました。

=== コメントおわり ===

C.Basic 質問

sentaro様、管理人様、  こんにちは。

sentaro様。たぶん本日最後の質問です。

 Exec TimeDsp:on/off  ですが、F5のところのEXECがそうだろうと思いますが、押しても無反応なのを有効にするには?(是非使ってみたく)

Re:C.Basic 質問への迅速回答 助かりました!

sentaro様、管理人様、  こんにちは。

sentaro様。 迅速にご回答頂き、非常に助かりました!
打っても打っても保存されなくて困っておりました。

しかし、C.Basicは機能豊富で、何より動作が早くて気持ちいいですね。
でも、分からないことがまだ多くて・・・
頑張ります!

Re:C.Basic 質問

ツル様、こんにちは!

>1. Prog中に Goto を打ち込もうとすると、Goto Line Number current:3 [1~322]: と出てGotoが打てないのは何故?

それはエディタの行指定ジャンプ機能になるので、
コマンドとしてのGotoを入力する場合は純正CasioBasicと同じ入力方法で、
[SHIFT]+[VARS]-[F3](JUMP)-[F2](Goto)
です。

>2. Not enough MEM code : 2736 が出る原因は何でしょう?

ストレージメモリの空きが少ないのでファイル保存が出来なかった場合に出るエラーです。
ストレージメモリのフリーエリアはファイルモードの右上に表示されてますので、
(括弧()の中はファイル数です。)
ここがファイルサイズ以下に減っている場合は、純正機能のメモリーマネージャーにて[F5](OPT)最適化をして下さい。


サーチで右端に[が出てしまっていた不具合を修正しました。(^^;
差し替えアップしております。
http://pm.matrix.jp/CB/CBASIC164beta.zip

C.Basic 質問

sentaro様、管理人様、  こんにちは。

C.Basic 打ち込みでの質問2点です。

1. Prog中に Goto を打ち込もうとすると、Goto Line Number current:3 [1~322]: と出てGotoが打てないのは何故?

2. Not enough MEM code : 2736 が出る原因は何でしょう?

Re:C.Basicのskip

管理人様、ツル様、こんにちは!

>通常のProg内では、skipを押すたびにskipしますが、コメント文が長い(1画面分)場所までくると、更なるskipが動作しなくなるのです。

現象を確認しました。
これは現行のエディタの分かっていたけど直していなかった仕様だった模様で、(^^;
その場合はSkip値を2以上にして対策するということでごまかしておりました。
失礼いたしました。

ということで、
サーチとSkipの不具合を修正した(と思われる)バージョンです。
1.64の差し替えとなります。(^^;

アドイン版 C.Basic ver.1.64ベータ差し替え版(サーチ&Skip修正版)
http://pm.matrix.jp/CB/CBASIC164beta.zip

C.Basicのskip

管理人様、sentaro様、  こんばんは。

言葉足らずで申し訳ありません。
skipで画面単位でのskipはよいのです。

通常のProg内では、skipを押すたびにskipしますが、コメント文が長い(1画面分)場所までくると、更なるskipが動作しなくなるのです。
MASTER MINDのProgでやってみるとわかる筈です。
長いコメント文があっても、続けてskipを効かせて欲しいということです。

Re: C.Basic の不具合?問い合わせ

管理人様、ツル様、こんにちは!

>C.Basicの場合は1か所で止まり、EXEで次へ飛ばすことが出来ません。

確認できました。
これは仕様ではなく不具合ですね。(^^;
EXEで次のサーチになることが今の今まで分かってませんでした。(^^;
純正仕様をしっかり確認してなかったことによるバグですので、これから修正してみます。


>skip↑↓は便利ですが、改行数は画面単位?

はい、1画面(6行または7行)単位で行がスキップされていくのが現在の仕様です。
スキップする画面単位はセットアップで設定できるので2以上に変更しても止まるようであればバグです。(^^;
現在のスキップ仕様は画面上の行数で計算しているので、これを(改行までを1行とする)論理行に変更する方がよいかもしれません。



管理人様、
C.Basic版のMSATMINDはツル様のアップデートに合わせて随時アップデートしていくのがよいと思うので、最新版だけで構わないと思います。(^^)

Ver4 Getkey=31⇒Break m(_)m

管理人様  こんばんは。

>頂いた Ver 4 は、I=31⇒Break になっていて、[EXE]キーの反応が遅いままですが、結果的にそうなさったのでしょうか?

あれ?もしかして修正前に保存したのをお送りしてしまったたようです。
手元の9860では、Getkey=31⇒Break になっています。
改変版が多くあり、更に海外製のも同じような名前なのでまた混乱したようです。

重ね重ねご面倒をお掛けし大変恐縮です。
もうVer3はDELですね。

C.Basic の不具合?問い合わせ

管理人様、 sentaro様   こんばんは。

楽屋裏で見つけられなかったので、教えてください。

不具合ではなく仕様ならば仕方ないですが、純正casio Basicと違うので使いづらく感じている2点があります。

1. Search

 私はProg中に、作業用に通常のazではなく、Character MATH内にある特殊文字のiやe(太い文字の)をよく使います。所定個所にセットするとピンポイントで行けるからです。
純正casio Basicの場合は、5か所セットしておくと、最後の5個目まで順次飛ぶので便利ですが、C.Basicの場合は1か所で止まり、EXEで次へ飛ばすことが出来ません。

2. JUMP-skip↓

skip↑↓は便利ですが、改行数は画面単位? 今回のMASTERMINDのProgのように、コメント文として1画面丸々作った場合、skipがそこで止まります。
純正casio Basicにはない機能なので便利ですが、止まらないでほしいです。


以上です。

ファイル名

管理人様  こんばんは。

またファイル名でしくじってしまいました。
ご面倒をお掛けし大変申し訳ございません。

9860ではファイル名でのスペース途中使用に問題がないようだったので、他のファイルとの区別に視認性がいいので、よく使っております。
環境に合わせ、都合の良いファイル名への変更でどうぞ。
今後は気を付けます。

>Congratulation! のキラキラ画面は、ダイア (◇) の色をランダムのカラーにして、キラキラ感を増してみました。

うわっ、それは素晴らしい。
9860ノーマルではあのLOOPが秒間7回ですが、速度が増すとどう見えるのでしょうね。

>fx-CG50 をお持ちで無いツル様には、作者であるにも係わらず、申し訳ありません。

ははは、気にしないでください。私は9860に出来る美しさの表現をしているだけですから。


不具合?の件は、あとで楽屋裏をチェックしてみます。

Re: MASTER MIND Ver4

ツル様

管理人のやすです。

> >Getkeyがあるところでキースキャンしますが、I=30⇒Break だけだとキースキャンしません。
> I=30⇒Break でキースキャンさせるには、Getkey=I⇒Break とする必要があります。

頂いた Ver 4 は、I=31⇒Break になっていて、[EXE]キーの反応が遅いままですが、結果的にそうなさったのでしょうか?
私の手元にある fx-CG50 用カラー化バージョンでは、Getkey=31⇒Break に変更しています。

Re: MASTER MIND Ver4 デバッグ依頼

ツル様
sentaro様


管理人のやすです。

Ver 4 を頂き、ご連絡頂いた修正を施しました。

恐縮ですが、ファイル名にスペースを入れないものに変更してよろしいでしょうか?
例えば、MASTMV4.g1m といった感じです。

というのも、当ブログ付属のホームページでは、サーバーの仕様のため、ファイル名にスペースを含むファイルをアップロードできません。それなら ZIP ファイルにすれば良いのですが、これまでのところ g1m ファイルを直接ダウンロードさせるようにしてきています。

それから、もう一つ気になる点があります。

今手元には fx-CG50 しかなく、fx-9860GII で確認していませんが、fx-CG50 では、ファイル名にスペースがあるとリネームを行おうとしても「無効なフォルダ名またはファイル名です」とエラーになるので、ファイル名にスペースを許さない仕様のようです。

但し、スペースのあるファイルをPCから転送することは可能で、このファイル名のままで実行はできます (fx-CG50 の場合)。

fx-9860GII で、スペースのあるファイルをリネームできるかどうか、帰宅後確認します。

そんなことから、スペースを含まないのが安全なファイル名かも知れません。

Casio Basic のファイル名仕様は、fx-9860GII と fx-CG50 は同じなような気がしていますが、何か知見をお持ちでしょうか?>sentaro様

=====

取り敢えず、手元の fx-CG50 でカラー化してみました。
最後の Congratulation! のキラキラ画面は、ダイア (◇) の色をランダムのカラーにして、キラキラ感を増してみました。

fx-CG50 をお持ちで無いツル様には、作者であるにも係わらず、申し訳ありません。

https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/MasterMind_CG_V4.html


帰宅後、fx-9860GII でファイル名にスペースが入るとどうなるのか、fx-CG50 と同じかどうか、確認してみます。


Re: C.Basic の不具合?問い合わせ

ツル様

管理人のやすです。

※ 2017/10/13 21:16 に追記


> C.Basic の不具合か?と思われる点のお問い合わせは、どのカテになりますか?

読者の方から不具合情報を投稿頂くためのカテゴリは設けていません。

但し、過去に幾つかの不具合を見つけた時の記事は、"楽屋裏" というカテゴリに入れています。
今回ツル様が疑いをかけた問題について、"楽屋裏" の記事と同じものがあるかも知れません。

もし、楽屋裏で取り上げていない"新規"な不具合を発見された場合は、新規不具合投稿用のカテゴリを作っていないので、ココにコメント頂くか、あるいは楽屋裏で近い不具合の記事にコメント頂くのはどうでしょうか?

これまでのところ、不具合がそうそう見つかっていないので、新規投稿用のカテゴリを作っていないんです(^^;


余分なものをそぎ落として、不具合を顕著に示すプログラムを提示頂けると、うれしいです。

なお、新規な不具合らしいものは、是非とも "楽屋裏" で取り上げたいと思うのですが、よろしいでしょうか?

[2017/10/13 21:16 追記]
attention については、ご自由にどうぞ。
私の場合は、特に読んで欲しい方の名前を、複数であれば複数書くようにしています。コメントしないが読んでいてくださる方も意識する場合は、"皆様"という感じを追加することおあります。

特に規則など設けておりませんので、お気軽にご自由にどうぞ!



C.Basic の不具合?問い合わせ

管理人様  お世話になっております。

C.Basic の不具合か?と思われる点のお問い合わせは、どのカテになりますか? また、投稿の宛先はsentaro様連名にしますか?

MASTER MIND Ver4 デバッグ依頼

管理人様  こんばんは、ツルです。

恐れ入りますが、デバッグ をお願い致します。
トライ6になった時に、トライ5での▶を消す記載が抜けておりました。

Locate F,G,"▶"
C≧2 And C ≦6⇒Locate F,8-C,"│"

C=6⇒Locate3,2,"│"   ※↼この1行追記願います。

C≧7 ⇒Locate F,13-C,"│"
'=====(input)=====

ファイル

管理人様  お世話になっております。

丁度、同じタイミングで自力でドラッグ&ドロップでの移し方に気が付きました。

それにしても、ものすごく私の弱点を穴埋めしてくださる投稿です!
一字一句全て頭に叩き込むべき投稿です。
これは物凄く感謝です。

ありがとうございました。
ツル

Re: FA-124

ツル様

管理人のやすです。

FA-124の使い方というよりも、Casio Basic のプログラムファイルのファイル名の付け方の問題だとご理解頂く方が、全体が分かりやすくなると思います。

1. ファイル名は、電卓上で許される範囲で決定する。

2. PC上でファイル名を変えない。

この2点に尽きると思います。

今回は、電卓上で許されないファイル名にしてしまったことが原因と言えます。

なお、FA-124 は、左側は電卓内部の状態、右はパソコン上の状態を示します。
電卓からPCへファイルを移動するには、FA-124 の左側から右側へファイルを移動します。
PCから電卓へファイルを移動するには、FA-124 の右から左へファイルを移動します。

ファイルの移動は、
移動したファイル上で右クリックして現れるメニューを使うか、
ドラッグ&ドロップ
で行います。

ところで、純正Casio Basicのプログラムファイルは、電卓の Main Memory に保存されます。C.Basic のプログラムファイルは、電卓の Storage Memory に保存されます。

FA-124 では、Main Memory か Storage Memory を切り替えて使います。
このあたりの感じは、C.Basic のインストールを説明する以下の記事を参考になさってください。

http://egadget.blog.fc2.com/blog-entry-509.html


FA-124

管理人様  お世話になります ツルです。

また。申し訳ありません。
実はFA-124がとても苦手です。

お察しの通り、
>一旦 fx-9860GII で Ver4 を作ったプログラム g1m ファイルをPCに転送し、その後PC上でファイル名を変更して、それをお送り頂いたのではありませんか?

この通りの手順をやったと思います。
メール添付のために電卓からPCへExportする際、ファイル名がブランクになっていて保存できないので、電卓での名前を同じに打って、保存できるのでそれでよしよしと安心していました。手順が実はさっぱりわかりません。HELPです。

Re: MASTER MIND Ver4

ツル様

管理人のやすです。

Ver 4 をメールで頂きました。ありがとうございます。

一度、今回お送り頂いたファイル MASTM V4.g1m そのものを、FA-124 に Import してみてください。
私のところでは、Import できず、Application Error になります。

ここからは、私の推測ですが、一旦 fx-9860GII で Ver4 を作ったプログラム g1m ファイルをPCに転送し、その後PC上でファイル名を変更して、それをお送り頂いたのではありませんか?

もしそうなら、g1mファイルの1行目で管理しているファイル名と、実際のファイル名が異なり、それが Application Error の原因ではないかと思われます。

一度、ご検討頂けませんか?

MASTER MIND Ver4

管理人様  おはようございます。ツルです。

>Getkeyがあるところでキースキャンしますが、I=30⇒Break だけだとキースキャンしません。
I=30⇒Break でキースキャンさせるには、Getkey=I⇒Break とする必要があります。

お陰様で、このご教示により見事に解決致しました。
ようやく意味合いがピシッと頭に入りました。
今まではちょっとのキー長押しで済んでいたので、問題視しない癖がありました。
ありがとうございました。

Ver4にしてから初めて真剣に取組んで(遊んで)みました。
不具合は出なかったです。
目標はやはり、祝画面の表示なのですが、7ゲームで♢10個獲得して祝画面が出せました。(自分で作ったんですがね(笑))

やはりVer4作ってよかったです。

ツル

ver4 祝画面

管理人様

コードの一番初めに、 Goto 4 と追加して走らせるとすぐに見られますよ。

ツル

Re: MASTER MIND Ver4 fx-9860GII 純正CASIO Basic用 完成

ツル様

管理人のやすです。

Ver 4 で是非遊んでみたいと思いますので、是非送って頂けませんか?

楽しみです。

> キースキャンが鈍い時が残っています。C.Basicでなら大丈夫ですね。
> (GetKey→Iがあるので、I=31⇒Breakにしていますが、それが悪い?)


Getkeyがあるところでキースキャンしますが、I=30⇒Break だけだとキースキャンしません。
I=30⇒Break でキースキャンさせるには、Getkey=I⇒Break とする必要があります。

よろしければ、また私宛にソースを送って頂けるとうれしいです。

MASTER MIND Ver4 fx-9860GII 純正CASIO Basic用 完成

MASTER MIND Ver4

管理人様

お世話になっております。ツルです。
※2017-10-12(19:18) : ツル ←は、一部追加が発生したため、削除願えますか?下記が追加文を入れた差し替え投稿になります。恐れ入ります。

                 記

MASTER MINDは一段落し、改変、改造はもう皆様の自由ですが、私自身が満足する完成版に仕上げておきたいと願いを持っておりました。

MASTER MIND Ver3は、ゲーム実機に近い感覚で遊べるよう作りました。
しかし、ゲーム実機では予想ピンを差す位置は自分側から相手側(出題ピン側)へ近づいてゆくのが正規の進行方向です。その点ではVer3は逆方向です。

なぜ逆に作ったかは、Locate表示(Y値)とトライ数カウント値とが頭の中で思考しやすかった(作りやすかった)のと、左側情報表示と右側入力表示との表示バランスがいいだろうと思ったのが理由です。

その後、幾度も走らせてみると、この進行方向とprize方法についてはどうしても改良したい衝動に駆られました。進行方向変更により、ゲーム実機に近い感覚ではなくゲーム実機そのままに遊べるようになりました。また単に正解アニメを出したいだけでは達成動機としては弱く、実利はないが別なprizeの設定は必要だと考えました。(この点も以前からの課題でした)

たかだか電卓のゲームではありますが、作るからにはちゃんと作りたい。
そこで、気になっている点をこの際全部まとめてVer4として完成版にし、一段落ではなく、気持ちよく終わりにしたいと思いました。

正解アニメループからのEXE脱出は管理人様ご提案コードへ変えていますが、キースキャンが鈍い時が残っています。C.Basicでなら大丈夫ですね。
(GetKey→Iがあるので、I=31⇒Breakにしていますが、それが悪い?)
管理人様は別途、CG50版を仕上げられるかも知れません。
Ver4は公開必要なしと判断されてもそれは構いません。
私は自分用に自分が満足するように作りました。


変更点(兼 MASTER MIND Ver4 遊び方説明)

1ゲーム毎の.トライ方向は左下から右上へ。1ゲーム10トライまで。ゲーム数は無制限。
2.オープニング2面目のEXAMPLEをVer4に合わせ変更。
3.左側HB表示の下にヒット数ブロー数を表示。(白丸黒丸が00の際に数字で確認できる)
4.下段中央に終了用EXITを表示。(管理人様の正常終了方法を踏襲)1~9ansも変更。(入力部の表示の視認性向上のため)。P・も下段に追加。「・」キーにより左上に現在の獲得♢数が表示されます。
5.prizeとして、♢(ダイヤ)を使用。6トライ以内に自力正解で2個獲得。10トライ以内に自力正解で1個獲得。1ゲーム終了時毎に獲得♢累積数を表示。10個獲得で祝画面(追加の最終画面)の表示。
6.一度でも(-)で回答表示したゲーム回では左側Hの上の▶は▶のままで、prize獲得はなし。回答表示させていない場合(自力挑戦中)は▷表示になります。
7.fx-9860GII 純正CASIO Basic用  MASTER MIND Ver4 ( file name[MASTM V4] )をツルが作成完了。
アドインC.Basic版は別途。


で、必要でしょうか? たぶんですが、この先変更はないと思われます。
かなり完成度は高いと思います。管理人様の検収が楽しみです!
ツルはVer4になって、更に満足して遊べております。

ツル

Re: MASTER MIND Ver3  一段落

sentaro様、ツル様

管理人のやすです。


sentaro様

C.Basic版マスターマインドですが、記事では MSATMIN3 のみをダウンロードできるようにしています。というのも MASTMIN2 よりも完成度が高いという感じがしているからです。ZIP では1つ前の MASTMIN2 も同梱されています。C.Basic 使いこなしの観点だと、2つあると比較できて面白そうなので、ZIPも公開しようかどうか、考え中です。


ツル様

はい、一段落ですね!

他の人のアイディアやコードを拝見するのは、面白いしお互い勉強になるので、こんな感じのやりとりは楽しいです。
プログラムを投稿・公開してくださる方が少ないので、とても楽しめました。ありがとうございます。

何か思いついたら、またプログラムを提供して頂けると嬉しいです。


おっしゃるように、fx-CG50 の高精細度液晶は圧倒的にきれいです。そして、個人的にはデザインも気に入っています。あとは、fx-CG50用の C.Basic 登場を楽しみにいているところです。

fx-CG50 版マスターマインドでは、ブリンク速度調整用の変数Uの値を変えると、結果が変わると思います。ひょっとして C.Basic 版でのお話だったと思いますが、念のため...

MASTER MIND Ver3  一段落

管理人様、sentaro様 こんばんは。

MASTER MIND Ver3 も、キーリピートを防ぎ、EXE終了をクイックにし、移植関係も無事に見届け、この辺で私は一段落(いちだんらく)です。(ひとだんらくは誤り)
様々なご協力を戴き、すくすく育ちました。ありがとうございました。

ツル

MM ループ脱出

管理人様 こんばんは。

記事読みました。
ループからの素早いEXE脱出のために Getkey=31⇒Break を随所に入れて反応性を高めるのですね。これならどの機種にも使えますね。
<EXIT>のレイアウト、なんかかっこいいですね。
次第に進化しているのが実感できます。 シンゴジラか!
ツル

MM

管理人様 こんばんは。

えーと、CG50への移植の記事に書かれていますループからの素早いEXE脱出は、赤字と同じく9860にも加えるといいよ!ということですよね?
よく読んでいなくてごめんなさい。

150行目も修正しました。(^^;

ツル様、こんにちは!

150行目のTicksWaitも速めに固定されていたので
TicksWait U
に変更です。
http://pm.matrix.jp/CB/MASTMIN2.zip

これでUの値を設定すれば1/128s単位でスピード調整できます。(^^)

No title

sentaro様、 お世話になっております。

鬼のように早いコメント!

いやぁ、よく理解できました。
じゃぁ、おじさんはおじさん向けにゆっくりにします。(笑)ツル

Re:MM Ver3 C.Basic移植 blink

管理人様、ツル様、こんにちは!

>ちょっと色々あったようで、お疲れ様でした。  ■D\(^^ ) コーヒーでもどうぞ

あ、どもです! 頂きました。(^^)


>今回の移植によって、クロックに左右されないのは素晴らしいのですが、blink調整用の変数を変えても反映しないようなのですが、そういう仕様になるのですか?

あ、すみません。
C.Basicではコメント行の終わりが改行までなので、調整変数Uは80->Uの次の4行目で再指定しています。
TicksWaitとGetkey3でUの値を使っていたと思ってたのですが、
途中の83行目と86行目のTicksWaitの調整値が固定されていました。(^^;
ので、そこのところ修正して再アップしました。
http://pm.matrix.jp/CB/MASTMIN2.zip

TicksWaitは1/128単位で時間待ちするコマンドです。
Getkey3は1/128単位でキー入力があるまで時間待ちするコマンドになっています。

MM Ver3 C.Basic移植 blink

管理人様、sentaro様、 お世話になっております。

私も無事、MM Ver3移植版を入れることが出来ました。
ちょっと色々あったようで、お疲れ様でした。  ■D\(^^ ) コーヒーでもどうぞ


管理人様、MMの公開ページが増えたり変えたりしていません?
とてもいい感じで・・・
CG50でのMMは、白バックに黒文字でしたら9860GIIとの大きな違いはないのですね。 と言った私の発言は撤回です!
カラーテキストの部分もいいですし、何よりも9860との解像度の差が歴然としているんですね。こりゃあ欲しくなる訳だ。(笑)

CG50でのMMの実際の表示も見てみたいなぁ・・・なんて思っていたら上がっているし!動画まで! ありがとうございます、ご苦労様でした。



それで、率直に申し上げまして、コードの初めのほうに書いているように、blinkのタイミング調整が出来るようにしているんです。機器のクロックの差や、利用者の好みに簡単に対応出来るようにした訳です。

今回の移植によって、クロックに左右されないのは素晴らしいのですが、blink調整用の変数を変えても反映しないようなのですが、そういう仕様になるのですか? CG50の動画もそうなのですが、blinkが早いと思います。
ただ、CG50の動画ではblinkがくっきり分かるのは、本体の性能が良いからだろうと思います。ただ、9860では、オリジナルの設定より早いと、機器の性能+人の残像現象とで、blinkがぼける感じに見えると思います。だから敢えてゆっくり目が標準なんですが、移植版では、その調整変数を、標準80を5000にしてもゆっくりになる現象がわからないのです。追加コマンドの仕組みが分かっていないので申し訳ないのですが、標準blinkの倍くらいになったままかと思います。ぼけたblinkは直したいのですが、(記載の内容に無知による間違いがあればご容赦ください)。

Re:Re: ZIPで固めて再アップしました。

管理人様、ツル様、こんにちは!

>ホームページの仕様のせいで、おかしなことになったのですね。申し訳ありません。
>FC2のホームページは、色々と制約が多くて、ご迷惑をおかけしました。
>セキュリティーとの引き換えでの制約だと思うのですが、例えば今回のような制約が文書化されていないのが問題です。

これはファイルをアップしているサーバーのテキストファイルのダウンロード仕様みたいで、管理人様のこちらのホームページの仕様は関係ないと思われます。(^^;
ブラウザではテキストファイルはクリックするとダウンロードにならずそのまま内容が表示されるのでそこからコピペでエディタ等でテキストファイルに再保存すると問題ないみたいですが、勝手に改変されるのも困るので今後はテキストファイルはZIP化したいと思います。(^^;

C.Basic側で改行コードが0Aだけでも受け付けるようにしようと思ったら、0AはENGのPeta記号で使われているのであっけなく玉砕しました。(^^;


>以下にC.Basicへの移植記事をアップしました。
http://egadget.blog.fc2.com/blog-entry-612.html

移植というほどのものではないので恐縮な限りですけど、
早速にありがとうございます。(^^)


>正解した後、[EXE]キーの反応が、getkey2 だと遅いけど、Getkey3 だと即反応するので、こちらの方が良いですね。

はい、以前ガノー様に提案していただいたGetkey3でしたけど、なかなか便利に使えますね。

Re: MM Ver3 C.Basic移植!?

ツル様

管理人のやすです。


> 管理人様、CG50での表示についてご回答をありがとうございました。
> 白バックに黒文字でしたら9860GIIとの大きな違いはないのですね。


カラーグラフ電卓への移植記事をアップしました。
http://egadget.blog.fc2.com/blog-entry-614.html


> 違いがあるとすれば所有欲での満足感と、落としたり飲み物をこぼしたときに、9860GIIでは「あ・・・」で済むのが、CG50では「うおぉぉおっ!」となるくらいでしょうか。(笑)

それは言えるかも...
でも、実際にカラー化されたプログラムを走らせてみると「うおぉぉおっ!」となるので、実感頂くために、拘りのアニメが分かるように 動画も見られるようにしました。

カラー化してみると、アニメの秀逸さがより一層光りますね!

こんな感じで、読者の皆さんにも、どんどん改造して楽しんで貰えるといいな、と思っています。

楽しくて有用なプログラム、本当にありがとうございます。

ちなみに、「ノーヒットノーブローの喜び」を実感しています。私のお気に入りプログラムに入れています。

Re: ZIPで固めて再アップしました。

sentaro様、ツル様

管理人のやすです。

> ダウンロードしてチェックしたところ、テキストファイルの改行コードが0D+0Aのところが0Aのみになっていました。
> ダウンロード時に0Dコードが削除されてるようです。(^^;


ホームページの仕様のせいで、おかしなことになったのですね。申し訳ありません。
FC2のホームページは、色々と制約が多くて、ご迷惑をおかけしました。
セキュリティーとの引き換えでの制約だと思うのですが、例えば今回のような制約が文書化されていないのが問題です。


> ってことで、ZIPで固めて再アップしてみました。
> http://pm.matrix.jp/CB/MASTMIN2.zip


今回は無事に頂きました。

正解した後、[EXE]キーの反応が、getkey2 だと遅いけど、Getkey3 だと即反応するので、こちらの方が良いですね。

以下にC.Basicへの移植記事をアップしました。
http://egadget.blog.fc2.com/blog-entry-612.html

ZIPで固めて再アップしました。

管理人様、ツル様、こんにちは!

>この変換で、改行が ?? に変換され、失敗しているようです。

ダウンロードしてチェックしたところ、テキストファイルの改行コードが0D+0Aのところが0Aのみになっていました。
ダウンロード時に0Dコードが削除されてるようです。(^^;

ってことで、ZIPで固めて再アップしてみました。
http://pm.matrix.jp/CB/MASTMIN2.zip

MASTMIN3.txt
ですが、
当たった時のアニメーションでキースキャンが若干鈍くなる対策でGetkey3を使うように変更してみました。

Re: リンクミスしていました(^^;

sentaro様

管理人のやすです。

> C.Basicで動く版のMASTER MIND Ver3 リンクミスしてました。
> 大変失礼いたしました。(^^;
> http://pm.matrix.jp/CB/MASTMIN2.txt
> プログラム的な変更はウエイトの追加とキー入力コマンドの変更のみなので、ほんの小さな変更です。


Textファイルをダウンロードし、ストレージメモリに転送、C.Basic の ファイルリストで、[F6](▷) [F1](>g1m) を操作で g1mファイルへ変換します。

この変換で、改行が ?? に変換され、失敗しているようです。

ご確認頂けますか?

リンクミスしていました(^^;

管理人様、ツル様、こんにちは!

C.Basicで動く版のMASTER MIND Ver3 リンクミスしてました。
大変失礼いたしました。(^^;
http://pm.matrix.jp/CB/MASTMIN2.txt
プログラム的な変更はウエイトの追加とキー入力コマンドの変更のみなので、ほんの小さな変更です。


>9860GIIが0.7Wですが、その差はバックライトの有無なのだろうと思いますが、

バックライトで増える電流は7mA程度ので、わずか40mW、0.04Wくらいの消費電力アップなります。
0.7Wというのは100mA以上の消費電流になる計算ですけど、最大オーバークロックならともかくノーマルクロックでこの状態になることは無いので、それはフラッシュROMへの書き込み時の一瞬だけだと思われます。
fx-5800Pでも最大の0.12Wに近くなるときはフラッシュへの書き込み時だけなので、通常プログラム実行時では最大6mA程度、わずか0.008Wです。(^^)

MM Ver3 C.Basic移植!?

管理人様、sentaro様、 お世話になっております。

管理人様、CG50での表示についてご回答をありがとうございました。
白バックに黒文字でしたら9860GIIとの大きな違いはないのですね。
違いがあるとすれば所有欲での満足感と、落としたり飲み物をこぼしたときに、9860GIIでは「あ・・・」で済むのが、CG50では「うおぉぉおっ!」となるくらいでしょうか。(笑)

sentaro様、
>当たった時のアニメーションがとっても秀逸ですね。(^^)

ありがとうございます。自分でも気に入ってます。(笑)
ループでの消費電力のお話は興味深いですね。大きな違いが出るものなんですね。SHARPのポケコンが0.2W、9860GIIが0.7Wですが、その差はバックライトの有無なのだろうと思いますが、充電池使用なのでさほど気にはなりません。
>C.Basicでも同じように動くように移植・・・

とてもナイスなお話です。
ダウンロードが出来るようになったら早速入れてみます。
クロックに左右されないブリンクにもなるそうで、素晴らしいです。
しかし、マスターマインドを始めて30年以上ですが、私は病んでますね。

Re: CG50でのMASTER MIND

ツル様

管理人のやすです。

> Q1.このMM Ver3をCG50へ転送すると(カラー設定は何もしないと)、表示は白バックに黒字ですか?

はい、白バックに黒字です。


> Q2.表示テキスト色の変更にはコード書き換えが必要になりますか?

色を付けるには、色コマンドを追加する必要があります。
Locate コマンドの場合は、このコマンドの前に単に色コマンドを追記するだけです。
一方、Master Miindで多用されている " " 命令では、" " の中の特定の文字だけに色を付けられません。
なので、色を付けたい部分は、Locate コマンドを使って書き換え、それに色コマンドを付記する必要があります。


> Q3.9860GIIと同じく、グラフィック表示とテキスト表示との同時表示は出来ないのですか?

はい、基本仕様は変わらないので、グラフィックスとテキストの同時表示はできません。


Re: MASTER MIND Ver3 ナイスです!(^^)

sentaro様

さっそく C.Basic バージョンですね!

> 数値入力時のキー入力をGetkey2化したのと、ウエイトコントロールを動作クロックに左右されないTicksWaitコマンドを追加してみました。(^^)

これで、blink もクロック依存なくキレイに表現できますね。


> http://pm.matrix.jp/CB/MASTMIN2.txt
ところで、ダウンロードに失敗します。

MASTER MIND Ver3 ナイスです!(^^)

管理人様、ツル様、こんにちは!

ツル様のMASTER MIND Ver3、管理人様の特設エントリより頂きました。

これはなかなかに面白いです。つい時間を忘れてハマってしまいます。
だいたい10回以内、6,7,8回くらいで当たるんですが、当たった時のアニメーションがとっても秀逸ですね。(^^)
時間を気にせずにじっくり考えられるところがまさに脳トレです!

純正CasioBasicの思考系のゲームでひとつ気になるのがキー入力待ちのループでの消費電力(約20mA)ですが、これはC.BasicのGetkey2を使えば1/100に削減できます。

ということでC.Basicでも同じように動くように移植してみました。
移植というか、ほぼオリジナルそのまんまですが、
数値入力時のキー入力をGetkey2化したのと、ウエイトコントロールを動作クロックに左右されないTicksWaitコマンドを追加してみました。(^^)
http://pm.matrix.jp/CB/MASTMIN2.txt

CG50でのMASTER MIND

管理人様

こんばんは。本日最後の投稿です。
参考までに質問なのですが、

Q1.このMM Ver3をCG50へ転送すると(カラー設定は何もしないと)、表示は白バックに黒字ですか?

Q2.表示テキスト色の変更にはコード書き換えが必要になりますか?

Q3.9860GIIと同じく、グラフィック表示とテキスト表示との同時表示は出来ないのですか?

以上です。

Re: MASTER MIND Ver3公開で

ツル様

管理人のやすです。

> 公開の記事中、
> <色の違う8つのボール・・・ ”ボール”は”ピンへ変更願えませんか?”
> ボールのマスターマインドは見たことがなく、殆どのものがピンなので。
> <右上からスター路して、・・・ スタートして


ご指摘ありがとうございます。さっそく修正しました。


> (細かくてすみません。残るので・・・)

いえいえ、細かくチェックをお願いします。


> いやぁ、まさかつぶやき程度の言葉までほぼ全部乗せるとは・・・(笑)
> 構いません。キリッ
> 使用説明にもなりますからね。興味のある人には参考になりますよね。


はい、本当につぶやきみたいのは削除したつもりです。

なお、デバッグ不完全...の部分ですが、私が遊んだ限りでは不具合が無かったもので...私の責任で削除しました。



> しかし、ふと思いました。その予測Progが出来てどんなメリットがあるのかと。
> 決して私に必要な脳のリハビリにならないではないか! と。
> という訳で作るのを途中でやめました。


仕事ではないので、緩~く楽しめば良いかと...


> 私はこのマスターマインドVer3では平均7トライで正解に至っているかと思います。例のブリンカーのお陰で、まぐれでも3回とか5回トライ目でブリンカーすると楽しいです。

10回以内に正解になる場合は、5回目までに最低でも4Blow になり、7回までに正解...というパターンが多いです。


> この度はお忙しい中、ありがとうございました。
> 何かございましたらいつでもどうぞ。


読者の方によるプログラム投稿、私はとても嬉しいんです。それも十分楽しめる完成度のプログラムなので、多少の手間を手間と思わず記事を書いてしまいました。記事投稿のご承諾ありがとうございます。


> ツルは今、トラフィックジャム(交通渋滞)のシミュレーションを性格の違う運転手(対応の機敏な人、鈍い人・・・)による状況変化を楽しみたく製作開始しております。

結局プログラミングがお好きなんですよね。

MASTER MIND Ver3公開で

管理人様 お世話になっております。

公開の記事中、
<色の違う8つのボール・・・ ”ボール”は”ピンへ変更願えませんか?”
ボールのマスターマインドは見たことがなく、殆どのものがピンなので。
<右上からスター路して、・・・ スタートして
(細かくてすみません。残るので・・・)

以上です。

いやぁ、まさかつぶやき程度の言葉までほぼ全部乗せるとは・・・(笑)
構いません。キリッ
使用説明にもなりますからね。興味のある人には参考になりますよね。

実は、過去にsolverというかguessというか、マスターマインドを製作しながら、サブルーチンとして回答予測Progを作りかけておりました。
前にも書きましたが、フランス料理は焦げとの闘い。機械は摩擦との闘い。
マスターマインドは確率との闘いです。
予想される回答を自分の入力数字から予測させるProgです。
完成すれば、平均5トライ目で正解が出るようです。
しかし、ふと思いました。その予測Progが出来てどんなメリットがあるのかと。
決して私に必要な脳のリハビリにならないではないか! と。
という訳で作るのを途中でやめました。

私はこのマスターマインドVer3では平均7トライで正解に至っているかと思います。例のブリンカーのお陰で、まぐれでも3回とか5回トライ目でブリンカーすると楽しいです。

この度はお忙しい中、ありがとうございました。
何かございましたらいつでもどうぞ。
ツルは今、トラフィックジャム(交通渋滞)のシミュレーションを性格の違う運転手(対応の機敏な人、鈍い人・・・)による状況変化を楽しみたく製作開始しております。単なる自己満足 テヘッ

ツル

Re: MASTER MIND ノーヒットノーブローの喜び

ツル様

管理人のやすです。

作者のコメントを追記しました。

http://egadget.blog.fc2.com/blog-entry-613.html

何かご意見、ご要望があれば、お聞かせください(この記事へのコメントが良いと思います)。

よろしくお願い致します。

MASTER MIND ノーヒットノーブローの喜び

管理人様 こんにちは。

早速の公開をありがとうございました。(ご苦労様でした)
先ずは、キーリピート抑制 ありがとうございます。
私の入力時はキーリピートはあまりないもので、弊害をさほど感じていなかったのですが、必要な機能ですね。While Getkey WhileEnd の挿入で解決することを確認しました。

確かHIT & BLOWの記事中だったかな?履歴が出るなら8桁でも楽しめるというようなコメントを読んだときには驚きで目が点になりました(笑)。
私は4桁でも難しいのに・・・という驚きです。

作者のコメント

MASTER MIND自体はかなり以前から楽しんでいたゲームですが、もっといつでもどこでも楽しめるようにしたい。それをプログラム電卓で願望を叶えてくれたのがfx-9860GII です。丁度良い大きさの画面とバックライトに、プログラムの作りやすさがありました。
ゲーム実機では、判定をするためにもう一人必要ですが、これなら一人で楽しめます。予想数値を入力したらノーヒットノーブローでがっかり・・・ いえいえノーヒットノーブローということはその数値は使われていないという最大のヒントなのです。
それを私は「ノーヒットノーブローの喜び」と呼んでいます(笑)


使用している変数の説明
A:表示用答え
B:ブローの数
C:ゲーム毎のトライ数
E:入力値エラー
F:表示位置のX値
G:表示位置のY値
H:ヒットの数
J:判定の値
KLMN:自動生成する答えの各桁
P:ポイント
Q:降参時の回答表示
R:判定計算用
S:For Nextでの時間作り用
U:ブリンク表示調整
WXYZ:入力する値の各桁


(管理人様、以上でよろしいでしょうか。?)
                ツル

Re: Re: MASTER MIND Ver3 を再送信

ツル様

管理人のやすです。

取り敢えず、マスターマインドを紹介する記事を公開しました。
http://egadget.blog.fc2.com/blog-entry-613.html


作者のコメントを頂けるとうれしいので、先ずはこんな感じの記事だとみて頂くために、取り敢えず公開しました。

よろしくお願い致します。

Re: MASTER MIND Ver3 を再送信

ツル様

管理人のやすです。

[2017/10/08 11:55 一番下に追記あり]



Master Mind Ver3 を頂きました。

ゲームとして良く出来ていて、面白くまとめられていると思います。

というのも、しばらく夢中で遊びました。
10回のトライで解けるかどうか自信がなくなりそうな時、多分10回くらい遊んだところで、やっとこさ7トライで正解できました。
結構難しいですね!

ありがとうございます。


なお、私が普段使わない記法が散見され、勉強になります。

例えば、

1)
'input Timing→V
(normal1=5):5→V

という記法は私には新鮮です。

これは2行に表示されていますが、実は1行のコードで折り返し表示されているだけです。
コメントアウト ' は改行や: (区切り文字)で無効になることがうまく利用されています。
この1行の中で、実行されるコードは 5→V です。

2)
また、0→A~Z という記法も私はあまり使わないので、忘れていました。Casio Basicコマンドリファレンスの → (代入) の記事に、この記法を追加しようと思います。ありがとうございます。

3)
条件ジャンプ ⇒ が多用されていますが、おかげで可読性の高いコードになっています。

4)
適切なコメントがあるので、コードが理解しやすいです。


プログラム記法には色々なスタイルがあって良いし、趣味のプログラミングは作って、動いて、楽しめるのが最重要ですから、こんなに楽しめるプログラムは、是非記事で取り上げたいと思いますが、よろしいでしょうか?


さて、1点だけ、どうしても手を入れたいと思うところがありました。
オリジナルだと、キーリピートされて1桁づつ入力しずらい点がありました。

fx-9860GII のノーマルクロック (29MHz) で作成され、これで使うことが前提だとおしゃっています。ただ、4桁の数字を入力する時、キーをチョット長めに押すと次の桁に同じキーが入力されてしまいます。
fx-9860GII を Ftune2 でチューニングして処理速度が速くなると、1桁だけを入力するのが困難になります。
さらに、MASTMIND.g1m をそのまま直接 fx-CG50 に転送すると自動的に g3m に変換され、スグに使えますが、同じようにキーリピートのために1桁の入力が困難です。

キーリピート抑制は必須だと思いました。

そこで、1例として2行だけ追加するのが良いと思います。

'======(input)======
のところで、少し下へゆくと

Do:Getkey→I
 :
 :
 :
For 1→S To V:Next
LpWhile I=0:Next
 :
 :

とありますが、LpWhile I=0 と Next の間に
While Getkey
WhileEnd を挿入してみました。

Do:Getkey→I
 :
 :
 :
For 1→S To V:Next
LpWhile I=0
While Getkey
WhilEnd
Next
 :
 :

これで、キーリピートの問題が解消します。

ゲーム進行上必須ではないかと思うので、この修正を施したものを下記からダウンロードできるようにしましたので、ご確認頂けますか?

ゲームとして十分に楽しめるので、これ以外は好みの問題だと思います。

ツル様作 Master Mind (fx-9860GII用)
http://egadget2.web.fc2.com/archives/fx-9860GII/MasterMind.html


[2017/10/08 11:55 追記]
> コードご紹介などで使用変数の説明などはご要望によりご説明申し上げます。
> 私のような初心者への参考になるでしょうから。


是非説明をお願い致します。記事に使わせて頂きたいと思います。
プログラムに込めた思いとか、こだわったところなども、記事をご覧の方の参考になると思います。

よろしくお願い致します。

MASTER MIND Ver3 を再送信

MASTER MIND Ver3 を再送信
管理人様

お世話になっております。Prog送信ではご面倒をお掛け致しました。
再送致しましたが、今度は大丈夫だと思います。

※(この投稿はロックしております。公開等の際に抜き出してご利用ください。
  先ずは管理人様にお伝えしたかった内容の投稿です。ツルの頭の中のご紹介です。(笑))
--------------------------------

1.当MASTER MINDは、ゲーム実機に近い感覚で遊べるよう考えております。
fx-9860GII電卓の処理速度は早いので、入力に対する判定は一瞬なのですが、敢えて人が相手をしているかのように、わざと判定に時間をかけています。
(とは言え、実際レベルだともっさりしてくるので早め)

2.管理人様のProg作りへのポリシーにもありましたが、次に押すべきキーが表示されるような配慮もしております。

3.プロ電での自作なので、実機にはないブリンク表示もさせて、達成欲をくすぐる配慮もしました。(実はこの点がオリジナルかな?)

4.モグラ叩きでも賞金稼ぎへ変更したように、賞金制にしてみました。
(-)で回答を見てからの入力では賞金は無しです。
(まだ、賞金のロジックが検討の余地ありです・・・ あ、終了画面下のPが賞金残高です)

終了時は、回答を見たかどうかが画面表示で分かるようになっています。
(正解画面ではしゃぐ子供の横で、画面を見て突っ込む親がいるシチュエーションを浮かべながら作りました(笑))
回答を見てからでは、終了時は左側の▶が▶のままですが、見ないで自力正解の場合は▷になります。入力各段の4桁目で(-)を押すと回答が見られますが、3桁目入力待ち時点で消えるようにしています。

回答を見ないで進めるか人間性を問われます(笑)

5.完全にデバッグは終えていないので、不具合が多少ある(意図しないキー入力を受け付けてしまう)など残っておりますが、先ずは実用性はあると思います。

6.入力ミスの場合、4桁内に同じキー入力があると元に戻ります。
(結構便利です)


今回のはVer3ですが、製作当初は?入力にして配列変数を使っていましたが、希望の位置に入力=表示になるよう変えていったら、配列変数なしでやれました。

自作ながら、正解して白黒ピンのブリンカーを見ると嬉しいです。
自分としてはマスターマインドはやっぱり4桁が丁度良いです。
所有の実機では8色から4色を選ぶルールなのですが、1~9とやや難しくしました。

海外製の複数のMASTER MIND Progと比べても遊びやすい筈です。
某フランス製のでは、判定ピンが入力ピンと位置が連動していて簡単過ぎでした。

世間では、6色から4色を選ぶルールだけれど、問題に重複ありやブランクありなどのローカルルールもあるようで、このVer3を改変して様々楽しんでみたいです。

以上、厳しいご評価と改良のご提案などをお願いいたします。
コードご紹介などで使用変数の説明などはご要望によりご説明申し上げます。
私のような初心者への参考になるでしょうから。
管理人様がブログに書いていらっしゃる、「プログラム電卓は、プログラムを使ってナンボ!」という文言が大好きです。(笑)

最後に、制作にあたっては、管理人様のHIT & BLOWのコードを大いに参考にさせて頂きました。御礼申し上げます。
著作権は完全放棄です。
(ツル)

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re: Re: マスターマインド

ツル様

管理人のやすです。

マスターマインドを頂きました。

そちらの手元で問題なく動作するものと、どうやら違うものを送って頂いたようです。

キー入力 (input) のところの Do ループで、LpWhile " " というコードがあって、ここでエラーになり、ゲームがスタートできません。



次に、ファイル名に問題があるようです。
パソコン上でファイル名を変更しただけで、電卓上でリネームしていない痕跡があり、ファイル名の矛盾が起きています。

電卓上はファイル名の冒頭にドット . が付いています。一方パソコン上の g1m ファイルは、冒頭のドットが削除されています。


以上、気がついた点です。

Re: マスターマインド

ツル様

管理人のやすです。


> お届けは無事に済んだでしょうか?
> >ホームページの一番下に Mail ・・・
> が見つけられなかったので記事中のアドレスにお送りしましたが・・・


まだ届いておりません。

http://egadget2.web.fc2.com/archives/Src_files/MyClock.html
のページを一番下までスクロールすると一番下に

Copyright © 2013 Krtyski / e-Gadget.

とあります。

その1行上に

Mail Twitter Facebook

とある筈です。この Mail をクリックしてみてください。いつもお使いのメーラーが起動すると思いますので、そこからメールを再度お送り頂けますか?

マスターマインド

管理人様 こんばんは。

お届けは無事に済んだでしょうか?
>ホームページの一番下に Mail ・・・
が見つけられなかったので記事中のアドレスにお送りしましたが・・・

Re: コメント並びを逆にしてみました+雑談

ツル様

管理人のやすです。


> 投稿欄が近くなってとても楽になりました。
> なーに、遠くの古い記事はスクロールバーでやれるので。


変えてみると、私自身便利になりました\(^_^)


> ところで、脱線部分のお話は読んでいてわくわくします。
> フランス料理が焦げとの闘いであるように、機械は摩擦との闘いですからね。
> 車の回転部摺動部の摩擦が燃費に大きく影響することを知っています。
> 潤滑剤は燃料以上に大切だと思います。


大学を卒業した時、一番興味があったのが潤滑だったんです、実は...
でも入社した時に与えられた研究テーマは、幸か不幸か新素材の開発で、過去に誰も手がけていない全く新しいテーマでした。相談できる先輩も居らず大変でしたが、一方で全部自分の考えたとおりに進められるのが楽しかったのを思い出します。

興味があるので、勝手に勉強したり許される範囲で勝手に実験てました(アングラテーマは一定の制限の元で推奨されてた)。突然降ってわいた緊急テーマ(クレーム対応の材料分析)にアングラ研究が役立ったので、ご褒美に正規なテーマにして貰えたことがあります。継続は力なりですね。

e-Gadgetも、Casio Basicメインのワンテーマブログで、始めた時はスグにネタ切れになると思っていましたが、色々な方に応援して頂いた結果継続できて、気がついたら結構な情報量が溜まってきました。



> 自分が身長1ミリ位になって見回す妄想はよくあります。その大きさで基板上を歩き回ったら電子部品の並びが街の景観に見えるだろうか? LSIのボンディングが近くで見られるわくわく感で興奮します(病んでます)。

同じことをお考えですね、ご同輩!
もうチョット小さくなれば、BGAチップの裏側のハンダを見て歩けますよ。


> 管理人様お薦めはアマループなのは知っていますが、レビューを読むと不具合の話もちらほらあり、

これは知りませんでした、今度じっくりレビューを読んでみます。


> あ、以前に、私が作ったマスターマインドの件がありましたが、普段何も情報提供ができないのに情報を頂いてばかりで恐縮いたしております。
> 是非ご笑納願いたいのですが、どうすればよろしいですか?
> 9860GIIノーマルクロックでちゃんと動きます。3308byteです。


大枠で、以下の2つの方法を提案します;
1. g1m ファイルを手に入れ、個人的に楽しむ
2.私が g1m ファイルを入手し、それを公開する
3. ツル様が g1m ファイルのダウンロードが可能なようにして、そのURLを公開する

※ なお、他の方の作品もあるので、"お友達プログラムライブラリ"みたいなエントリーを作ってそこで紹介することにご同意いただければうれしいです。

さて項目1 のためには、例えば私宛のメールに g1mファイルを添付して送っていただく方法があります。メールアドレスは、e-Gadgetの新しいホームページの一番下に Mail というのがあるので、これをクリックするとメールを送れます。これが一番楽かも知れません。

例えば以下のページ;
http://egadget2.web.fc2.com/archives/Src_files/MyClock.html

或いは、DropBoxなどを使う方法もあります。


項目2 のためには、シンプルなホームページを作ってそこからダウンロードできるようにすれば良いと思いますが、もし初めてホームページを作るような場合は、チョット時間がかかるでしょう。もしご興味があれば作って見られると良いかも知れません。

一例として、e-Gadget の古いホームページがあります。プログラムファイルをダウンロードするためだけに作った超手抜きのページです。
http://egadget2.web.fc2.com/old_top.html


如何でしょう?何かあれば、お聞かせください。

コメント並びを逆にしてみました+雑談

コメント並びを逆にしてみました+雑談
管理人様

お世話になっております。
投稿欄が近くなってとても楽になりました。
なーに、遠くの古い記事はスクロールバーでやれるので。

ところで、脱線部分のお話は読んでいてわくわくします。
フランス料理が焦げとの闘いであるように、機械は摩擦との闘いですからね。
車の回転部摺動部の摩擦が燃費に大きく影響することを知っています。
潤滑剤は燃料以上に大切だと思います。
.
>電子のサイズまで自分が小さくなって、周りを見合わす...といったバーチャルでミクロな世界の幻想・・・

私はここまで病んで(笑)はいませんが、自分が身長1ミリ位になって見回す妄想はよくあります。その大きさで基板上を歩き回ったら電子部品の並びが街の景観に見えるだろうか? LSIのボンディングが近くで見られるわくわく感で興奮します(病んでます)。

今コメント欄はCG50で盛り上がっていますが、私は購入予定はありません。
グラ電はプログラム作成だけが目的なので、9860GIIで満足しています。

更に横道に逸れますが、また充電式エボルタを買い足しました。
管理人様お薦めはアマループなのは知っていますが、レビューを読むと不具合の話もちらほらあり、私は黙って高くてもエボルタです。

あ、以前に、私が作ったマスターマインドの件がありましたが、普段何も情報提供ができないのに情報を頂いてばかりで恐縮いたしております。
是非ご笑納願いたいのですが、どうすればよろしいですか?
9860GIIノーマルクロックでちゃんと動きます。3308byteです。

Re^2: コメント並びを逆にしてみました

sentaro様
ツル様

管理人のやすです。

先ずは発案者のツル様のご希望に応えられたので良かったです。

記事の本文とも近くなったことも、利点かも知れません。

コメントしなくても後から読む方はいらっしゃるので、その場合は下から読む必要があります。そこで、常にトップに表示する e-Gadget Portal に、コメントの並びが逆になったことをお知らせとしてアナウンスしました。


ここからは、かなり脱線します (通じるかどうかは極めてアヤシイですが)...

> 楽するために人類は進歩してきた

将にそうですね。私は機能材料の研究者だったことがあり、世の中にない新機能材料で、できなかったことを "楽に" 実現したり、今実現しているものをより "楽に" (低コストで確実に)実現するための材料開発を仕事にしていたことがあります。

研究者としては、世の中に無い材料を新しく作るほうがワクワクしますが、関係者の喜ぶ顔を見るのも大きなモチベーションになったものです。

私から見れば、例えばエンジンオイルや潤滑油は芸術なんです。機械が動く時、小さな分子達がお互いに手を繋ぎ、皆で協力してシャフトを支えています。高温であったり低温であったり、高速回転している時も力を発揮します。分子を自在に操る醍醐味を感じます!

当時は、いつも分子や原子、たまには電子のサイズまで自分が小さくなって、周りを見合わす...といったバーチャルでミクロな世界の幻想 (量子力学的世界観による思考実験ともいいます) を見ていました。そして、分子を自在に操る方法を考えていました。

....これを話すと、家内からは変人と言われました(^^;

コメント並びを逆にしてみました

管理人様 こんにちは。

これですこれです!
スクロール量を減らしたいための要望でした。
楽したいだけなのですが、楽するために人類は進歩してきたので、これも一つの進歩かと思いますが、投稿しない人には利点はないかな?

ありがとうございました!

Re:コメント並びを逆にしてみました

管理人様、こんにちは!

コメント欄の新しい順、新鮮ですね。
最新コメントから返信する場合はスクロール移動距離がゼロになって便利になりそうです。
ありがとうございます。(^^)

コメント並びを逆にしてみました

ツル様、皆様

管理人のやすです。

以前ツル様から、コメント登録欄を一番下に持って来れないか?というご要望を頂きました。

その時は「簡単にできない」と回答しましたが、コメント欄は動かせないが、コメントを古い順に並べるのではなく、新しい順に並べることが出来ました。これで、最新コメントのスグ上にコメント登録欄がきます。

発想の転換ですが、これでご要望に近づいたと思いますが、如何でしょうか?>ツル様

Re: C.Basic for CG

管理人様、こんにちは!

>fx-CG50 国内発売は10月20日なので時間がありませんが、確実に進めて頂ければと思います。

CG50の国内発売が予想よりも早かったので、10月20日にも間に合わない可能性が大ですが、なんとか早期にα版をアップできればと思っています。(^^;


>勝手に C.Basic for CG と名前を付けてしまいましたが、どんな感じで進められるのでしょうか?

ネーミング、なかなかよいですね。(^^)
C.Basic for CGは初版から現状のfx版と同等機能というのは無理なので、機能限定版でスタートして徐々にバージョンアップしていくという形になりそうです。

C.Basic for CG

sentaro様

管理人のやすです。

> あ゛、んと、これは、’コメント文の中でコマンドの区切り文字としてのコロンの意味でした。(^^;
> 純正仕様ではコメントとして解釈されるのは区切り文字までという仕様ですよね。


そうでしたね。これについては OS 2.09 でマニュアルのバグの扱いで、マニュアルが訂正されたのでした。
そして、謎仕様のままです。


> fx-CG50はソフト的にはCG20と変わらないので、CG20版のC.BasicがCG50でそのまま動くようになります。
> その上で、CG50は使えるメモリが増えてC.Basicに追い風状況なので、おそらくバージョンアップするたびにCG50版がメインになっていきそうです。
>
> fx版のC.Basicは遅くとも日本版のCG50の発売に間に合えばと思っていたところでしたけど、予定が大幅に遅れてしまってすみません。(^^;


fx-CG50 国内発売は10月20日なので時間がありませんが、確実に進めて頂ければと思います。

勝手に C.Basic for CG と名前を付けてしまいましたが、どんな感じで進められるのでしょうか?

Re:Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(7ライン目の文字列表示修正版)

管理人様、こんにちは!

>fx-5800P はアメリカではあまり普及していない感じがしています。学校であまり使われていないのがその理由ではないかと想像しています。グラフ機能があって、しっかりした作りのグラフ関数電卓は教材に向いていて、落としたらスグ壊れる fx-5800P は教材になりにくいのでしょうね。

確かに教材用としては3年保証はとても付けられないくらいのちょっと強度不足なところはありますね。
価格的にも欧米ではfx-9750GIIがfx-5800Pよりも安価ということもありますし、このあたりは教育市場の違いは大きいですね。


>ところで、":" が区切りになるという経験はまだ有りません。
>問題が出るケースを覚えておられますか?

あ゛、んと、これは、’コメント文の中でコマンドの区切り文字としてのコロンの意味でした。(^^;
純正仕様ではコメントとして解釈されるのは区切り文字までという仕様ですよね。


>ところで、fx-CG50 向けの C.Basic の実現可能性は如何でしょうか?

fx-CG50はソフト的にはCG20と変わらないので、CG20版のC.BasicがCG50でそのまま動くようになります。
その上で、CG50は使えるメモリが増えてC.Basicに追い風状況なので、おそらくバージョンアップするたびにCG50版がメインになっていきそうです。

fx版のC.Basicは遅くとも日本版のCG50の発売に間に合えばと思っていたところでしたけど、予定が大幅に遅れてしまってすみません。(^^;

Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(7ライン目の文字列表示修正版)

sentaro様

管理人のやすです。

> CasioBasicにはコメントが”:”で区切りになってしまう等、何でそうなるの?っていう謎仕様がたまに出てきますが、文字列表示や入力コマンドはfx-5800P仕様が理にかなっていますよね。

fx-5800P はアメリカではあまり普及していない感じがしています。学校であまり使われていないのがその理由ではないかと想像しています。グラフ機能があって、しっかりした作りのグラフ関数電卓は教材に向いていて、落としたらスグ壊れる fx-5800P は教材になりにくいのでしょうね。

ところで、":" が区切りになるという経験はまだ有りません。
そこで、以下のようなプログラムを走らせてみました。

":"
":"
":"
"A"

すると、出力は以下のようになりました。






問題が出るケースを覚えておられますか?



> C.Basicは仕様を独自に決められるのが強みなので今後もいいとこ取りで進化できたらと思います。(^^)

はい、よろしくお願い致します。



ところで、fx-CG50 向けの C.Basic の実現可能性は如何でしょうか?


Re:Re: アドイン版 C.Basic ver.1.63ベータ版(7ライン目の文字列表示修正版)

管理人様、こんにちは!

>私の手元にある他のプログラムも含めて、旧来の出力命令 "" の動作が期待通りに動作することを確認しました。

無事互換動作できてよかったです。(^^)


>これについては、旧来の命令 ""、?、?-> の動作が当初のように fx-5800P 互換であることも確認できました。
>非互換と言われるのは、fx-9860GII 非互換で、fx-5800P 互換ということで、当初そうであったように、今もこれが良いと私は個人的に思います。
>fx-5800P 互換が良いという私の主張は、以下の記事にまとめており、それを今でもご支持頂きうれしいです。
http://egadget.blog.fc2.com/blog-entry-170.html

CasioBasicにはコメントが”:”で区切りになってしまう等、何でそうなるの?っていう謎仕様がたまに出てきますが、文字列表示や入力コマンドはfx-5800P仕様が理にかなっていますよね。
C.Basicは仕様を独自に決められるのが強みなので今後もいいとこ取りで進化できたらと思います。(^^)

Re: アドイン版 C.Basic ver.1.63ベータ版(7ライン目の文字列表示修正版)

sentaro様

管理人のやすです。

> で、なんとか、管理人様のテストプログラムはとりあえず互換動作するようになりました。

私の手元にある他のプログラムも含めて、旧来の出力命令 "" の動作が期待通りに動作することを確認しました。

お疲れ様です。


> 非互換原因は7行目に表示された場合にスクロールする行数の差異が非互換となっておりました。
> 現状相違点としてはCBasicでの文字列表示コマンドは文字列表示部分のみで右側を空白で埋めないのでそこは相違点となっております。

これについては、旧来の命令 ""、?、?-> の動作が当初のように fx-5800P 互換であることも確認できました。
非互換と言われるのは、fx-9860GII 非互換で、fx-5800P 互換ということで、当初そうであったように、今もこれが良いと私は個人的に思います。

fx-5800P 互換が良いという私の主張は、以下の記事にまとめており、それを今でもご支持頂きうれしいです。
http://egadget.blog.fc2.com/blog-entry-170.html

但し、◢ 命令については - DISP - 表示されます (fx-9860GII 互換)が、 - DISP - 表示は fx-5800P には無いものなので、fx-9860GII 互換にするのが、ある意味落としどころだと思っています。



アドイン版 C.Basic ver.1.63ベータ版(7ライン目の文字列表示修正版)

管理人様、こんにちは!

>はい、Please take your time. です。

ありがとうございます。
従来から潜んでいた非互換部分があぶり出された格好で、純正仕様の互換を取るのも簡単ではないということが改めて実感しました。
で、なんとか、管理人様のテストプログラムはとりあえず互換動作するようになりました。
非互換原因は7行目に表示された場合にスクロールする行数の差異が非互換となっておりました。
現状相違点としてはCBasicでの文字列表示コマンドは文字列表示部分のみで右側を空白で埋めないのでそこは相違点となっております。

http://pm.matrix.jp/CB/CBASIC163beta.zip
差し替え版となっております。


>ここからは余談ですが、これまでにブログで公開するもの以外にも色々とプログラムを作ってきていますが、それらを全て3桁区切り表示に改造してみています。
必要に応じて、3桁区切りサブルーチンを、より使いやすい汎用サブルーチンに改造できないか?などと考えています。

純正コマンドのみだと自由度が限られるのですが、汎用サブルーチンとして完成してしまえば、使いまわしできるので便利ですね。(^^)

今回の修正版でもまだ非互換部分が残っている可能性はあるので、厳しいテストお願いします。(^^;

Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(最後がサブプログラムで終わる場合の非互換性修正版)

sentaro様

管理人のやすです。

> 不具合を確認しました。
> これもサクッと修正できるかと思いきや、””表示や7行目での表示処理の不具合が複数見つかったので修正にはあとちょっと時間かかるかもなので、少しお待ち下さい。

はい、Please take your time. です。


> このあたりはC.Basicだけ使っているとなかなか発見しにくいバグですね。
> 毎度ながらありがとうございます!(^^)

C.Basicのバグ取りを目指すのではなく、単に作りたいプログラムを作ろうとするのが良かったのかも知れません。


ここからは余談ですが、これまでにブログで公開するもの以外にも色々とプログラムを作ってきていますが、それらを全て3桁区切り表示に改造してみています。
必要に応じて、3桁区切りサブルーチンを、より使いやすい汎用サブルーチンに改造できないか?などと考えています。

サブルーチン "3DGT" は今のままでも結構使いでがありますので、先ずは色々なプログラムで使ってみて様子をみているところです。

なので、最初は純正Casio Basicを触っていました。C.Basic には EngOn3 というコマンドがあって3桁区切りにできるので特にサブルーチン不要なんですが、旧来の命令を使う場合は表示位置の自由度が欲しい時にはサブルーチンの方が便利だったりします。

Re:Re: アドイン版 C.Basic ver.1.63ベータ版(最後がサブプログラムで終わる場合の非互換性修正版)

管理人様、こんにちは!

>例えば、以下のように、プログラムCでプログラムA (前回のプログラムAの末尾に 7->Y を追加)とB(新たに追加) を呼び出すようにすると、プログラムBの2行目にある
>"G"?->G
>の表示行が本来の行より1つ上の行に表示されてしまいます。その後に続く表示もおかしなことになります。

不具合を確認しました。
これもサクッと修正できるかと思いきや、””表示や7行目での表示処理の不具合が複数見つかったので修正にはあとちょっと時間かかるかもなので、少しお待ち下さい。

このあたりはC.Basicだけ使っているとなかなか発見しにくいバグですね。
毎度ながらありがとうございます!(^^)

Re: アドイン版 C.Basic ver.1.63ベータ版(最後がサブプログラムで終わる場合の非互換性修正版)

sentaro様

管理人のやすです。

ご対応ありがとうございます。
上のサンプルプログラムでの不具合は解消しましたが、まだ問題が残っている感じです。

例えば、以下のように、プログラムCでプログラムA (前回のプログラムAの末尾に 7->Y を追加)とB(新たに追加) を呼び出すようにすると、プログラムBの2行目にある
"G"?->G
の表示行が本来の行より1つ上の行に表示されてしまいます。その後に続く表示もおかしなことになります。

純正Casio Basicでは良きした通りに動作します。


== プログラムC ==
Prog "B"
Prog "C"


== プログラムA (末尾に1行追加)==
EngOff
25400->F
125->E
"Q"?->Q
"I"?->I
"S"?->S
FQE+I+S->C
"C=":C->Z
""
2->X:7->Y:Prog "3DGT"
7->Y


== プログラムB ==
EngOff
"G"?->G
C÷(1-(G÷100))->P
"P=":P->Z
""
2->X:`rog "3DGT"
P÷Q->U
"U=":U->Z
""
2->X:Prog "3DGT"
P÷Q->U
"U=":U->Z
""
2->X:Y<7=>Y+2->Y
Prog "3DGT"
P-C->B
"B=":B->Z
""
2->X:7->Y
Prog "3DGT"


== プログラム名 3DGT (3桁区切り) ==
Z=0=>Return
Int log Z+1->K
(K≥4)+(K≥7)+(K≥10)->I
If X+K+I>22:Then
Locate X,Y,Z:Return
IfEnd

E3xFrac (Z÷E3)->U
Int (E3xFrac (Z÷E6)->V
Int (E3xFrac (Z÷E9)->W
Int (Z÷E9)->D

If K≤8:Then
Locate X,Y,E8xW+E4xV+U
I≥1=>Locate X+K-2-(I=1),Y,","
I≥2->Locate X+K-6,Y,","
Else
X+K-6+(I≥3)->J
Locate J,Y,E7+E4xV+U
Locate X,Y,E4xD+W
Locate J+4,Y,","
Locate J,4,","
I≥3=>Locate X+K-9,Y,","
IfEnd


3桁区切り表示のルーチンを、従来の命令だけで使いこなす試みをしていて、今回の現象が見つかりました。

もう少し調べてみて頂けませんか?

アドイン版 C.Basic ver.1.63ベータ版(最後がサブプログラムで終わる場合の非互換性修正版)

管理人様、こんにちは!

>C.Basic で何か問題を内在している可能性をチョット調査頂けませんか?

不具合が再現できましたのでサクッと修正いたしました。

原因としてはサブプログラムから戻った場合に表示処理フラグが初期化されていたために、Locateで表示された3桁数字が"Done"表示で消えてしまってたという不具合です。
ってことで、そこのところを修正しました。

この不具合はかなり前のバージョンから存在していたのに今まで全然気が付かなかったというわけで、やはり管理人様のバグ出しチェックはさすがですね。
ありがとうございます!(^^)

アドイン版 C.Basic ver.1.63ベータ版(最後がサブプログラムで終わる場合の非互換性修正版)
http://pm.matrix.jp/CB/CBASIC163beta.zip
差し替え版となっております。

Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

sentaro様

管理人のやすです。

純正とC.Basic で異なった動作をする事例があり、チョット悩んでいます。

旧来の命令と以前sentaro様から提案頂いた3桁区切りのサブルーチンを使った事例です。

== プログラム名 A ==
EngOff
25400->F
125->E
"Q"?->Q
"I"?->I
"S"?->S
FQE+I+S->C
"C=":C->Z
""
2->X:7->Y:Prog "3DGT"


== プログラム名 3DGT (3桁区切り) ==
Z=0=>Return
Int log Z+1->K
(K≥4)+(K≥7)+(K≥10)->I
If X+K+I>22:Then
Locate X,Y,Z:Return
IfEnd

E3xFrac (Z÷E3)->U
Int (E3xFrac (Z÷E6)->V
Int (E3xFrac (Z÷E9)->W
Int (Z÷E9)->D

If K≤8:Then
Locate X,Y,E8xW+E4xV+U
I≥1=>Locate X+K-2-(I=1),Y,","
I≥2->Locate X+K-6,Y,","
Else
X+K-6+(I≥3)->J
Locate J,Y,E7+E4xV+U
Locate X,Y,E4xD+W
Locate J+4,Y,","
Locate J,4,","
I≥3=>Locate X+K-9,Y,","
IfEnd


純正では意図通りに動作するのですが、C.Basic だとProg "3DGT" が正常動作しません。

そこで、プログラム A を以下のように変更してみます。

== プログラム B ==
EngOff
25400->F
125->E
"Q?"
"1":1->Q
"I?"
"25000":25000->I
"S?"
"2000":2000->S
FQE+I+S->C
"C=":C->Z
""
2->X:7->Y:Prog "3DGT"

これは、入力命令を無くして表示命令のみにしてみたものです。純正で正常動作しC.Basic では Prog "3DGT" が動作しません。

次に、以下のように変数への代入はそのままにして、出力命令 "" を2つ ("1": と "25000":) 削除してみる (プログラム C) と Prog "3DGT" が正常動作します。


== プログラム C ==
EngOff
25400->F
125->E
"Q"
1->Q
"I"
25000->I
"S"
"2000":2000->S
FQE+I+S->C
"C=":C->Z
""
2->X:7->Y:Prog "3DGT"


つまり、Prog "3DGT" が正常動作するかどうかが、出力命令 "" の影響を受けていることまでは分かりました。
表示命令で表示される行数の影響かも知れません。

C.Basic で何か問題を内在している可能性をチョット調査頂けませんか?

Re: 素因数分解の英語表記

ツル様

管理人のやすです。


同じ事柄に対して、頭の使い方は本当に人それぞれですよね。

私の場合は、勉強は人から教わるのではなくて、自分1人で勉強するタイプです。学校のように黙って座って授業を受けるのは煩わしてく苦手です。人に教えを請う場合は、自分が本当に知りたいことを教えて貰うのにたどり着くまで我慢強く待つことがとても苦手です。なので、何を勉強したら良いのかを教えて貰って、あとは自分で勉強することが多いです。


ところで、私も社内や社外でセミナーの講師をさせてもらうことが結構あります。おしゃるように1を教えるには10や100を仕込んでいます。人に教えることは、とても勉強になります。e-Gadgetでも、多くのネタを結構仕込んでから、その一部を記事にすることが多いです。そしてアウトプットすることにより頭に定着するので、とても良い勉強になります。


> 細かいことでお手数をお掛け致します。

いえいえ、これも良い勉強になります。素因数分解については、英語ネイティブで数学が分かっている人にいずれ確認してみようと思います。

素因数分解の英語表記

管理人様 こんばんは。

細かいことでお手数をお掛け致します。
昔、商品名のDXをディーエックスと読むかデラックスと読むか上司に聞いたら、
どっちでもええやんか!と怒鳴られたことがありました。
私にしてみれば新製品説明会でお客様に聞かれた場合に備えての確認の為であったのですが、「教うるは学ぶの半ば」という諺は私は違う表現をしていて、
「教うるは学ぶの二倍」のほうがしっくりきています。長年、技術研修の講師をしている経験から、他人に何かを教える際はその何倍も学んでおく必要があることを実感しております。そこには正しい用語と分かりやすい説明が不可欠です。
そのような信条からでた疑問でした。
単なる文字数の制約ではなかったのですね(笑)
良く理解できました。ありがとうございました。  (ツル)

素因数分解

ツル様

管理のやすです。


fx-5800P の SHIFT + 矢印キーの件は、原因不明ですが致命的でないから、様子見という感じですね。


ところで、素因数分解の英語表記ですが、どちらが正解なのかよく分かりません。

Prime Decomposition という表記は、以前量子暗号通信の勉強をしていた時、何か英文の記事だったか論文だったかで使われていたのを覚えていて、それを使いました。(現在の暗号通信技術は、素因数分解に時間がかかることに立脚していることはご存じかも知れません、それに対して量子暗号通信は素因数に立脚しないのです)

Factoring は因数分解(文系の人には「債権買取」が馴染みがあります。手形決済かファクタリングといった感じで使われますね)で、Prime Factoring は素因数分解 なので、おっしゃるようにこれで良いと思います。

改めて調べてみると、Prime Factoring の方がよく使われている感じです。Prime Decomposition には「3元多様体の素な分解」 という訳語があるようで、私にはよく分からない数学の分野の用語として使われるようです。

なので、Prime Factoring の方が一般的な感じがします。

但し、必ずしも間違っていないようなので、過去の記事を修正するのが結構大変だから、敢えてそのままにしておくことにします。



Re:fx-5800P での SHIFT移動不具合  Prog比較

管理人様、ツル様、こんにちは!

ツル様、早速に比較していただきましてありがとうございます!
L=5⇒1→LとL=1⇒5→Lのミスしていたことに気がついてなかったので(^^;助かりました。

で、ツル様の変更点を取り込んでみたところ、やっぱりSHIFT移動不具合は発生しないので、これは結構深い発生条件がありそうですね。
本体のROMバージョンは管理人様の診断ページのキー操作で、8番目は管理人様の個体と同じくINROM-A27でした。
さらにROMTESTの後で出るバージョンは
SUM:FB86
VERSION:0002
と出ます。
これはうちにある2台の5800Pが同じでした。

5800PのROMバージョンはそんなに種類は多くないと思われますので、ROMのバージョンで不具合が出たり出なかったりでも無いような感じがしています。

不具合の出るプログラムの中から途中のコマンドをひとつずつ削除してみて正常にSHIFT移動するようになるかどうか確かめるくらいしか思いつかないですが、フリーズまでにはならない不具合なのであまり深く追求することも無いかもしれませんね。(^^)


>ただし、現実では9860GIIのほうがメインになってきており、どうしようか迷っています。

ハード的にはかなりシンプルなので一つあって困るものではないですが、5800Pの後継機種が出てくるとしたらもうそろそろな感じもしますし、
5800Pが一台だけだとPCリンクはとても有用ですが、複数台あればとりあえずなんとかなるので、悩みどころですね。

fx-5800P での SHIFT移動不具合  Prog比較

管理人様 sentaro様

おはようございます。お世話になっております。
さて、2017-09-09(21:43)sentaro様よりご提示の書き直したProgと当方の問題のProgとを比較してみました。

書き直し部の文字列前後でのスペース数が少し違いますが、そこは問題ではないでしょう。
Locate 2,L,Z[K]の後ろに◢(出力命令の黒三角)を打っています。計算結果を一つ一つゆっくり見るために追加しました。
同様に、Locate M+1,L,Z[K+1]にも◢追加してます。
他には、L=5⇒1-L が L=5⇒1→L になっていました。
また、 L=1⇒5-L が L=1⇒5→L になっていました。
(この部分の→は私が?正解?)
0→DimZ
L=1⇒5→L
の次の行に、入力値確認の意味からLocate 9,1,A としております。

以上です。


ところで、5800PのPCリンクの件、記事を見てきました!
いいですねー
作りたくなりました。
ただし、現実では9860GIIのほうがメインになってきており、どうしようか迷っています。
速さの違いもありますが、バックライトの存在が重宝でして。   (ツル)

Re:Re:Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

管理人様、ツル様、こんにちは!

前回のファイルリストの特殊文字表示の修正で、フォルダにサイズが表示されたり、お気に入りとの区切り線が途中で切れていた不具合を修正しました。
例によって1.63差し替え修正となっております。(^^;
http://pm.matrix.jp/CB/CBASIC163beta.zip


fx-5800PのPCリンクは制作してからかれこれ3ヶ月位になりますが、プログラムをPCに保存出来ているという安心感から本体をまっさらにリセットしても大丈夫なので、何度かリセットをしています。(^^;
SHIFT移動不具合はリセットする前には何度か起きたことがあるような気がするのですが、今現在5800P内にあるプログラムでは今のところSHIFT移動不具合の起きるプログラムが一つもないのでなかなか検証出来ないところなんですが、ツル様が提示してくださったPRIME DECOMPをPRIME FACTORIZATIONに書き直したプログラムでも途中で止まる現象が出ない感じなので、1バイトの違いなく全く同じプログラムで試せるPCリンクが貴重になってきますね。

fx5800Pに転送したPRIME DECOMPをPRIME FACTORIZATIONに書き直したプログラム
http://pm.matrix.jp/CB/PRIME_DECOMP_CcEditor.png

ツル様のSHIFT移動不具合が起きたプログラムとどこか違っているところあるでしょうか?

fx-5800P での SHIFT移動不具合

管理人様 sentaro様

こんばんは。

ちょっと、停止に関して追加情報です。
下から4行目で止まるPrgは、上側から↓キーで下から5行目へカーソルを移動し、そこからSHIFT+↓をすると、1行だけ降りた、下から4行目の先頭で止まりました。止まると同じ症状で、方向キーのみでは無効。SHIFT+↑脱出は有効。
でした。 (ツル)

fx-5800P での SHIFT移動不具合

管理人様 sentaro様

こんばんは。
ご考察に感謝いたします。

さて、少しだけ時間を取り調べてみました。

1.必ずSHIFT+↓で途中で止まるPrgが二つありました。
 それらは同操作では何度やっても必ず止まりました。
 Prgは全57行もので、下(END行)から4行目の先頭で止まります。
 止まると方向キーは上下左右に無効になり、SHIFT+↑が効きます。

 そのPrgではLbl+Gotoの対での使用は1回のみです。(先頭行と最終行のみ)

2.止まってしまう二つ目のPrgは、管理人様作成の素因数分解Prgです。
 PRIME DECOMPという記述を、PRIME FACTORIZATIONへ書き直しただけのもので、他は変更はなかったと思います。
 そのPrgも同じく下から4行目の先頭で止まります。

3.他にも多くのPrgがあり、その全てを調べてはいないのですが、先ずは上の二つが判明いたしました。

(ちょっと横にそれますが、どうしてPRIME DECOMPとしているのか不思議です。素数分解になりますよね?CanonもCASIOの電卓でも、素因数分解のキーにはPFactやFACTと刻印されており、PRIME FACTORIZATIONのほうが、閲覧に来られる学生には親切かな?と感じておりました。NAME長さで?)

話は戻り、そのPRIME DECOMPの場合もLbl+Gotoの対での使用は1回のみです。多用していて発生しているのではないと思います。
ただ、その止まってしまうPrgの場合、SHIFT+↓を操作直後に、LCD右上に表示される黒四角■の表示時間が少し長いかな?とは感じます。と言っても1秒未満ですが。   (ツル)

fx-5800P での SHIFT移動不具合

sentaro様、ツル様

管理のやすです。

> 5800PのSHIFT移動不具合ですが、プログラムが長くなるにつれて最後に移動するのにちょっと時間がかかりますよね。
> これはC.Basicで行番号表示している場合の移動時間と似た感じがあるかもとちょっと感じています。
> C.Basicの行番号はプロポーショナルフォントを考慮した改行で行番号を計算していっているので、リストが長くなると待てないくらい時間がかかることがある問題が残っています。(^^;
> 5800Pの移動はこれと似た感じで、最終行にジャンプするのではなくプログラム先頭から最終行までラベルサーチしているような動作ですよね。


内部動作でラベルサーチをしているという仮説ですが、その可能性が高いように思います。

というのも、私が自分で作るプログラムは、極力 Goto / Lbl を使わないようにしています。使ってもせいぜい3つくらいのものです。そして、私自身は SHIFT移動で問題を全く経験していません。

この2つを考え合わせると、Goto を多用しているプログラムだと SHIFT移動で問題が発生しやすくなる..或いは Goto と Lbl が一対一で対応していない時この問題が発生しやすくなる、といった推論が出てきます。

ツル様がこの不具合を経験された時のプログラムが、私が当ブログで紹介しているプログラムならば、この推論の可能性が低くて、別の原因を考えなければと思いますが、如何でしょうか>ツル様


5800PのPCリンク

管理人様 sentaro様

なんですってっ!! 

もう5800Pは容量がなくなるので、ICレコーダーに繋げてみようかと考えていた無知で無駄で無謀なツルでした。
あの5800P同士を繋ぐ3Pケーブルは自作なので、分岐ケーブルでも作って差してみたいなあ・・・ひひひ、と悦に入っていた自分が愚かでした。   (ツル)

Re:Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

管理人様、ツル様、こんにちは!

2バイト系の特殊文字をファイル名に使った場合にリスト表示が崩れるのを修正してみました。
純正では崩れてないので一応、ってことで再度1.63差し替え版しております。(^^;
あと、カナ文字ではシステムエラーが起きるので、カナ文字は自動的に”~”に変更するようにしました。。


5800PのSHIFT移動不具合ですが、プログラムが長くなるにつれて最後に移動するのにちょっと時間がかかりますよね。
これはC.Basicで行番号表示している場合の移動時間と似た感じがあるかもとちょっと感じています。
C.Basicの行番号はプロポーショナルフォントを考慮した改行で行番号を計算していっているので、リストが長くなると待てないくらい時間がかかることがある問題が残っています。(^^;
5800Pの移動はこれと似た感じで、最終行にジャンプするのではなくプログラム先頭から最終行までラベルサーチしているような動作ですよね。
この過程のどこかで引っかかって止まってしまうのが、ツル様の状況になっているのと想像しますが、SHIFT+↑キーが使えるのでハングアップしているわけではないのでとりあえずはなんとかなりそうですね。


ところで、takumako様が開発されている5800PのPCリンク「CcLinker]ですがPC側のエディタ「CcEditor」がどんどんバージョンアップされていますね。(^^)

5800P SHIFT移動不具合

管理人様 こんばんは。

お世話になってます。
過日、5800PでのSHIFTによる移動で不具合が時々出ると申し上げ、リセットデータ転送ト(=メモリ最適化?)をご案内頂き、やってみましたが、やはり時々症状が出ます。リセットALLを実施。裏面のPボタンは押していません。

PrgのTopまたは途中からBtmに飛ぶ際に出るのが100%です。Btmまであと少しというところで移動が止まり、カーソルが無反応になります。
(方向キーによるスクロールが出来なくなります)

その症状が出たら、SHIFT+↑キーでTopへ飛んで脱出しています。
このTopへの脱出は100%効くのです。
Topに着いたら、↓キーを延々と押し続けると無事にBtmに辿り着けます。
(このSHIFT+上下キーの操作は取説に出ているそうですね?)

私は見た記憶が無いために、たまたま動いているだけで、不安定な動作となる操作なのかな?と思っていました。

それほど困ってもいないのですが、ご参考まで。  (ツル)

Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

sentaro様、ツル様

管理人のやすです。

1) C.Basic のファイル名は、シングルバイト英数字で 8.3 形式が仕様。

2) 特殊文字(一部のシングルバイト文字とダブルバイト文字)を使う場合は仕様外になる。

3) 仕様外でも C.basic のプログラムリストでの表示には対応している。

4) FA-124を使ったPCリンクするとき、プログラム名に仕特殊文字を使うと問題になる可能性があるから、気をつけてください...

ということで、ハッキリ、スッキリしました。

ありがとうございます。

特殊文字があると表示されない不具合

管理人様 sentaro様 こんばんは。

>特殊文字をファイル名に使った場合、本体上では使えてもFA124で転送出来ない等の不便さがありますので、パスワードとは違ったファイルのプロテクトとかに使えそうですが・・・

さすが、柔軟な発想ですね。

>特殊文字は使わないというのが一応の仕様という形になりますね。

了解です。

バグの分析ができてよかったですね。  (ツル)

Re:Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

管理人様、ツル様、こんにちは!

ファイル名は1バイト文字のみ想定だったので、2バイト文字を使った場合にどうなるかの検証が出来てませんでした。
特殊文字バグ修正の過程でフォルダがソートされていなかったバグも見つかりまして、そこのあたりのバグ出しも出来たのでよかったです。
ありがとうございます。(^^)


>ところが、4文字までしか入力できなくても、一旦ファイルを保存してから、リネームする時はファイル名に4文字を追加して最大8文字まで入力できます。

新規ファイルネームは8文字=8バイトと文字数を限定しているので、特殊文字の1文字=2バイト文字が入るとその分、文字数が減ります。
リネームやコピー等ではフォルダ名が入力可能なので文字数を18文字までに拡大しています。
それで特殊文字ファイルネームに追加で入力出来るわけですが、OSの仕様上ファイル名は8.3形式なので、特殊文字と通常文字合わせて8バイト分がファイル名となります。

特殊文字をファイル名に使った場合、本体上では使えてもFA124で転送出来ない等の不便さがありますので、パスワードとは違ったファイルのプロテクトとかに使えそうですが、現行のC.BasicではMS-DOS準拠のファイル名で動くように作成されているので、特殊文字を使った場合は正常動作しない文字(カナ文字等)もあるのですべての文字において動作が保証出来ないということで、特殊文字は使わないというのが一応の仕様という形になりますね。(^^)

Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

sentaro様

管理人のやすです。


> 特殊文字を全面的に使えないようにすることもできますが、とりあえず表示や修正が出来るように修正版です。

色々なキャラクターで色々試してみたのですが、ある傾向が見つかりました。

新規にファイルを作成するときの最初にファイル名を入力するとき、
・特定のキャラクターの場合、4文字以上入力できません。
・これ以外のキャラクターは、、8文字入力できます。

特定のキャクターとして、Multi-byte large font が挙げられます。
SDK添付の fx-9860G Charactrt Set.pdf に含まれないキャラクタも上の"特定のキャラクター"に含まれるようです。

ところが、4文字までしか入力できなくても、一旦ファイルを保存してから、リネームする時はファイル名に4文字を追加して最大8文字まで入力できます。

このことから、入力時の文字数カウントでキャクタのバイト数と文字数の不一致など、何か想定外の動作をしている可能性が考えられるので、ちょこっとレポートです。

既知の問題でなければ、ヒントにしてください。

アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

管理人様、ツル様、C.Basicユーザーの皆様、

ツル様により発見していただいた特殊文字バグを修正しました。

アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)
http://pm.matrix.jp/CB/CBASIC163beta.zip

特殊文字を全面的に使えないようにすることもできますが、とりあえず表示や修正が出来るように修正版です。

1.63差し替え版となります。(^^;

もしファイルリストの表示がおかしくなった場合は、C.Basicの設定初期化=メインメモリの<@CBASIC>フォルダの削除をお試しください。

掲示板の利用方法

ツル様

管理人のやすです。


> さて、作りたいPrgが山のようにあって、毎日エラーとの戦いです。遊びなんですがね(笑)
> 今考えているのが、カルマン渦と音の発生についてのPrgです。


自由なテーマで自由に書き込めるのが掲示板なので、チョットしたプログラムを投稿するという使い道がありそうです。

如何でしょうか?

場合によっては盛り上がるかも知れません。というのも、以前他の方のブログで円酒率を100桁とか200桁とか多桁で計算する HPのプロ電用のプログラムが投稿されました。それをsentaro様や私などが悪乗りして Casio Basic に移植したり、Nintendo 3DS のプチコン3というBasicに移植したり、ロジックを改良したりして、高速化とどこまで多桁計算できるかなどと、盛り上がったことがあります。これはとても楽めました。

私の Casio Basic を sentaro様がアドインに移植してくれて、高速化を楽しんだりもしました。

こんな感じで遊んでも良いようなネタのプログラムを投稿なされば、ひょっとして遊べそうな感じがして、新たな掲示板の用途になるかも知れない...というわけです。

あまり他人に弄られたくない時は、気が引けそうですけど....

Re: One Moment Please 

ツル様

管理人のやすです。

お役に立ててうれしいです。

> F2での一瞬表示は
> 上のタイトルに記載の言葉が確認できました。 5MHzで(笑)


Ftune2 を低速化に使うのも有効ですよね。


雑談モードON!

> 何を隠そうエネループに非対応だからEVOLTAにしているだけの話ですが、
> PanasonicのCSに相談した際、BQ-391はとても性能のいい充電器で、EVOLTAにバッチリ対応ですとのコメントをもらい、もう捨てられないものとなりました。


なるほど、そういうことだったのですね。長持ちするのは良い製品の証しですから、末永くお使いください。
私も気に入ったものをとことん使うタチなので、いざ壊れて新しいものを購入する時は技術の進歩を感じて、それも嬉しくなります。


> 3.ペンには拘りがあって、uniのジェットストリームしか使いません。
>  かばんは大事ですね。パーキンソンの法則に、隙間は埋められるというのがありますが全くその通りで、大きい鞄を持つと伴って荷物も増えますので、管理人様の信念に感心しているところです。


ジェットストリームは根強いファンがいらっしゃるのは聞いています。
私の愛用品は、同じく uni ですが、uni ball VISION ELITE という水性ボールペンの黒と、PILOT の FRIXION BALL の青でいずれも0.5mmの太めのものです。VISION ELITE はチョットマイナーかも知れません。


> 4.5800PでのSHIFTを用いた移動不具合はメモリの断片化ですか。
> 可能性高いですね。一度、試してみます。ありがとうございます。


色々考えてコレくらいしか無さそう...といった確証の無い話ですが、一度お試し頂ければ確認できると思います。


> さて、作りたいPrgが山のようにあって、毎日エラーとの戦いです。遊びなんですがね(笑)
> 今考えているのが、カルマン渦と音の発生についてのPrgです。


流体力学はサッパリです。こういうのがパッパと計算できると楽しそうですね。


> この間、台所でコーヒーを飲みながら、サランラップが厚み0.011mmで50m製品の場合、約470巻きされているのを計算で出しました(笑)
> NETで調べたら本当に0.011mmだったので軽い感動(笑)


極座標を利用した積分を離散的な総和としてプログラムを作ると面白そうだと感じるのは私の趣味ですが、演繹的に計算式を作ってからプログラムで計算する方法もあります。どんな感じでプログラムにされるのでしょうか?

チョット興味からの素朴な質問ですので、軽く受け流してください。

プログラム名(ファイル名)に数字は問題なく使えます。あと純正Casio Basicでは チルダ (~) や シングルクォーテーション (') が使えます。


FILE名キャラクター禁止了解

sentaro様 こんばんは。
フォローでさすが開発者のピンポイント回答。心強いです。
管理人さんが迅速に手を伸べてくださったので早期に解決して喜んでおります。
キャラクターが画面に出ると、使っていいものと解釈してしまいました。
今後は使いません。File名には数字もだめですか?
どうしてもFile名によるソートはやっておきたくて。


(あ、管理人さん見てますか? 投稿入力枠の件、了解しました。仕様なんですね。しようがないですね。)   (ツル)

One Moment Please 

管理人様 こんばんは。

お世話になっております。
この度はご支援ご教示を、ありがとうございました!
F2での一瞬表示は
上のタイトルに記載の言葉が確認できました。 5MHzで(笑)
これをもって、白四角問題は無事に全面解決を迎えました。
お近くでしたら一杯やりたいところです(笑)

さて、途中でもありましたのでちょっと横道に。

1.私が高級な充電器を使っているというのは冗談です。
PanasonicのBQ-391でして、管理人さんのよりずっと旧式です。
個別診断やインジケーターの付いた初めの頃の製品です。
壊れないからずっと使い続けています。
何を隠そうエネループに非対応だからEVOLTAにしているだけの話ですが、
PanasonicのCSに相談した際、BQ-391はとても性能のいい充電器で、EVOLTAにバッチリ対応ですとのコメントをもらい、もう捨てられないものとなりました。

2.充電池は多く使っています。ハンディクリーナーは交換頻度も高く。
一眼レフカメラのストロボ、LEDライトやLEDランタンの他は各種ガジェット。

3.ペンには拘りがあって、uniのジェットストリームしか使いません。
 かばんは大事ですね。パーキンソンの法則に、隙間は埋められるというのがありますが全くその通りで、大きい鞄を持つと伴って荷物も増えますので、管理人様の信念に感心しているところです。

4.5800PでのSHIFTを用いた移動不具合はメモリの断片化ですか。
可能性高いですね。一度、試してみます。ありがとうございます。

さて、作りたいPrgが山のようにあって、毎日エラーとの戦いです。遊びなんですがね(笑)
今考えているのが、カルマン渦と音の発生についてのPrgです。
この間、台所でコーヒーを飲みながら、サランラップが厚み0.011mmで50m製品の場合、約470巻きされているのを計算で出しました(笑)
NETで調べたら本当に0.011mmだったので軽い感動(笑)

ではでは、開発ご苦労さまです。
この度はありがとうございました  (ツル)

Re:C.Basic renameバグ?

ツル様、こんにちは!

ファイル名がバー表示になるのはファイルとして認識できなかった場合に表示されるので、Renameで文字に□を使ったことにより認識できなくなっています。
□があっても純正のファイルマネージャでは表示できているのでこれはC.Basicでのバグになりますね。
ってことで、サクッと修正…はできなかったので(^^;ちょこっとお待ち下さい。m(_ _)m


管理人様、素早いサポートありがとうございます!(^^)

Re: Re: C.Basic renameバグ?

ツル様

管理人のやすです。

取り敢えず復帰して良かったです。

> で、全てのPrgは元に戻ったのですが、一点だけ気になることがあります。
> MAIN MENUでMEMORYを選択し、Memory Managerの画面からF1のMein Memory選択時はいいのですが、F2のStrage Memoryを選択するF2キーを押した直後、画面中央に一瞬だけ何かが表示されています。
> 一瞬なので読み取れませんが、何かのメッセージのようで、読めないので気になっています。確か・・・白四角問題の頃からそうなったような気がします。


これは、必ず表示されるプログレッシブバーだと思います。Ftune2 でノーマルクロックにするか、クロックダウンしてみるとはっきり見えるようになります。もし万一何らかのメッセージならば、クロックダウンすれば確認できると思います。異常ではないと思います。



> コメント投稿の入力枠を一番下に持ってこれませんか?(御免なさい!)

これは現在使用しているテンプレートの仕様でして、簡単に変更ができないんです。
htmlレベルで、ゴリゴリ書き直せば変更できるかも知れませんが、他に影響が出そうなのでやりたくありません。

つい先日、ブログ表示に異常が出て、htmlレベルで修正したばかりでして、当面は触りたくないんです。

...ということで、申し訳ありませんが現状でご辛抱ください。


Re: C.Basic renameバグ?

管理人様 こんにちは。

お世話になっております。
ご教示ありがとうございました。

えーと・・・早速、やってみました。
FA-124でMemory内を表示しましたが、白四角を先頭文字に打ち込んだfile名が表示されませんでした。もしかしたら、補充として再アドインの際に上書きしたのかな?ちょっと、作業経過の記憶が定かではなく覚えていないのですが、どう探しても見つからないので、一旦全てをPC側にCOPYし、9860GIIは本機のリセット機能でALLリセットしました。
その後、白四角に注意してPC側から本機に全て戻しました。

で、全てのPrgは元に戻ったのですが、一点だけ気になることがあります。
MAIN MENUでMEMORYを選択し、Memory Managerの画面からF1のMein Memory選択時はいいのですが、F2のStrage Memoryを選択するF2キーを押した直後、画面中央に一瞬だけ何かが表示されています。

一瞬なので読み取れませんが、何かのメッセージのようで、読めないので気になっています。確か・・・白四角問題の頃からそうなったような気がします。
どこか一部に悪影響をもたらしたのだとすれば、今後の使用の中で予想外の不具合として残るとしたらとても不安です。
一方、実はあの操作(F2)ではそうなるのがデフォですよ? 心配ありませんだったら安心です。

今のところ全Prgは問題なく動いているようですが、その一瞬表示について一言お願いできますか?何かダイアログボックス大とその中にグレー色の横に細長いボックスが一緒に表示されているような気がします。
よろしくお願いいたします。  (ツル)

コメント投稿の入力枠を一番下に持ってこれませんか?(御免なさい!)

ファイルの整理方法

ツル様

管理人のやすです。

今回のツル様のそもそもの目的は、ファイルを整理することだと思います。
当面は、以下でご検討なさると良いと思います。

1.ファイル名は基本アルファベットのみというのが安全です。

2.C.Basic にあるお気に入り機能をお試しください。

3.フォルダを作ってそこにファイルを入れられるのでフォルダをうまく使う方法もあります。
  (フォルダ内の特定ファイルもお気に入りに指定可能です)

C.Basicといえどもファイル管理は OS に大きく依存するので、ファイル名にはあまり自由度はなさそうです。

Re: C.Basic renameバグ?

ツル様

管理人のやすです。

当面の処置ですが、FA-124 を使ってPCと接続し、Memory Managerで見えている該当 g1m ファイルをPC側にコピーし、そこでアルファベットのみのファイル名に変更し、その上でファイル内を確認してみて、コードが正しく表示されていてば、ファイルそのものは無事に取り戻せたことになります。

ファイルを取り戻せたら、電卓の Memory Manager で該当 g1mファイルを削除できますか?無事削除できれば問題解決だと思います。あとはPCでアルファベットだけにリネームしたファイルを電卓に転送すれば元通りです。

なお、電卓の Memory Manager で削除できない場合は、sentaro様に相談が必要です。私なら、現在残っている全てのファイルを一旦PCにバックアップし、Storageメモリをリセットしてクリア。問題のファイルはアルファベットのみにし、その後PCにバックアップしたファイルを電卓へ転送します。

ファイル名はアルファベットと一部の記号しか使えなかったと思います。白四角は使えなかったという記憶があります。

なので、C.Basic側でのエラーチェックをどうするかについて sentaro様と相談、ということになりそうですね。

改めてお尋ねしますが、現在お使いの C.Basicのバージョンは何でしょうか?
最新版は、Ver 1.63 beta です。


Re: C.Basic renameバグ?

管理人様 こんにちは。

ツルのC.Basicは Ver 1.63 beta  です。

よろしくお願いいたします。

C.Basic renameバグ?

管理人様 こんにちは。

コメント欄に記載の□は機種依存文字だと思います。 すみません。
白四角□です。 9860GII、C.Basicの画面に表示されるF2(REN)で出てくるF5(CHAR)の中の□です。  
                  (ツル)

Re: C.Basic renameバグ?

ツル様

管理人のやすです。

1つか2つ前のバージョンでRenameに異常があったのを思い出しました。
Ver 1.63 beta では解消していると思いますが、今お使いのバージョンはどれでしょうか?

Re: C.Basic renameバグ?

ツル様

管理人のやすです。

頂いたご質問の中で、


> 8.Characterが使えることが分かり、□を先頭の文字にして入力

この部分ですが、先頭の文字は空白?それとも四角の記号? 或いは別の文字?

プログラム名に使える文字は制限があるので、それ以外を入力した可能性はありますか?

制限外の文字なり記号を入力したとき、エラーになって受け付けないようになっている筈ですが、そのあたりのエラーチェックにバグがある可能性もありそうです。

それともコメントを書かれる際に機種依存文字をお使いになっただけでしょうか?

C.Basic renameバグ?

管理人様 こんにちは。

昨夜、9860GIIにてC.Basicの描画の速さを数種のPrgでテストし、これからだんだんPrg増えていくことを考え、Rename(REN)を初めて実行してみました。

コメント欄でもやり取りされていますように、FILEキーがないことでの対策?の一つである、nameによるソートを狙ったのです。
<実施した手順>
1.C.Basic起動
2.FILELIST画面
3.対象fileを反転
4.F6(▷)
5.F2(REN)
6.Rename File Name?と聞かれ
7.[ ]内に
8.Characterが使えることが分かり、□を先頭の文字にして入力
9.すると、画面2行目に  ーーーーーーーーー↑  が表示
 入力したRenameは表示なし
10. 9.でのーー・・・が反転のままEDIT
11.  Can’t find file
   (-1)            と表示
12.同様にDEL
13.  Can’t delete file
   (-1)            と表示
14.仕方なくMENUで脱出
15.MAIN MENUでMEMORY EXE
16.F2:Storage Memory
17.すると、先頭行に□から始まる名前のfileがg1mとなって表示


という事情です。私にとっての問題は、C.Basicを起動しての中では削除状態同様になっていること。(怖くて同じ作業を別のfileにはできない)
マニュアルには記載のなかった事例かと思いますが、ご経験済みでしょうか?
その2行目のーーー・・・表示が消えません。
C.BasicFile LISTには表示されないで、上の17.で表示されるのも解決したい。
補充としてRename作業前のFileを再度アドインしたのでいいのですが、
この一連Rename前の状態に戻したいです。

よろしくご教示願います。  (ツル)

Re: エボルータ & SHIFT移動

ツル様

管理人のやすです。

> しかし私は高級な?充電器を使っておりまして、それにはPanasonicの充電式EVOLTAが合うために長年、全ての電池が充電式エボルタです。

私が使っている充電器は、Panasonic の BQCC21 (黒い筐体)でエボルタを充電できるもので、そもそもデジカメ用にエポルタが良いかな?と思ってエボルタを使っていました。この充電器の良いところは、単三と単四の両方を充電んできて、1本つづ充電状況のLEDインジケータが付いている点にあります。そして充電も早い。

ひょっとして一緒ではありませんか?

私の場合は、充電エボルタはデジカメ専用でした。

fx-5800P は単四乾電池1個で十分で、自宅の無線キーボードも単四乾電池2個で十分、他にはあまり乾電池を使う用途が無かった状況でした。ところが、fx-9860GII を入手したあたりから事情が変わって、乾電池をいちいち買っていると勿体ない、で単価の安いアマループを見つけ、今では壁掛け時計、家内のICレコーダーも含めて、全てコスト重視でアマループを一気に導入した...そんな流れの中で、記事でアマループを紹介しました。

最近スマホで写真を撮るようになって、エボルタで使っていたコンパクトデジカメは使わなくなり、Panasonicの充電器はもっぱらプロ電用アマループ専用になっています。


> 5800PのプログラムはポメラのDM100で保存と下書き検討をしております。
> (どうせ通信ができないのだから、打ちやすく見やすいポメラで。)
>
> ポメラは寝ている時間以外に開いていないことが無いくらい愛用しておりますので、プログラムの考察にも丁度いいのです。 ・・・と早速雑談しております。(笑)


ポメラには興味があります。


ここからは完全に余談ですが...

毎日PCを持ち歩いていおり、しかし未だにノートとペンを最大限活用しており、1日の行動に必要不可欠なものを厳選して、それに合わせたカバンを選び愛用しています。ポメラでカバンが膨れるのが困るので我慢しているところです。
ノートとペンにもある程度の拘りがあり、自分なりに選んだものを使っています。なので愛用ノートとペンやインクの替え芯は常に在庫しています。

ノートPCを持ち歩いて、どこでもいつでも仕事ができる体制にしています。PCとスマホ、タブレットが丸一日使えるように、充電池やケーブル類も一緒に持ち歩いています。さらに、電車で座った時に隣に迷惑がかからないような幅のカバンにしているので、幅が無いかわりに厚みのあるタイプで、ある程度のA4書類も入れられるようになっています。自分に合ったカバンも過去から自分なりのベストを選んで愛用しています。

だからポメラが増えると今の日常にベストフィットしたカバンが膨れて、困ってしまうので自重しています。



> 5800Pで、SHIFT+上下キーでTOPBTMへの瞬間移動は昔からやっておりました。が、別記事のコメント欄にあったような、途中で表示が止まるのは今でも時々起こります。私のはプログラム削除という悲惨な結果は起こっておりませんが、表示が止まるとカーソル移動が全く効かなくなるという現象が発生しちょっと煩わしいです。原因は不明です。 長いプログラムのEDIT時に起こりやすいようなきがします。

以前、同じコメントを頂いたのは覚えています。ただ私自身同じ問題に遭遇したことがありません。これまで作ったプログラムで一番長いものは、入力ボックス 2.0 IN です。これは高速化を目指して、かなり編集を重ねましたが、一度もこの問題に遭遇していません。

原因として一番考えられるのはメモリ残量とファイルの断片化ではないかと思います。
ちなみに私の fx-5800P は現在のところ メモリ残量が 9034 Byte とかなり少なくなっていますが、問題が発生しません。

そこで考えられるのはメモリ断片化が原因の1つかも知れないということです。

fx-5800P にはメモリ最適化のコマンドが用意されていないので、別の fx-5800Pにプログラムをバックアップしている状態で、一旦メモリをリセットしてから、プログラムを転送し直すことで、メモリが最適化されると思います。

考えてみれば、メモリクリア ⇒ 転送 をこれまで何度か繰り返しています。このため、仰る問題に私が過去に遭遇しないのかも知れません。

エボルータ & SHIFT移動

管理人様 こんばんは。
アマループのことは過去記事で読んでましたよ。(笑)
お得ですよね。
しかし私は高級な?充電器を使っておりまして、それにはPanasonicの充電式EVOLTAが合うために長年、全ての電池が充電式エボルタです。
5800PのプログラムはポメラのDM100で保存と下書き検討をしております。
(どうせ通信ができないのだから、打ちやすく見やすいポメラで。)

ポメラは寝ている時間以外に開いていないことが無いくらい愛用しておりますので、プログラムの考察にも丁度いいのです。 ・・・と早速雑談しております。(笑)

話は変わりますが、5800Pで、SHIFT+上下キーでTOPBTMへの瞬間移動は昔からやっておりました。が、別記事のコメント欄にあったような、途中で表示が止まるのは今でも時々起こります。私のはプログラム削除という悲惨な結果は起こっておりませんが、表示が止まるとカーソル移動が全く効かなくなるという現象が発生しちょっと煩わしいです。原因は不明です。 長いプログラムのEDIT時に起こりやすいようなきがします。 では       (ツル)

アマループ

ツル様

管理人のやすです。

先ほど書き忘れましたので、追加です。

> 4.確かに最早古い設計の機体ですが、乾電池が使えてバックライトがあり安く多機能で高速だから選びました。よって、ftune2をアドインしているものの、消費電力と耐久性を考えて、ノーマル使用が多いです。

Ftune2 を使うと消費電力が半端なく大きくなります。そこで、私はアマゾンブランドで売られているエネループを愛用しています。とても安くてお勧めです。以下で紹介していますので、ご参考まで...

http://egadget.blog.fc2.com/blog-entry-489.html

Re: 掲示板

ツル様

管理人のやすです。


> ところで、掲示板があることをさっき知りました。(笑)
> 私はそれほど投稿好きではないですが、先のヒンジの件やつぶやきのような投稿は掲示板のほうに投稿すべきですか?あまり雑談は好きではなく、どうしようか迷います。


掲示板は雑談を意識して作って見ましたので、雑談ではなく情報のやりとりなら、これまでのように記事にコメント頂くのが良いと思います。

ご存じかも知れませんが、パソコン通信が全盛の頃、NIFTY-Serve のソフトウェアギャラリーというフォーラムに入り浸って、自作ソフト(フリーウェアやシェアウェア)を公開したり、プログラミングの話題で盛り上がっていました。一時期フォーラムスタッフをさせてもらったこともあります。

フォーラムの中にはテーマ別の部屋があったのですが、テーマ無しの雑談用として、部屋の一覧リストの区切りの壁があって、その壁を雑談部屋への入り口にしていたことがあります。

それを懐かしんで、"e-Gadgetの壁" ということで雑談用掲示板を作って見たわけです。

ご覧のように閑古鳥が鳴いています(^^;

掲示板

管理人様 こんにちは。
ご返答ありがとうございました。

ところで、掲示板があることをさっき知りました。(笑)
私はそれほど投稿好きではないですが、先のヒンジの件やつぶやきのような投稿は掲示板のほうに投稿すべきですか?あまり雑談は好きではなく、どうしようか迷います。

さて、リンク切れの件、承知しました。困ったらご連絡ご相談いたします。
HNのタイプミス承知しました。私も視力が落ち、JP900で悩んでいます。
電卓喫茶の件了解です。人それぞれですからね。

今後も引き続き各記事閲覧させていただきます。
年間購読料はおいくらでしたか?(笑)失礼。

どなたか、5800PのLCDをバックライト仕様に改造した強者はいないですかね?
いないなら私がやりたいな・・・    (ツル)

3D迷路ゲーム のリンク切れ対応

ツル様

管理人のやすです。

ご指摘のうち、3D迷路ゲーム紹介ページのリンク切れに対応しておきました。

http://egadget.blog.fc2.com/blog-entry-499.html

以前ダウンロードしておいた作者提供のファイル(zipファイル)を e-Gadget Web に追加して、ダウンロードできるようにしました。

Re: ツルのつぶやき

ツル様

管理人のやすです。


> ちょっとつぶやきです。

はい、なんでもどうぞ


> 1.随所にあるリンクが切れているのかな?と感じております。
>  私のPCの環境や設定がまずいのか、3D迷路やその他複数で404エラーが出ます。(違っていたらごめんなさい) 直るといいなと願っております。

えっと、リンク先が e-Gadget のページの場合は、是非個別具体的にお知らせいただけませんか?ご面倒でなければ...ですが。過去の記事の場合、当方のウッカリミスでリンク切れになっている可能性があります。

一方、他の方が作成されたページへのリンクの場合は、当方ではどうしようもありません。作成なさった方がページを削除したり移動した場合は、お知らせが無い限りそのことは知ることがありませんので...
せめてリンクしないように書き直すしかありません。

以上ご理解の上、お知らせ頂ければ助かります。


> 2.sentaro様のHNの記載ですが、管理人様タイプミス多くないですか?

スミマセン、タイプミス多いです。というのも最近急激に細かな文字が見づらくなっていて、めがねが追いつかない状況だったりします。歳は取りたくないです。

気がつけば、修正していますが、それでも気付かないことが多いです。出来れば脳内変換してください(^^;


> 3.管理人様は「電卓喫茶」というブログはご覧になられましたか?

はい、少し前に偶然見つけて、概ね全体をざっと拝見しています。


>  そこで、9860GIIのレビューがありまして、歯に衣着せぬコメントが気持ちいいです。そこでは、CASIOBASICという表現が変だ。構造化ではないと、ズバッと書いています。あの記事への管理人様の所見をお聞きしてみたいなと感じました。

その管理人様は、説明書に書いていない用語を一般的に使うことがお嫌いなのかも知れません。それも一理あります。或いは Casio Basic とカテゴライズするほど Casio Basicは大した物では無いとお考えなのかも知れません。単にその方の趣味に合わない言葉のかも知れません。違った理由があるかも知れません。

但し、広く海外に目を向けますと Casio Basic という用語がファンの間では広く使われており、Casio Basic WiKi なるページまで有ります。

私の場合は、Casio Basic という用語を勝手に使い始めましたが、その後海外のサイトに出入りするようになって、偶然彼らも同じ用語を使っているのを知ったというのが正直なところです。

違うという方がいらっしゃっても私はそれで良いと思いますし、私は Casio Basic という確たるカテゴリがあると思ってその用語を迷わず使います。

構造化プログラミングについては、先日紹介した歴史的な経緯を見れば Casio Basic は構造化言語だと分かると思います。それはないと言われるのは理由があるのでしょうが、その理由が Goto 禁止論という"神学論争"に係わる可能性もあるので、Goto コマンドが準備されている以上は構造化言語ではない、とか、Casio Basic は大域変数しかないので構造化言語に分類できないといった論も考えられます。何を大切に考えるのかの根拠の優先度に応じて、結論が変わる可能性も考えられます。

N88 Basic などの行番号付き Basic や、Visual Basic、C、C++、最近では C# などで MS-DOSやWindowsで走るプログラムも作ってきている中で持ち得る感覚から、Casio Basic で構造化プログラミングができると感じるのは、自然だと思っています。

まぁ、でもCasio Basic で楽しむことが最重要で、それが構造化言語かどうかは優先度の低い議論です。


> 4.私は、メーカーが公式にCASIOBASICとは言っていないが、ユーザーサイドで通じるBASICライクなCASIO色の濃い言語を指していると理解されているし、便利だからこれでいいと思います。

Casio Basic を楽しめば良いので、e-Gadgetのようなマイナーなブログでは自分の好きな用語を使いたいと思います。


> 4.確かに最早古い設計の機体ですが、乾電池が使えてバックライトがあり安く多機能で高速だから選びました。よって、ftune2をアドインしているものの、消費電力と耐久性を考えて、ノーマル使用が多いです。

同感です。fx-9860GII シリーズは、純正 Casio Basic プログラムが高速で動作する C.Basic が使える上に、Ftune2 が使えるので fx-9860GIIシリーズが最も楽しめる機種ですよね。

ただ、最近 fx-CG50 を入手したら、このデザインがなかなか良くて使いたくなるんです。なので平日は fx-5800P と fx-CG50 を持ち歩いて日常使いしています。なので、最新の記事のようにメニュープログラムを作って、この地味なプログラムでプログラムを使いやすくしています。

ツルのつぶやき

管理人様 こんにちは。
(画面スクロール量低減のために書き込み文の改行を減らしております(笑))
そんなことはどうでもよくて・・・

ちょっとつぶやきです。
1.随所にあるリンクが切れているのかな?と感じております。
 私のPCの環境や設定がまずいのか、3D迷路やその他複数で404エラーが出ます。(違っていたらごめんなさい) 直るといいなと願っております。
2.sentaro様のHNの記載ですが、管理人様タイプミス多くないですか?
 これも間違っていたらごめんなさい。
3.管理人様は「電卓喫茶」というブログはご覧になられましたか?
 そこで、9860GIIのレビューがありまして、歯に衣着せぬコメントが気持ちいいです。そこでは、CASIOBASICという表現が変だ。構造化ではないと、ズバッと書いています。あの記事への管理人様の所見をお聞きしてみたいなと感じました。
4.私は、メーカーが公式にCASIOBASICとは言っていないが、ユーザーサイドで通じるBASICライクなCASIO色の濃い言語を指していると理解されているし、便利だからこれでいいと思います。
4.確かに最早古い設計の機体ですが、乾電池が使えてバックライトがあり安く多機能で高速だから選びました。よって、ftune2をアドインしているものの、消費電力と耐久性を考えて、ノーマル使用が多いです。    (ツル)

Re:Ftune2 素晴らしい!!!

ツル様、こんにちは!

大変なお褒めの言葉をいただきまして恐縮するばかりですけど、Ftune2を気に入っていただけて何よりです。(^^)

Ftune2はCPUクロックだけじゃなくメモリバスまで含めてのオーバークロックツールなので自己責任とは言え、使い方次第では電卓本体(フラッシュROM)を簡単に破壊してしまえるツールの性格上、出来るだけ安全に使えるようにと動作範囲の制限を付けてありますので、デフォルトの周波数設定値を変更しない限りほぼ100%安全に使えると思います。(^^)

管理人様にはFtune2専用トピックを用意していただいてますので、何かお気づきの点がありましたらそちらでよろしくお願いします。

Ftune2とアドイン Casio Basicの組み合わせもまた強烈かもなので、こちらもぜひお試しくださいませ。(^^)

Re: Ftune2 素晴らしい!!!

ツル様

管理人のやすです。


私はユーザーの立場で Ftune 2 を応援しています。Ftune2 の素晴らしさを共有できてうれしいです。

作者の sensro様 (海外でのハンドルネームは senatro21 です)との直接の Q&A ができるように以下の記事を用意しています。
http://egadget.blog.fc2.com/blog-entry-153.html

Ftune2 についてご質問があれば、こちらへコメントをお寄せください。

Ftune2 素晴らしい!!!

管理人様そしてsentaro21様

この投稿はsentaro21様へのものです。
過日、ftune2 for SH4A v1.11を9860GIIへ入れさせて頂きました。
README Jも一通り読み終え、ftune2も一通りいじってみました。
今は、感動と感謝で一杯な気持ちです。その安全を考慮している設計と、画面の表示レイアウトがとても分かりやすく無駄がなく簡潔。そして操作性がまた素晴らしい。こういうプログラムはかなり誠実でバランス感覚の素敵な人でなければ作れないだろうと思います。ご本人にお会いする機会があれば、男女関係なく抱きしめてしまいそうです。(あ、失礼、私はノーマルです(笑))
とにかく素晴らしいものです。
こういう機会を得られたのも管理人様のブログのお陰です。

ありがとうございました。開発ご苦労様でした!  (ツル)
最新記事
最新コメント
カテゴリ
C# (3)
検索フォーム
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム電卓は、プログラムを使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています

おもしろい・役に立つならクリックしてください。励みになります。
にほんブログ村 IT技術ブログ 開発言語へ
にほんブログ村


人気ブログランキングへ


FC2ブログランキングへ


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

RSSリンクの表示
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QR