Name
Mail
URL
icon
99
Pass
*編集・削除用(任意:英数字4~8文字)
Subject
絵文字
画像添付
CBsitumonn

数字のピラミッド ヒントをください。

0 2021/08/21 (Sat) 23:58:19
初めてこの掲示板に書き込むものです。よろしくお願いします。
fx5800-Pでプログラムを作成してみたのですが、
1
22
333
4444
55555
のように表示できませんでした。(電卓上では、1の表示位置は55555の右端の5の真上になる。)2重ループとlocateを使えば、1から4444まではできました。次に、ループのなかで22と横ならべて表示しようと、変数:変数出力命令などを試してみたのですがエラーが返されました。どなたか同じ数字を横に並べて表示する方法(ループのなかで、locate 変数,1,2 以外)を教えてください。お願いします。
やす (Krtyski) - Re:数字のピラミッド ヒントをください。 2021/08/22 (Sun) 18:54:15 Mail
CBsitumonn様

管理人の やす です。

以下のような表示にしたいということでしょうか?
1   55555
22  666666
333  7777777
4444 88888888

これを前提にして話を進めます。

先ず最初に、左詰で数字を表示するためには、Locate を使うしかありません。
数値をそのまま出力する場合は、Casio Basic では右詰になる仕様です。

一桁の数 C を C個だけ並べて表示する場合は、
C × 111...11 (C桁) の計算をして、その結果を Locate で表示するのが簡単でしょう。
この C 桁並んだ 111...111 を計算して変数 N に入れておきます。
そして、Locate で N×C の結果を出力します。
※ あとで述べる理由で NCではなくて N(C+1) とします。C を1から始めるのではなくて、0 から始める方が都合が良いからです。

次に考えるのは、Locate で表示する際の表示位置の座標 X と Y をどうやって決めるのか?

X は、4行目までは 1桁目に固定,5行目から8行目は横にずらして 6桁目に固定。
Y は、1~4行目までは1~4行目、5~8行目は、また1~4行に戻す必要があります。

1から4行目までは、X = 1、Y = 行数 で Locate X,Y,NC (最終的には N(C+1) です)
5から8行目までは、X = 6、(行数-1)を4で割った余りに1を加えた値 Mod(行数-1, 4) + 1

さて、Yを求めるとき、余りの数 Mod を求めたいのですが、fx-5800P にはこの関数がありません。そこで Mod(C, 4) の代わりに C-4Int(C÷4) で計算できます。
https://egadget.blog.fc2.com/blog-entry-209.html

この計算を行う際、Cは 0 から始まる数で無いとうまくゆきません。
そこで、Cを0から始めるためにチョット変更が必要です。

コードは以下のようにすると、とりあえず動きました。

1: 0→C
2:
3: Do
4:
5: 1→N
6: For 1→I To C
7: 10N+1→N
8: Next
9:
10: 1→X:C>3⇒6→X
11: C-4Int(C÷4)+1→Y
12:
13: Locate X,Y,N(C+1)
14: Inz C
15:
16: LpWhile C≦7

とりあえずのサンプルプログラムです。
コードを見やすくするために、敢えて空行 (改行だけの行) が沢山あります。実際は不要です。

Cを0から始めるので、その関係がチョットややこしくなっているのですが、基本的な考え方は上記の通りです。実は私も最初は C を 1 から始めるコードを書きました。

最後の行の C≦7 を C≦ 4 に変えてみると、最初の1列目の動作が判りやすいと思います。

チョット頭の体操ができて、楽しかったです。

3~16 行が do / Lpwhile のループです。

その中に、111..111 を計算して 変数 N に格納する 3行だけの単純な For ループがあります。この For ループの直前で N を必ず 1 にしておく必要があります。

10行目と11行目は、Locate の X と Y を決めるところです。
1→X:C>3⇒6→X は、とりあえず X を 1 にしておき、C が3を超えるときは、X を 6 にします。
C-4Int(C÷4)+1→Y は、C を4で割ったときの余りを求めて、それに1を足し算しています。この計算のために、Cを0から初めて、1つづつ増やしています。
なので、Locate で出力する数値は NC ではなくて N(C+1) としています。

