goo blog サービス終了のお知らせ 

新しいアカウントで始めました。

身の回りの出来事や写真が中心です。

Visual Basicで普通の式を逆ポーランド記法にする

2022-04-22 16:54:33 | C#、VBなど

ネタ本の例では、正解でしたが、もっと調べればエラーが出るかも?()も処理できると良いですね。

画面のエリアが大きくなるとぼやけます。シンタックスハイライトは無しですが、fc2WordPressに恥ずかしいコードを貼り付けてます。

 


逆ポーランド記法に変換するには?

2022-04-22 10:12:43 | C#、VBなど

 cametan_42さんのコメントを見ると、普通の書式から逆ポーランド記法へ変換することもありました。ただしPerlです。ちょっと難しい。今のトレンドはVisual Basic です。自分的には。スタックを使うことは前と同じですが、演算子の優先度が関係してるようです。なので、下のようにClassを作って、それをスタックに積む、出来るかな?でやってみたらスタックにクラスのインスタンスをPush出来ました。

 逆ポーランド記法の計算よりも少し複雑です。その部分はこれから。スタックにはPushとPopとPopしないで、要素をGETするPeekというものがあるらしい、レベルは数値は0、”+”と”-”は1で、”*”と”/”は2にしようかと思ってます。エラーデータは無しです。FC2WordPressにコードを恥ずかしいのですが、貼ります。

 


70歳でも、はじめられる、ゼロからのPythonかな >>VS2022 VB No27 8章の3回目一応終了です。

2022-03-21 11:07:58 | C#、VBなど

 

 Class Brは、branchを保存します。mはButtonのTextに入れるテキスト。goはBranch先のテキスト。実体はbrarray(2)です。2個に限定。8行から14行までは、グローバルな変数。chara_flagはキャラクタを3個最大で限定で、どれが表示になっているか?の判断で使います。

messageをクリックして、current_lineが+1されて、scinarioが進みます。

decode_lineはネタ本では、再帰呼出しですが、自信がないので、単純化しました。Branchは2個に限定。putCharも2個か1個に限定。

PictureBoxのVisibleは、表示されてないものは、Falseにしておかないと、一旦表示されるとズーッと表示される。scinarioを見ると、シーンが変わったときにキャラクタも変わるので、そのタイミングでリセットします。

chara_flagは0から7まで。7は全て、3個表示の状態。下は、実行画面の一部です。

 

なかなかそのままでは上手く行かないので、かなり変えました。その場しのぎで。decode_lineを再帰で呼び出せるのかは、分かりませんし、クリックで再開も、違うのですが、やってみたくなったら、やって見るかもしれません。でも、今回で「12歳からはじめるゼロからの…」は終わります。


70歳でも、はじめられる、ゼロからのPythonかな >>VS2022 VB No26 8章の2回目

2022-03-13 22:01:22 | C#、VBなど

PictureBoxを3個配置してますが、Form1の大きさと背景の大きさが、本のように上手くいきません。

PictureBoxに図を配置する部分は、上手くないですね。でもどうすれば良いのでしょうか?

Form1の背景が1個でなく、繰り返してますね。コマンドを処理する部分はこれからです。

覇権主義と民主主義の戦い。ネオナチはどちだ?情報戦でもあるようです。戦いを終わることを祈ります。が、むなしい。


70歳でも、はじめられる、ゼロからのPythonかな >>VS2022 VB No25 8章に入ります

2022-03-12 11:15:08 | C#、VBなど

Resourcesを追加したことによって、VBが生成したコード。いじる必要がない、いじらないほうが良いでしょう。

Form1のデザイン画面。LabelとPictureBoxを1個づつ配置。

Resourcesに画像のデータなどを置くと、読み込みが単純化されますが、編集は出来ないようです。かもしれません。

実行画面。

 Resourcesにファイルを追加する時は、下の図でMy Projectの1個上のWinFormsAppCharacter8_1を右クリックで、追加から行った。My Projectの右クリックからだと少し変だったと思います。

どんな展開になっていくのか?楽しみです。


70歳でも、はじめられる、ゼロからのPythonかな >>VS2022 VB No24 7章終わりました!

2022-03-11 20:42:34 | C#、VBなど

 基底クラスのCharacter、それから派生クラスのBrave、モンスターはBraveから派生してます。全く同じなので、派生しなくてインスタンスを作っただけでいいでしょうが、ここでは派生してます。ネタ本に沿って。

Form2、戦闘画面。

Form1迷路画面。

PictureBoxの70個は動的配置なので見えない。

 

コードは見せられるものでは無いです。アルゴリズムはネタ本のとおりです。

スタート直後の画面。

一番近いモンスターと戦いをする場面です。

monster1が現れました。ここではButton勝ったをクリックしてます。

 monsterの位置にbraveが進みました。残りの画面は省略。動いたから良いでなくて、覚えるのには、見直しが必要です。多分。結構難しかったと思います。自分には。

戦いはゲームだけに、市民が

犠牲の戦いは止めてほしい。


