Nintendo Switch 版ダウンロードソフト 'プチコン4' で遊べるマインスイーパ YOS_MINE4 と PC からプチコン4へファイルを転送するためのソフトウェア Petit4Send の簡易説明書を公開。

Nintendo Switch|ダウンロード購入|プチコン4 SmileBASIC
https://ec.nintendo.com/JP/ja/titles/70010000010547

Nintendo Switch 版ダウンロードソフト ‘プチコン4′ で遊べるマインスイーパを作ってみました。良かったらダウンロードしてみてください。公開キーと実行画面を載せておきます。

マインスイーパ(YOS_MINE4)
ヨシアキ
YOS_MINE4
マス目上に置かれたセルを開き、地雷以外のセルをすべて開くゲーム。
公開キー 4TAJVV3NJ

実行画面

2019/08/23(Fri) 19:44:57
麗の小屋 - PetitCom4 File Sender Petit4Send -
http://rei.to/petit4send.html

PCからプチコン4へファイルを転送するためのソフトウェア Petit4Send には大変お世話になりました。簡単な簡易説明書を下記のように書いてみました。

プチコン4で作成したプログラムをPCに転送する方法。

プチコン4で作成したプログラムをPCに転送するのは比較的簡単です。

「Pro Micro」(Arduino互換機)などは必要ありません。

必要なのは Nintendo Switch 本体背面、Nintendo Switch Lite の場合は底面に装着する microSD メモリカード (または microSDHC、microSDXC メモリカード) だけです。

麗の小屋 - PetitCom4 File Sender Petit4Send -
http://rei.to/petit4send.html

上記サイトのダウンロード・頒布より、PCとプチコン4側それぞれにソフトをダウンロードします。

プチコン4の

TOPMENU > ファイル操作 > 使用するプロジェクトを変更

で設定したカレントプロジェクトに P4SEND122.PRG と PC に転送したいプログラムをコピーします。

TOPMENU > プログラムを作る

をタップします。- ボタンを押してソフトウェアキーボードを表示し、Lボタンを押しながらソフトウェアキーボード上部にある ‘簡易LOAD’ をタップして P4SEND122.PRG を読み込みます。次に + ボタンを押して実行します。

表示されるメニューから SCREENSHOT SEND を方向ボタン上下または Nintendo Switch Lite の場合、十字ボタン上下で選び、Aボタンを押して選択します。
ファイル選択画面が表示されるのでPCに転送したいファイルを選びます。

ファイル名や圧縮状態が表示されます。圧縮が終了したら画像の枚数が表示されるので、Aボタンを押して転送したいプログラムの画像を表示します。

Nintendo Switch Joy-Con (L) のキャプチャーボタン (四角いボタン)、Nintendo Switch Lite の場合は、正面左側のキャプチャーボタン (四角いボタン) を押して画像ファイルに保存します。

Aボタンを押すとメニュー画面に戻るので、複数のプログラムをPCに保存したいなら、再度、SCREENSHOT SEND を選んで先ほどと同様にプログラムを画像に変換して保存してください。

ちゃんと画像が保存されているか、Nintendo Switch HOME メニューのアルバムアイコンをタップして確認してください。

電源ボタンを長押しして

電源オプション > 電源OFF

を選んで電源を切ってください。

Nintendo Switch 本体背面、Nintendo Switch Lite の場合は底面から microSD メモリカードを取り出し、SD カードリーダーなどにセットし PC に接続します。

エクスプローラの左側ナビゲーションウィンドウで PC を選んで、SD カードドライブを開きます。

Nintendo という名前のフォルダが見えるはずです。その中の Album フォルダにキャプチャーした画像が入っています。

西暦/月/日 でフォルダ分けされています。2019年08月23日に撮った画像は、Nintendo/Album/2019/08/23フォルダに格納されています。

PC 側のソフト Petit4Send.exe を起動します。

Windows によって PC が保護されましたと表示されたら、詳細情報をクリックすると実行ボタンが現れるのでクリックしてください。

表示されたウインドウの Decode Image タブを選択します。
ウィンドウの中にキャプチャーした画像 (先ほどの例だと Nintendo/Album/2019/08/23 フォルダ内の画像) を全てドラッグ・ドロップしてください。