ここまで準備して、Locate X,Y,N(C+1) で出力します。

なお、Cを1つ増やすために、Inz C を使っています。C+1→C でも同じです。

Cは0から始まるので、LpWhile C≦ 7 として、全部で8行分の出力をしたら、Do ループを抜けてプログラムを終了します。

最後に、Locate コマンドは比較的時間がかかる処理です。従って Locate を使う回数を少なくしないと、出力にとても時間がかかります。今回はループ1回あたり Locate を1回使うコードにしています。そのため、出力する数を予め計算しておいてから出力するような方針にしています。

一気にコードまで紹介してしまいましたが、私も実際に動かしてみないと不安なので...

ではでは、
CBsitumonn - Re:数字のピラミッド ヒントをください。 2021/08/22 (Sun) 21:01:37
さっそくのお返事ありがとうございます。プログラム例と解説を、時間をかけて理解しようとおもいます。
ChangRing

PM.g3m

0 2021/03/28 (Sun) 18:14:29
パッ〇マン風なゲームをC.Basicで作ってみました。
http://www.tky.3web.ne.jp/~toyokura/text/PM.g3m
敵が追いかけてきたり来なかったりしますが、それも味わいということで。
衝突判定をワンテンポ遅らせているので、そこを利用するとクリアできます。
私は中学生の時にポケコンという世代ですが、久しぶりに楽しかったです。
C.Basicに関係している皆様に感謝です。
やす(krtyski) - Re:PM.g3m 2021/03/29 (Mon) 13:34:08 Mail
ChangRing様

早速遊んでみました。
昔懐かしいゲームですね!
結構ハマります。

面白いプログラムの投稿、ありがとうございます。

起動した段階で、モンスターの近くにパックマンが居ると、めっちゃ難易度が高くなりますね。瞬間的な認識力が要求され、CRASHとなると、もう一回、とついついエンドレスになってしまいます。

でも。止められません。面白いです。

ChangRing様は、どのくらいのスコアになりますか?

やす(krtyski) - Re: PM.g3m 2021/03/29 (Mon) 13:43:30 Mail

ChangRing 様

このようなパターンになったとき、クリアすることは可能でしょうか?
ChangRing - Re:PM.g3m 2021/03/29 (Mon) 21:17:08
遊んでくださって有り難うございます。>やす様
横についてくるので、このパターンはクリアは難しいですね。
もっと画面が広いと縦についてくる敵をもう一匹用意するのですが、
なにぶん画面が狭いので、、、
各面は自動生成していますが、本当はあらかじめ1面から用意して
だんだん難しくしていくといいと思うのですが、そこは手抜きです(笑)
簡単に改造できると思うので好きにいじってください。
パブリックドメインソフトウェア扱いでお願いします。
ChangRing - Re: PM.g3m 2021/03/29 (Mon) 21:26:31
面が自動作成なので、「運」が多分に影響しますが、
私の記録は48です。
プログラム作成者のスコアが大したことないのは普通のこと、、、
でも、やす様の遊び方は私の意図した通りなので嬉しいです。
やす(krtyski) - Re: PM.g3m 2021/03/29 (Mon) 23:29:58 Mail
112行あたりにある

'%Wait 128

とコメントアウトしている部分で、

%Wait w

と変更し、

wの値を変えれば、難易度を変更できるみたいですね。

w=4 とすると、時差をかなり有効に使えてクリア率が高くなりますね。

なので、

・w=4 で easy mode
・w=2 で normal mode
・w=0 で hard mode

といった感じで遊べそうです。

ところで、この作品について、ブログの記事で紹介したいと思っておりますが、よろしいでしょうか?

何か条件やご希望があれば、お聞かせください。

ChangRing - Re: PM.g3m 2021/03/30 (Tue) 07:47:32
なるほど、%Wait 4で随分操作しやすくなりますね。
紹介していただいて大丈夫です。とくに希望はないです。
ゲーム名とか決めてないですが、そのままPMでしょうか、、、
匿名 - Re: PM.g3m 2021/03/31 (Wed) 00:37:18 Mail

記事化にご了承頂き、ありがとうございます。