70歳でも、はじめられる、ゼロからのPythonかな >>VS2022 VB No23 Form間の双方向データ渡し インスタンス

2022-03-10 11:56:38 | C#、VBなど

クラスの定義、メンバ変数にはPropertyを付けたほうが楽なようです。

ClassをPublic指定しているので、Form1からでも参照できるようです。Propertyを使っているとWith句が使えるので楽ですね。

Form2へaPersonを渡しています。

コンストラクタでaPersonを受けているようです。その他は変わりなしです。以下実行画面。

Form2から”OK受け取りました"が帰ってきましので、クラスのインスタンスを渡すことが出来ました。これでネタ本へ戻れます。

 


70歳でも、はじめられる、ゼロからのPythonかな >>VS2022 VB No22 Form間の双方向データ渡し

2022-03-10 08:57:57 | C#、VBなど

 前回は、Form2からのデータをForm1で受け取りましたが、ネタ本を少し読むとそれだけでは駄目のようです。Form1からForm2へデータを渡すことも必要そうです。

配列を渡す例がネットに有ったので、それを入れてみました。

下はForm2のデザイン画面。

 

以下は実行中の画面。

 数値の配列を渡して、帰ってくるのはテキスト。それは良いかもしれませんが、例えばクラスのインスタンを渡して、返すのはどうすれば良いのでしょうか?


70歳でも、はじめられる、ゼロからのPythonかな >>VS2022 VB No22 Form間のデータ渡し

2022-03-09 10:22:27 | C#、VBなど

Form1のデザイン。

Form1のコード。

Form2のデザイン。

Form2のコード。

以下は実行の画面。

 すべてネットから頂きました。サンプルが色々有ったんですが、なかなか思い通り行かなくて、上が一番近いし、出来ました。その他は良く分からないし、動きませんでした。理解が足りないのですが。

 通常VBのFormアプリを選択すると、Form1が作られます。Formを追加するのにも、悩んでました。My Projectに追加もできましたが、追加したForm2のデザインやForm2.vbが表示されません。一段上のソリューションを右クリック、追加、フォームで行うと正常そうです。何か違いが有るのかもしれません。

 「12歳からはじめるゼロから…」の7章には戦闘画面が有って、その結果を元の画面に返すとこがあったので、それを調べてました。


70歳でも、はじめられる、ゼロからのPythonかな >>VS2022 VB No20 7章はクラスから始まります。クラス終

2022-03-07 14:12:25 | C#、VBなど

PropertyとGetとSetをセットで使う方法。一番良いのかもしれません。

pNamaeなど変数のように使えます。

 

これでクラス自体を終わって、ゲームに戻ります。


70歳でも、はじめられる、ゼロからのPythonかな >>VS2022 VB No20 7章はクラスから始まります。再度。

2022-03-07 11:20:51 | C#、VBなど

どうもクラスのメンバを決める時は、DimでなくPropertyを使うのが筋らしいです。そうすればWith句が使えますね。

PropertyがPublicなので、直接代入できます。aStudentはForm1_Loadに書くと、Button1_Clickから見えません。

ここでは簡単の為に、PropertyをPublic指定してます。

 Studentクラスのメンバ変数をPrivateにしてみます。クラス外から見えなくなるので、setとgetの関数から行ってみます。関数はPublicにします。

実行後の画面はした。


70歳でも、はじめられる、ゼロからのPythonかな >>VS2019 VB No18 ゲーム風、6章完成!

2022-03-04 09:25:43 | C#、VBなど

「12歳からはじめるゼロから…」今回で6章まで終わり。次回からは7章に入ります。

 

勇者の移動でゴチャゴチャになってきたので、ネタ本を参考にmove_check()を入れてみました。スッキリです。

ending()を追加しました。PictureBoxは削除しました。でも、Form1は残ってます。終了で全てのオブジェクトは削除されるんですかね?

スタート直後。

カギをGetでGoalまであと一歩。

 まあ大体、ネタ本と同じです。意外とLabelに出力も楽でない。ゲームの戦いは誰にも迷惑かけないので、良いんですが、他人を巻き込んだり人を殺すのは、絶対ダメでしょう。

 遅ればせながら、今日我が家でフレッツ光の工事が午後入ります。現在よりコスト上昇ですが、多分月で2000円程度、どの程度のスピードが出るか少したのしみです。ADSLの現在は、平均で800kb/s位ですのでその倍位は期待したいですが、やってみないと分かりません。VS2022などはダウンロードに数時間かかります。2から5時間位かも?インストールの構成によりますが。


70歳でも、はじめられる、ゼロからのPythonかな >>VS2019 VB No18 ゲーム風、勇者を動かす矢印キープラス

2022-03-03 09:47:52 | C#、VBなど

矢印キーの移動も追加してみました。けどおかしい?

 マウスでクリックと矢印キーを追加してみました。でも、矢印キーを押すとフォーカスが上のクリックのButtonへ移ります。Tabを押してから、矢印キーを押します。