小学校の先生を忖度した掛け算

ポイントは、足し算のループを使って乗算の演算子を使わずに掛け算の結果を格納する点です。

for (k=1; k <= j; k += 1) {     // i+i+・・・+i をj回繰り返すループ
    mat[i][j] += i;        // 配列に格納
}

https://stuffy.mydns.jp/~gusachan/javascript/multiplicativeMatrix.html

// (m x n)の2次元配列を定義

Array.matrix = function (m, n, initial) {
    var a, i, j, mat = [];
      for (i=1; i < m; i += 1) {
        a = [];
        for (j = 0; j < n; j += 1) {
          a[j] = initial;
        }
        mat[i] = a;
      }
      return mat;
}

// ゼロで埋められた 10 X 10 の行列を生成する

var myMatrix = Array.matrix(10, 10, 0);

// 配列にループで九九の計算結果を入力する

Array.multiplicative = function (n) {
    var i, j, mat = Array.matrix(n, n, 0);
    for (i=1; i < n; i += 1) {
      for (j=1; j < n; j += 1) {
        for (k=1; k <= j; k += 1) {        // i+i+・・・+i をj回繰り返すループ
          mat[i][j] += i;        // 配列に格納
        }
        mat[i][j] = i +" ×" +  j + " =" + mat[i][j]  kループ外で出力
      }
    }
    return mat;
};

myMatrix = Array.multiplicative(10);

// 生成された行列を書き出すメソッド

Array.output = function (m, n) {
  window.onload = function() {
    var mat = Array.multiplicative(n);
    var divId = document.getElementById('result');
    var table = document.createElement('table');
    divId.appendChild(table);
    var tbody = document.createElement('tbody');
    table.appendChild(tbody);
    for (var i = 1; i < m; i++) {
      var tr = document.createElement('tr');
      for (var j = 1; j < n; j++) {
        var td = document.createElement('td');
        td.innerHTML = myMatrix[i][j];
        tr.appendChild(td);
      }
      tbody.appendChild(tr);
    }
    return mat;
  }
};

printMatrix = Array.output(10,10);

Web記事を印刷するなら

Google ドキュメントが便利、これだけは伝えたかった。

ブラウザから選択したテキストを印刷しようとするとテーブルやレイアウトまでそのままでコピーされるのでうまくいきません。そんなときに使えるサービス、Google ドキュメント。

右下の+アイコンをクリックして[新しいドキュメントを作成]

プリントアウトしたいWeb記事を選択、コピペ、印刷するとPDFに変換してくれます。

.jpg や .png などの画像形式のドキュメント、文字列もいったん、Google ドライブにアップロードして右クリック、[アプリで開く]-[Googleドキュメント]すると画像を読み取ってテキストデータに自動で起こしてくれます。(変換精度は解像度に比例して良くなります)

今まで何故、使わなかった・・・。(後悔)

tar 空のアーカイブ作成はご容赦願います

マインクラフトでマルチプレイヤーのForge サーバーをtar コマンドでバックアップしようとすると件のエラーで怒られた。

コマンドは以下。相対ディレクトリでforge/ だけバックアップしようと -C オプションを使ったのが原因らしい。

# tar cfvz minecraft_forge_`date +%Y%m%d-%H%M%S`.tar.gz -C /usr/local/minecraft/forge

ちなみにバグではなくアイテムで空を飛べる「エリトラ」をゲットするコマンドはこちら。

give @p minecraft:elytra

エリトラをチェストプレートの代わりに装備して、ジャンプボタンを連打すると空中滑空できました。

Bluetooth スピーカーの接続がptpt 切れる

表題の通りです。スピーカーで音楽を聴いているとptpt 接続が切れて困っています。

[コントロールパネル]-[ネットワークと共有センター]-[アダプターの設定の変更]-[Bluetooth ネットワーク接続]アイコンを右クリックして[無効]にするとよいそうです。

 

Windows10 1709 でサインインを2回要求される

表題の通りです。Windows10 Fall Creators Update での症状です。アカウントを2人以上登録しているとなるようです。改善方法は、[設定]-[アカウント]-[サインインオプション]-[更新または再起動の後にサインイン情報を使ってデバイスのセットアップを自動的にに完了します]スイッチを[オフ]にするとよいそうです。