プログラム名は、PM としてみました。
記事は後ほど書く予定ですが、とりあえず ChangRing様のソースの冒頭にコメントを入れました。
https://egadget2.web.fc2.com/archives/fx-CG50/PM/PM.html

そして、難易度を選択できる改造版を PM2 としました。
https://egadget2.web.fc2.com/archives/fx-CG50/PM/PM2.html

ChangRing - Re: PM.g3m 2021/03/31 (Wed) 07:10:47
いい感じの画面キャプチャがとれてますね。これを機会に
他の人も もっとゲームを作って公開してくれないかなあ、
と思います。
匿名 - Re: PM.g3m 2021/03/31 (Wed) 11:52:35 Mail
一応、g3mファイルとC.Basicで生成したソースのテキストファイルを圧縮したzipファイルをダウンロードできるようにしています。

CHangRing様はパブリックドメインと書かれていたのにオープンソースと間違ってダウンロード用 html に書いていたのに気づき、慌てて修正しました。

ところで、中学生の時にポケコンを使っていらっしゃったとのこと。私はポケコンは使ったことも所有したこともありませんが、高校の時の何人かの友人がポケコンを持っていました。

そのうちの一人が、SHARPの 確かPC-1500だったかと思いますが、それを定規代わりに使って直線を引いているのをみて、カッコいいなぁ、などと妙な感心の仕方をしたものです。

それくらい、プログラミングには興味がなく、電卓にも興味がありませんでした。
ChangRing - Re: PM.g3m 2021/03/31 (Wed) 22:08:10
私が最初に使っていたポケコンはPC-1251+CE-125でした。
http://kyoro205.g.dgdg.jp/cgi/calcdb.cgi?pl=peri.csv&k=CE%2D125
ちょうど↑この写真の感じです。
記録用のマイクロカセットレコーダと感熱式プリンタのオールインワン!
ポケコン本体部分だけ取り外して持ち歩けるんですよ。
今でも格好いいよなあ、と思います。
やす(krtyski) - Re: PM.g3m 2021/04/03 (Sat) 16:47:48 Mail
PM の記事をアップしましたので、お知らせします。
https://egadget.blog.fc2.com/blog-entry-779.html

何かご希望があれば、追記・編集しますので、お聞かせください。

ところで、最初にお使いのポケコンの画像を拝見しました。
このような感じで、マイクロカセットのストレージと小型プリンタを備えたEPSONの似たようなものを以前会社で見たことがあります。

当時、私はプログラミングを殆ど知らず、FX-502P でチョコッとコードを書いて面白がっていたくらいです。このEPSONのオールインワンを使いこなして実験や解析をする先輩をみて格好いいなぁ、と思ったものです。

1980年代のポケコン全盛時代のカシオのカタログを記事で取り上げています。
https://egadget.blog.fc2.com/blog-entry-690.html

FX-502P を親に買って貰った当時のカタログが、幸運にも残っていました。

ChangRing - Re: PM.g3m 2021/04/04 (Sun) 16:31:18
記事みました。まとめ方、上手ですね。
丁寧に紹介してもらって、ありがとうございます。

EPSONのはHC-20でしょうか。大学生くらいのときに
知り合いから譲り受けたのですが、あまり活用できないまま手放してしまいました。

FX-602PとFX-702Pは中学生の時に、よく友だちから借りてました。
FX-501Pは私の連れ合いが持っていましたが、キーが効かなくなってしまったので、
今はFX-603Pを使っています。
やす(Krtyski) - Re: PM.g3m 2021/04/04 (Sun) 20:28:04 Mail
お褒めに預かり、恐縮です。

この記事で一番言いたいことは、最後の ChangRing様のコメントに尽きます。

"これを機会に
他の人も もっとゲームを作って公開してくれないかなあ、
と思います。"

是非とも、また楽しいプログラムを思いついたら、お知らせください。
ChangRing - Re: PM.g3m 2021/04/04 (Sun) 21:31:34
そうそう、まさに、そこをクローズアップしていただいて
ありがとうございます。
スタートレックとか、誰か移植してくれないかなあ。
PB-100用のスタートレックとか、画面では表現できないから、
自分で方眼紙に書き込んで遊んでいましたね。
でも↓ここにあるように
http://feynmanino.watson.jp/7938_star-trek.html
作っているときが一番たのしい! というのに私は共感します。
昔、FX-603P用に作ったゲーム(今度はアクションではないです)を
移植してみようと思います。それまで、しばらくお待ちください、、、
やす(Krtyski) - Re: PM.g3m 2021/04/05 (Mon) 14:39:56 Mail
ChangRing様