ウィンドウの内部に画像のファイル名やサイズが表示されます。

Convert ボタンをクリックしてテキストに変換します。

デフォルトだとドキュメントフォルダにUTF-8のTXT形式のファイルとして保存されます。

これでプチコン4で作成したプログラムをPCに転送することができました。

■ PC からプチコン4に画像やプログラムを転送する方法。

PC からプチコン4に画像やテキストを転送するには、「Pro Micro」(Arduino互換機) が必要です。

私が購入した「Pro Micro」(Arduino互換機)は

KeeYees Pro Micro ATmega32U4 5V/16MHz Arduino Leonardo互換マイクロコントローラ Micro USB 開発ボード (3個)
1,780 円

です。

Petit4Send を試すために、私が購入したものは最後に記載してあります。不必要なものもあるし、半田ごてなど別途必要なものもあるので参考程度にしてください。iMac 5K の BootCamp 上 Windows 10 Pro 1903 OSビルド 18362.418 で動作確認済みです。

ブレッドボードは既に所有しているので購入しませんでした。ピンヘッダを差した KeeYees Pro Micro をブレッドボードで固定してはんだ付けしました。結局、TSKツールクリッパー TX303 は必要ありませんでした。

TSK ツールクリッパー TX303

TSK ツールクリッパー TX303

  • メディア: Tools & Hardware

半田付けの土台以外にブレッドボードは使用しませんでした。

麗の小屋 - PetitCom4 File Sender Petit4Send -
http://rei.to/petit4send.html

上記サイトの作り方の手順に従ってください。ただし、私の場合はブレッドボードを使用しないので、ピンヘッダの向きと使用したジャンパーワイヤの種類が違います。下図のようになります。

Windows 10 Proへのドライバのインストールですが、

2019/08/24(Sat) 16:55:42
Arduino - Software
https://www.arduino.cc/en/Main/Software

Arduino IDE をインストールすればドライバもインストールされるので、上記ページからWindows app Requires Win 8.1 or 10 の Get Windows アイコンをクリックしてインストールしました。

すぐに Petit4Send.exe を使って、ファームウェアを Pro Micro に書き込んで試しても良いのですが、所有している LED を使って動作確認することにしました。

Arudino IDEアプリで

メニュー > ファイル > スケッチ例 > 01.Basis > Blink

を選択して LED 点滅のスケッチを開いて、

メニュー > Help > リファレンス
Variables
Constants
LED_BUILTIN
Java/hardware/arduino/avr/variants/leonardo/pins_arduino.h
106:#define LED_BUILTIN 13

より、Pro Micro には Arduino の13ピンがないので LED を7番ピンに繋げることにして、ソースの LED_BUILTIN をすべて 7 に変更しました。あとはマイコンボードに書き込んで LED が点滅するのを確認しました。

Petit4Send.exe の動作確認は、PC と Nintendo Switch を Pro Micro 2台で繋げてから、プチコン4で

TOPMENU > プログラムを作る

をタップし、Xボタンを押してエディタを開きます。

PC 側で Petit4Send.exe を実行し、Keyboard タブを選び、Port を指定して Start ボタン押します。
PC でキーを入力した文字がプチコン4のテキストエディタに表示されれば正常に動作しています。

はんだ付けに不備があり、最初は失敗しました。再度、半田付けをやり直したら、PCからプチコン4に画像やプログラムの転送に成功しました。

■ アマゾンで購入したもの。

2019/07/02(Tue) 23:28:31
Amazon | 本, ファッション, 家電から食品まで | アマゾン
https://www.amazon.co.jp/gp/homepage.html
KeeYees Pro Micro ATmega32U4 5V/16MHz Arduino Leonardo互換マイクロコントローラ Micro USB 開発ボード (3個)
1,780 円
数量: 1
販売: KeeYees-JP
TSK ツールクリッパー TX303
1,616 円
16pt (1%)
数量: 1
販売: Amazon Japan G.K.
注文内容
商品の小計: 3,396 円
配送料・手数料: 0 円
合計: 3,396 円
Amazon ポイント: -14 円
ご請求額: 3,382 円
TSK ツールクリッパー TX303