最初、ようこそ画面でフリーズしたのかと思いました。

参考URL:

Windows 10:サインインが2回要求される(Ver.1709)

wpmathpub のアップデート

WordPress の数式表示プラグイン WpMathPub が、1.2.0 にバージョンアップしました。

変更点は、PHP7 に対応したとのことですが当方の環境ではプラグインを有効化すると投稿が表示されない現象で困っています。現在、原因を調査中ですが詳細が分かり次第報告したいと思います。

 

WordPress 続きを読むのカスタマイズ

WordPress の投稿に[続きを読む→]タグを追加しても効かなく、1年来困っていましたが、PHPのちょっとしたカスタマイズで表示できるようになりました。

「続きを読む」のカスタマイズ – WordPress Codex 日本語版

[ダッシュボード]-[外観]-[テーマの編集]-[個別投稿(single.php)]の編集をクリックして、

loop の中の’content’ の前、the_post()後に、

                while ( have_posts() ) : the_post();
global $more; ← (挿入)
$more=0;     ←――╃

を挿入します。

めでたく、続きを読むタグが表示されました。
続きを読む WordPress 続きを読むのカスタマイズ

マイクラで落とし穴

Python で自分の立ち位置の周りを空気ブロックに変えて敵を落としてダイアモンドブロックに変えるプログラムを作ってみた。

pitfall.py

from mcpi.minecraft import Minecraft
from mcpi.block import *
mc = Minecraft.create()
pos = mc.player.getTilePos()

for posX in range(20):
    for posZ in range(20):
        for posY in range(20):
            mc.setBlock(pos.x+posX,pos.y-posY,pos.z+posZ+1,AIR)
            mc.setBlock(pos.x+posX+1,pos.y-posY,pos.z-posZ,AIR)
            mc.setBlock(pos.x-posX,pos.y-posY,pos.z+posZ+1,AIR)
            mc.setBlock(pos.x-posX-1,pos.y-posY,pos.z-posZ,AIR)
for posX in range(20):
    for posZ in range(20):
        for posY in range(20):
            mc.setBlock(pos.x+posX,pos.y-posY,pos.z+posZ,DIAMOND_BLOCK)
            mc.setBlock(pos.x+posX,pos.y-posY,pos.z-posZ,DIAMOND_BLOCK)
            mc.setBlock(pos.x-posX,pos.y-posY,pos.z+posZ,DIAMOND_BLOCK)
            mc.setBlock(pos.x-posX,pos.y-posY,pos.z-posZ,DIAMOND_BLOCK)
                

敵に攻撃されているときに使っても敵は落ちない、というバグがあります。近寄られる前に打つべし。
 

Fall Creators Update

修理から戻ってきたVAIO をWindows7 からクリーンインストールして、Windows10 Fall Creators Update にUSBメディアからアップグレードしようとしてライセンス認証エラーを起こしました。

Microsoft カスタマーサポートに問い合わせると、Windows7 からのライセンスキーに問題はないとのこと。

ダウンロードサイトから、ネットワークインストールを勧められたので教えられたURLからダウンロード、インストールできました。

追記)ちなみに、焦って手の油でギトギトに汚れたインストールディスクで起動したときのエラー画面が以下。

インストールするときは、落ち着いて清潔、丁寧な作業を心掛けたいものですね。

マイクラ・ポーション

牛乳で解毒できるとは・・・。

give @p minecraft:potion 1 0 {Potion:long_invisibility} (暗視)
give @p minecraft:potion 1 0 {Potion:strong_regeneration} (再生)
give @p minecraft:potion 1 0 {Potion:strong_instant_health} (治癒)
give @p minecraft:milk_bucket (牛乳)解毒用
minecraft:speckled_melon (きらめくスイカ)
minecraft:blaze_powder (ブレイズパウダー)
minecraft:cobblestone (丸石)
minecraft:blaze_rod (ブレイズロッド)

きらめくスイカは治癒のポーション用に。ブレイズロッドと丸石は醸造台をクラフト。ブレイズパウダーはパワーアップなんですと。備えあれば患いなし、ですね。

追記)治癒のポーションはゾンビやスケルトンに投げると倒せるらしい。

give @p minecraft:gunpowder (火薬)

火薬とポーションをクラフトするとスプラッシュポーションになり攻撃もできますぜ。