次作を楽しみにお待ちしております。

ところでPMは、シンプルなゲームだからこそハマるという典型例のような気がしています。

そういえば、昔 "イスカンダルのトーフ屋"というゲームがあったのを思い出します。検索してみると、こんなページが見つかりました。
http://vivi.dyndns.org/tofu/tofu.html

最近は、各種プラットフォームへの移植版が出ているようです。多分ご存じかとは思いますが、昔の事に思いをはせると、少しづつ思い出すものですね!


iron2

mandelbrot画像2_2

0 2021/01/09 (Sat) 08:38:02

管理人様、sentarou様、有志の皆々様へ
iron2です。
フラクタルの部分を白で塗りつぶしたバージョンができたので、
画像を添付します。

確認してもらえばわかると思います。

以上
iron2

mandelbrot画像その2

0 2021/01/08 (Fri) 19:56:25

管理人様、sentarou様、有志の皆々様へ
iron2です。
mandelbrot画像その2を添付しました。
たぶん最初に添付した画像の4倍拡大かな
画像が複雑になったため描画時間が遅くなってますが
電卓でこの画像を数分でできてしまうのは
すごいです。
こちらの画像も感じが伝わればと思います。

以上
iron2

mandelbrot画像

0 2021/01/08 (Fri) 19:13:50

管理人様、sentarou様、有志の皆々様へ
iron2です。
こちらに画像添付できるようなので
まず1倍の画像を添付してみました。
うまく貼り付けできたかわかりませんが、
感じが伝わればと思います。

以上
iron2

ご無沙汰しております

0 2020/11/22 (Sun) 18:33:34
iron2です。
管理人様、sentarou様、有志の皆々様
大変、ご無沙汰しております。
2年半前の脳梗塞のあと、4回ほど全身発作のでるてんかんで
何度も入院し、そのたびにリハビリを一からやり直ししていて
以前投稿していた。マンデブロートの探索プログラムも手を
つけられず、たいへんもうしわけなくおもっています。
今日、参考にキャノンの関さ数電卓F-789SGを買いました。
どこかでキャノンの電卓は精度が高いと聞いた気がしたのが
購入動機です。
ためしに∫π/4,0 cos(x)⁻²dxを計算しました。fx-jp900もF-789SGも
どちらもradで計算すると1でした。これでは、精度云々の差がわからないため
なにか別の計算で比較しないとわかりません。
しかし、fx-jp900では一瞬で計算終わります。いままで気が付かなかったが
電卓で済ませられる計算では十分すぎる速度で計算してくれます。
優秀です。一方f-789sgも遅そすぎるわけではなく、実用上問題ない速度で
計算してくれますが、prosessingと1、2秒表示されます。
体感上では残念って感じです。
最近の話題にはついていけてないですが、また情報集めに除きに来ます。
やす (Krtyski) - Re: ご無沙汰しております 2021/01/02 (Sat) 15:16:05 Mail
iron2 様

管理人のやすです。

書き込みをすっかり見落としていました。すみません。

計算精度については、電卓ごとに癖があったものですが、最近はいずれも大きな差がなくなってきたように思います。

カシオには以前からの桁落ちの癖が残っているようですね。
例えば、123456789123456 - 123456789123411 を計算すると、本来 45 になるばきところ 0 になってしまいます。
こちらを参照: http://verifiedby.me/adiary/097

ちなみに、fx-CG50 などの Python モードのシェルでこの計算をすれば、正しく 45 となります。演算そのものも micro Python で実行している利点が現れた良い例だと思います。

iron2

hp prime g2買いました