TSK ツールクリッパー TX303

  • メディア: Tools & Hardware

秋月電子通商で購入したもの

2019/07/02(Tue) 19:51:02
秋月電子通商 - 電子部品・半導体 【通販・販売】
http://akizukidenshi.com/catalog/top.aspx

オーダーID E??????-??????-??
通販コード 商品名 価格 数量 合計

P-03474 ブレッドボード・ジャンパー延長ワイヤ(メス-メス)15cm赤 1セット 330 円
数量: 1 セット 330 円

C-09313 USBケーブル USB2.0 Aオス-マイクロBオス 0.3m A-microB
1本 110 円
数量: 2 本 220 円

C-07607 USBケーブル USB2.0 Aオス-マイクロBオス 1.5m A-microB
1本 120 円
数量: 1 本 120 円

C-13428 USB OTGケーブル TypeC 10cm
1本 250 円
数量: 1 本 250 円

T-02594 はんだ 0.8mm 1個 210 円
数量: 1 個 210 円

商品小計 1,130 円
送料(佐川急便の場合) 500 円
合計金額(銀行振込、クレジット決済の場合)1,630 円
代引き手数料(金額に関係なく一律) 300 円
合計金額(代引きの場合) 1,930 円

PC 内の音声ファイルをブラウザで再生する Ruby on Rails プログラム yplayer を公開。

PC 内の音声ファイルをブラウザで再生する Ruby on Rails プログラム yplayer を下記 URL で公開します。

kyoshiaki/yplayer
https://github.com/kyoshiaki/yplayer
yplayer/README.md
https://github.com/kyoshiaki/yplayer/blob/master/README.md

詳しい解説は上記 URL の README.md を参照してください。README.md は Markdown 記法で書かれています。上記サイトでプレビューを見ることができます。

最近だと Markdown 記法ファイルの表示、編集には下記 URL の エディタ Visual Studio Code を使うのが一番簡単です

Visual Studio Code - Code Editing. Redefined
https://code.visualstudio.com/

GitHub や git に不慣れだったり、私にとって Ruby on Rails の仕組みが複雑すぎて yplayer がうまく動作するか心配ですが、よかったらダウンロードしてみてください。

後、私の運用方法ですが、Raspberry Pi 2 Model B に

2018/11/04(Sun) 00:05:40
【 日本正規代理店品 】 Seagate 外付けハードディスク 2TB 3.5インチ USB3.0 3年保証 Expansion デスクトップ STEB2000100
販売: Amazon Japan G.K.
¥ 8,380
注文内容
商品の小計:¥ 8,380
配送料・手数料:¥ 0
注文合計:¥ 8,380
タイムセール割引:-¥ 1,200
ご請求額:
¥ 7,180

上記、アマゾンのタイムセールで安売りしてた Seagate 外付けハードディスク 2TB 3.5インチ USB 3.0 (Raspberry Pi の USB 規格は 2.0 です。) を ext4 形式でフォーマットして繋げ、

yplayer/tools/README.md
https://github.com/kyoshiaki/yplayer/blob/master/tools/README.md

上記 tools/README.md で紹介したスクリプト rec_radiko_live.sh を crontab で指定時刻に起動するように予約して Radiko を録音しています。

以前は 64GB の SDカードに録音し、拙作 delete.py を使ってディレクトリごとに最新 28 個のファイルだけ残すようにしていたのですが、SD カードでエラーが出るようになったので、ハードディスクに保存するように変更しました。今現在、録音した音声ファイルは全て残しています。

録音に失敗したら macOS Mojave バージョン 10.14.3(18D109)のターミナルで、同じ上記 tools/README.md で紹介したスクリプト rec_radiko_ts.sh を使ってダウンロードしています。ダウンロードした音声データはコマンド scp を使って Raspberry Pi 2 Model B に繋げたハードディスクにコピーしています。

yplayer は Raspberry Pi 2 Model B の電源を入れたら systemd を使って自動起動するようになっています。

上記スクリプトで録音した Radiko の音声ファイルを yplayer を使って iPhone XS MaxSafari で聴いています。
ほとんど自動化されているので聴きたくなったら Safari を起動する感じです。

Raspberry Pi 2 Model B に不満がないので Raspberry Pi 3 Model B+ は買うか悩んでいます。
Synology などの NAS にも興味があります。NAS があれば yplayer も必要ないかもしれません。

ニンテンドー 3DS プチコン3号 SmileBASIC 版 チェスプログラム YOS_CHESS [Chess Program] 公開

以前、ブログを書いてから一年ぐらい経ちますが、色々取り組んでいました。ニンテンドー 3DS ダウンロードソフト ‘プチコン3号’ でコンピュータと対戦できるチェスプログラムを作ってみました。

公開キー、実行画面、動画を載せておきます。

YOS_CHESS (YKChess)
チェス
コンピュータと対戦できるチェスプログラム。
公開キー W2E433R4

実行画面

動画

麗の小屋 - Phono Transceiver PetitModem -
http://rei.to/petitmodem.html

上記 PetitModem Ver. 1.2.7 の使い方を解説した PDF ファイルと Mac 上のテキストエディタ CotEditor でプチコン3号のソースをカラーリング化する定義ファイルなどをまとめた SmileBASIC.zip も公開します。

PetitModem Ver. 1.2.7 の使い方、SmileBASIC 用 CotEditor 定義ファイル
[ SmileBASIC.zip ]
http://kyoshiaki.sakura.ne.jp/osx/Sample/SmileBASIC.zip

上記 URL に含まれる PetitModem Ver. 1.2.7 の使い方を解説した PDF ファイルは、結構苦労して作成しました。良かったらぜひダウンロードして読んでみてください。

チェスプログラム YOS_CHESS.PRG は、

Chess Engine In C - YouTube
https://www.youtube.com/playlist?list=PLZ1QII7yudbc-Ky058TEaOstZHVbT-2hg
Vice (Video Instructional Chess Engine)
Sources (ソース)
http://bluefever.net/Downloads/ViceReadMe.html

上記 URL の YouTube のチェスプログラミング講座とソースを参考に作成しました。

chessprogramming - home
https://chessprogramming.wikispaces.com/
Chessprogramming wiki
https://www.chessprogramming.org/Main_Page

チェスプログラミングの用語、変数名は、上記 URL の Wiki で検索し、理解しました。

プチコン3号の変数は

整数型…変数名末尾が %
32ビット符号あり
データ型 #
倍精度実数型…変数名末尾が #
(省略可能・デフォルト)
64ビット

上記のように整数型とデータ型があります。64ビット整数型の変数が使えないので、局面を64ビットのハッシュ値で表すことができません。そのため、

three-fold repetition (同局面三反復、3レピティション)
同じ局面が3度現れるとドローを主張できる。

Threefold repetition には対応していません。

YOS_CHESS (YKChess) の強さは、Level 5 でも Xboard に一度も勝つことができませんでした。非常に弱いので、初心者向けです。

macOS Sierra バージョン 10.12 付属のチェス (バージョン 3.13) で、2手先まで考えるように設定し、3回対戦しました。YOS_CHESS (level 5) の2勝1引き分けでした。

英語が苦手なのでメッセージの英語表記には、おかしな箇所があるかもしれません。

チェスプログラムを作成してみて、以前より理解が深まったので

2005/06/15(Wed)
リバーシアルゴリズム C++&Java対応—「探索アルゴリズム」「評価関数」の設計と実装 - Seal Software
¥ 1,995
リバーシのアルゴリズム C++&Java対応―「探索アルゴリズム」「評価関数」の設計と実装 (I・O BOOKS)

リバーシのアルゴリズム C++&Java対応―「探索アルゴリズム」「評価関数」の設計と実装 (I・O BOOKS)

2005/03/08(Tue)
コンピュータ将棋のアルゴリズム—最強アルゴリズムの探求とプログラミング - 池 泰弘
¥1,995
コンピュータ将棋のアルゴリズム―最強アルゴリズムの探求とプログラミング (I・O BOOKS)

コンピュータ将棋のアルゴリズム―最強アルゴリズムの探求とプログラミング (I・O BOOKS)

以前購入した上記2冊を読み返してみようと思いました。ただし、書籍「コンピュータ将棋のアルゴリズム」は紛失してしまいました。

ところが最近、最新刊が