0 2020/01/31 (Fri) 21:57:37
管理人様、sentarou様、colon様、ツル様、外人サポータ様、ユーザー有志の皆様
iron2です。hp prime g2 かいました。アマゾンで3万ちょいです。
まだ、接続キットと電卓のファームウエアだけ最新にしましただけです。
2020年1月22日版かな。日にちはまちがえてるかもですが、3dグラフは
かけます。g1のほうもファームウエアアップデートしたら、同様に3dグラフかけました。
fx-cg50の3dグラフと解像度の次元が違います。
大変美しいです。
sin(2*X)*cos(3*Y)
を書きました。
パイソンはどうやってつかうのか、まだ分かりません。たぶんプログラム
新規作成でpythonとpplを選択できるような気がします。
sentaro - Re:hp prime g2買いました 2020/02/02 (Sun) 17:41:17
iron2様、こんにちは!

>hp prime g2 かいました。アマゾンで3万ちょいです。

Amazonではずっと6万とかとんでもない高価格だったのですが、やっと少し落ち着いてきたようですね。


>fx-cg50の3dグラフと解像度の次元が違います。
>大変美しいです。

画面の解像度自体はさほど差がないのですが、CPUパワーの恩恵で描画の細かさが段違いですよね。
とはいえ、グリグリと動かすときにそれなりに重さを感じるので、美しさと引き換えにかなり重いアプリになってますね。(^^;


>パイソンはどうやってつかうのか、まだ分かりません。たぶんプログラム
>新規作成でpythonとpplを選択できるような気がします。

akatuki様の「高機能電卓の情報」にPythonサンプルがあります。(^^)
https://akatuki-724.blogspot.com/2019/03/hp-primepython.html

Primeには標準モードとCASモードがあるのですが、そのCASモードでのプログラムがPython書式で使えるということですね。
プログラム冒頭に
#cas
を入れるのがCASモードへの切り替えです。
やす(Krtyski) - Re:hp prime g2買いました 2020/02/05 (Wed) 09:52:00 Mail
iron2 様

> 外人サポータ様

最近、香港の学生さんが C.Basic の伝道師を買って出て、主に海外のサイトでサポートされていますが、ついに e-Gadgetに来られました。香港の方なので、英語だけでなく中国語でのサポートも可能なので、C.basic は益々国際的になりそうです。

プログラム電卓は、海外では結構なファンがいるので、C.Basic はユーザーは海外の方が多いかも知れません。そして海外のユーザーによるバグ報告や機能提案が C.Basic の進歩の原動力になっていると思います。

fx-CG50 に搭載されているPythonは、現状では計算マクロに限定した使い方くらいしか出来ないのですが、Casio Basic のように コンソール入出力機能が充実すれば、Casio Basic のように遊べるでしょうね!

もしそうなったら、Python プログラミングネタを始めようかな? などと思っています。





iron2

khicas使用感

0 2020/01/20 (Mon) 13:09:40
管理人様、sentarou様、colon様、ツル様、ユーザー有志の皆様
iron2です。khicasで微分して、微分した数式を出してグラフを
プロットしてみました。感じとしては、電卓でmaxsimaを触ってる
イメージです。
iconはKhicasenという名になっていて雪の結晶のようなアイコン
画像がアプリのマークみたいでした。

diff(x^3+x^2+x)
3*x*2+2*x+1
plot((3*x*2+2*x+1),x,0,5)
Graphic object
いたいな結果を得ることができます。
各コマンドにヘルプとサンプルがついているので
はじめてでも、なんとなく操作できてしまいます。
iron2

micropython使ってみた

0 2019/12/14 (Sat) 23:01:01
管理人様、sentaro様、ユーザー有志の皆様へ
fx-cg50のmicropythonでfileを作成しhello world!と
print("hello world!")で文字列を出力してみた。
最初は戸惑ったが、慣れるとカタログから探して
inputでプログラム挿入するだけなので簡単に作れそう
ですよ。
サポートしてるライブラリが少なすぎるのが玉にきず。
元祖のおフランスのグラフ電卓ではグラフィクスが
扱えてマンデルブロート描画できるみたいです。
numpyもscipyもなく遅いですが、電卓のコーデック
と比べて正確な計算ができるのが魅力かな、
入出力のコードが直感的に書けるかな。














sentaro - Re: micropython使ってみた 2019/12/16 (Mon) 13:11:58
管理人様、iron2、皆様、こんにちは!

CG50のPythonは数値計算には普通に使えますね。
グラフィックスライブラリは次のOSアップデートで搭載される模様ですが、
グラフ電卓としての実装なので、使い勝手の面では?です。(^^;

フランス発の電卓であるNumWorksは搭載言語がmicroPythonだけなので描画機能が一番早くに備わりました。
使えるメモリが少ないのでそこが微妙に惜しいところですが一番遊べるPythonなのは間違いないです。

グラフィックス含めた全体のスピードという面では従来比3倍速になったPrime G2が有利ですが、
PrimeにもPythonが実装されそうな気配なので、そうなると名実ともに最強電卓になりそうですね。
iron2

1111111踏みました

0 2019/12/11 (Wed) 19:22:59
アクセスカウンターの111111を踏みました。
本題はc.basicのバージョンが上がるとバグが取れて便利になりますが
グラフィクス描画速度遅くなっていませんか。
c.basic for cgのアルファ版にくらベーター版が遅いと思います。
030アルファ版は070アルファ版と比べても1.3から
1.5倍速い気がします。したがって070アルファ版よりも140ベータ版が更に少し遅いです。何が言いたいかですがファームウエアが新しくなったりするとカシオ本家が遅くなるのも仕方ないなあかな
Krtyski - Re:(修正)1111111踏みました 2019/12/12 (Thu) 10:18:59 Mail
iron2様

1111111のキリ番踏まれたのは、iron2様でしたか!
おめでとうございます。
そして、お帰りなさいませ!

最近、実行速度のベンチマークを行っていないので速度低下に気づきませんでした。
確かに機能が増えれば、遅くなるのは道理ですね。

最近の C.Basicの進化で、不連続的な大きな変化としては、プログラムの表示に日本語(もどき)が使えるようになったことかな?と思っています。
https://egadget.blog.fc2.com/blog-entry-681.html

(修正)
iron2様は fx-CG20 をお持ちだったと思いますので、お試しください。


fx-9860Gシリーズですと、細かな改善とバグ取りで C.Basicは使いやすく安定してきていると思います。

実は、現在のところ 9860Gシリーズで、fx-9860G Slim という機種にハマっています。
これは、既に生産中止になったもので、国内販売されなかった機種ですが、
・2つ折れタイプ ⇒ 小型なので持ち運びに良い、キーと液晶を保護してくれる
・液晶画面が大きいくバックライト付き ⇒ 老眼にとても優しい
・C.Basic が走る ⇒ 遊べます
https://egadget.blog.fc2.com/blog-entry-708.html

sentaro - Re: 1111111踏みました 2019/12/16 (Mon) 13:06:43
管理人様、iron2様、皆様、こんにちは!

壁への書き込みに気付くのが思いっきり遅れました。(^^;

>本題はc.basicのバージョンが上がるとバグが取れて便利になりますが
>グラフィクス描画速度遅くなっていませんか。

はい。確実に遅くなっていると思います。(^^;

機能が増えてもできるだけ速度低下が無いようにと思っているのですが、そこはインタプリタの宿命でしょうか。徐々に落ちていってしまいます。
そこのあたりは数式またはサブプログラム単位でコンパイルすることで一気に挽回する予定なのでそれまで少しお待ちくださいませ。

現状でも修正できる点があれば直したいと思いますので、
遅くなっている具体的なプログラムを示していただければ幸いです。(^^)
[ e:349][ e:442][ e:446][ e:454][ e:456][ e:786][ e:451][ s:472D][ s:472E][ s:4731]
[ e:731][ e:732][ s:4740][ s:4741][ e:51][ e:265][ e:266][ e:262][ s:4F4F][ s:453D]
[ s:4F34][ s:4532][ s:4F32][ e:45][ e:219][ s:4F62][ s:4540][ s:4763][ s:4766][ s:4767]
[ s:476A][ s:4769][ s:476B][ s:4768] [ s:476C][ s:476D][ s:4538][ s:504E][ s:473E][ s:473D]
[ s:4F2D][ s:512B][ s:5151][ s:4526][ s:4528][ s:452B][ s:4775][ s:453C][ s:453A][ s:453B]