2016/09/07(Wed)
Java将棋のアルゴリズムアルゴリズムの強化手法を探る (I・O BOOKS)
池 泰弘
¥ 2,484

発売されていました。上記、書籍とソースを参考に理解を深めています。

最後に YOS_CHESS (YKChess) の取扱説明書 README_JA.PRG の内容を添付しておきます。

===== README_JA.PRG =====

'
' YKChess (YOS_CHESS.PRG)
' Version 1.0 Programmed by KYoshiaki
'
'【概要】
'
' YouTube のチェスプログラミング講座とソースを参考に、プチコン3号で
' コンピュータと対戦できるチェスプログラムを作ってみました。思考ルーチンは、
' 単純なアルファ・ベータ法を使用しています。非常に弱いので、チェスを始めてみたい
' 人向けです。
'
'【説明】
'
' YKChess には、3つのモード
'
' ・プレイモード
' ・プレイヤーのタイプ、レベル選択モード
' ・棋譜再生モード
'
' があります。
'
' YOS_CHESS.PRG を実行すると `プレイモード´ に入ります。
'
' New ボタンをタッチすると `プレイヤーのタイプ、レベル選択モード´、
' Play ボタンをタッチすると `プレイモード´、
' `プレイモード´ でゲームが終了するか、Resign ボタンをタッチすると
' `棋譜再生モード´ に入ります。
'
'■ プレイモード
' 駒を動かして、ゲームをプレイできます。
'
' 駒の移動は、駒をタッチして選択し、次に移動したいマス目をタッチしてください。
' Assistant ラジオボタンがオンなら、選択した駒の移動可能なマス目が緑色で
' 表示されます。
' Assistant ラジオボタンをタッチしてオフにすると、移動可能なマス目は表示
' されません。
'
'■ プレイヤーのタイプ、レベル選択モード
' New ボタンをタッチするとプレイヤーのタイプ、レベル選択モードに入ります。
'
' White(白), Black(黒) それぞれのプレイヤーの Type (タイプ)、
' Level (レベル) をポップアップメニューをタッチして選択できます。
'
' Type は、2種類あります。
'
' You: あなた
' Machine: コンピュータ
'
' Level (レベル)は 1 から 5 まで選択できます。YKChess では
' レベル 5 が最強です。
'
' コンピュータ同士の対戦を終了したい場合は、START ボタンを押して強制終了
' してください。
'
' Eval は、思考ルーチンの情報を表示します。
'
' Material:
' 駒ごとに割り当てた点数の合計で評価する関数を使用します。
'
' Table:
' 駒の点数と盤上の位置に割り当てた点数の合計で評価する関数を使用します。
'
' Depth:
' 先読み数(半手)。
' チェスの1手先読みが、Depth 2 になります。
'
' Level: 2
' Eval:
' Material
' Depth: 2
'
' この場合、思考ルーチンは、1手先読みのアルファ・ベータ法で、評価関数は
' Material 使用しています。
'
'■ 棋譜再生モード。
'
' |<
' 棋譜の最初に移動。
' <
' 半手戻す。
' >
' 半手進める。
' >|
' 棋譜の最後に移動。
'
'【ボタンの解説】
'
' New
' 新規のゲーム
'
' Play
' ゲームの開始
'
' Undo
' 1手戻す
'
' Flip
' チェス盤の反転
'
' Resign
' リザイン
' 投了
'
' Quit
' プログラムの終了。
'
' 【情報】
' Ply: half-move
' 半手数。
' 白と黒のどちらか半手動くと Ply が 1 増えます。
'
' チェスの1手は、Ply では 2 になります。チェスでは、白、黒、両方動いて
' 1手になります。
'
'
' DIALOG
'
RESTORE @DIALOG
READ NUM
FOR I=0 TO NUM-1
READ TEMP$
TEXT$=TEXT$+TEMP$+CHR$(13)
NEXT
DIALOG TEXT$,0
@DIALOG
DATA 3
DATA "取扱説明書は README_JA.PRG に記載されています。"
DATA "作業用プロジェクトを YOS_CHESS に変更し、'SmileBASICでプログラムを作る' から"
DATA "ファイル README_JA.PRG を読み込んで閲覧してください。"