石橋を叩いて壊すページ

ゼロから始めるFactorioの鉄道構築(便利な機能編)

前回の記事では、連動式列車用信号を使って列車をスムーズに交差させる方法を紹介した。
ここまでくれば、実用的な列車の走行には十分事足りるが、Factorioの鉄道には実はもっと便利な機能が用意されている。
ここでは鉄道に関する様々な便利な機能を紹介したい。

基本編 > 信号編 > 交差点編 > 便利な機能編

同じ名前の駅を複数配置し、列車に選ばせる

Factorioの鉄道では、複数の駅に同じ名前を付けることができる。
列車はその駅に向かう場合、複数ある同じ名前の駅から好きな1つを選んで、そこに向かうようになる。

続きを読む…(あと8,087文字)

ゼロから始めるFactorioの鉄道構築(交差点編)

前回の記事では、線路に信号を配置し、列車同士の衝突を防ぐ方法を紹介した。
列車の扱いに慣れてくるとだんだん線路が長くなっていき、やがて線路の交差点を作りたくなってくると思う。
ここでは線路に交差点を設ける方法と、安全な交差点に不可欠な連動式列車用信号の使い方を紹介したい。

基本編 > 信号編 > 交差点編 > 便利な機能編

線路に交差点を設けるには

線路に交差点を設けるには、単に線路を重ねて配置すればよい。

続きを読む…(あと6,289文字)

ゼロから始めるFactorioの鉄道構築(信号編)

前回の記事から引き続き、Factorioの鉄道について。

前回の記事では単純な線路の引き方を紹介した。
しかし、単純な線路に列車を2本以上走らせると、列車同士が追突してダメージを受けてしまう。
追突を防ぐのに必要なのが列車用信号である。今回はこの信号について紹介する。

基本編 > 信号編 > 交差点編 > 便利な機能編

列車用信号は何をするか?

線路に信号を置くと、線路を複数の区間に区切ることが出来る。
信号を置いた場所を境に、線路は「手前の区間」と「奥の区間」に区切られる。

続きを読む…(あと2,812文字)

ゼロから始めるFactorioの鉄道構築(基本編)

ゼロから始めるFactorioの回路構築に続いて、Factorioの鉄道について。
Factorioには列車の自動運行システムが搭載されており、これを使ってアイテムの輸送を自動化できる。
縦横無尽に走り回って自動で荷物を積み下ろしする列車を見ているだけでもなかなかに見ごたえがある良い機能なのだが、 ネット界隈を見ていると、列車同士がぶつからないように自動制御する方法で詰まる方が非常に多いようなので、一助になればと記事を書いてみることにした。


銅板を作る工場に、原料となる銅鉱石を運び込む列車たち。
4本の線路に整然と並んで順番待ちし、空いた駅があれば滑り込んで貨物を降ろす。
降ろし終わると採掘場へ行き、新たな銅鉱石を積み込んでまたここへ帰ってくる。
そんな動きを数十もの列車が全自動でルート設定、しかも事故を起こさないように加速・減速もやってのけるのだから、見ているだけでご飯が進む。

基本編 > 信号編 > 交差点編 > 便利な機能編

鉄道を使うメリット

アイテムを運ぶこと自体はインサータや搬送ベルトでも可能だが、毎秒数十個しかアイテムを運べないそれらと違い、 鉄道は数百数千のアイテムを載せた貨物車両を複数ひいて時速300km近い速度で走ることができるので、 アイテムの大量・長距離輸送に向いている。

続きを読む…(あと3,176文字)

ゼロから始めるFactorioの回路構築(メモリー回路編)

前回の記事では回路から「現在の」状態を取得していろいろな判断をする回路をご紹介した。
この記事では、「過去に」入力された信号を全て累積するメモリー回路を使った回路をご紹介する。
ちなみに「メモリー回路」という名前は今決めた。軽く調べたが、適当な名前がなさそうだったからこう呼ぶことにする。

メモリー回路とは

メモリー回路には、今までに入力された信号の合計する性質がある。
例えば、インサータには「掴んだアイテムの数」を信号として出力する機能があるが、
インサータの出力信号をメモリー回路に入力すれば「今までに掴んだアイテムの数の合計」を数えさせることが出来る。

続きを読む…(あと5,662文字)

FF14のPC用壁紙

あけましておめでとうございます。今年もよろしくお願いいたします。m(_ _)m

特に新年とは関係ありませんが、PCのデスクトップ背景用に撮ったFF14のスクリーンショットが溜まっていたので公開してみます。
気に入ったのがあればお使いください。
ちなみに私はエフェクトとかデコレーションはあまりしない派です。覚えてる限りほぼ全部、単にPrintScreenを押しただけ。
どこで撮ったか定かでないものもあるので分類は間違っているかもしれない。

2.xエリア

続きを読む…(あと492文字)

脱jQueryしてみた感想文

このブログも開設から約10年経過して、そろそろ古臭い部分やアクセスの遅さも気になって来たので、
見た目のレイアウトは維持しつつ内部コードをごっそり変更してみました。
気になるところがあればコメント欄で教えていただけると助かります。

今までデータベースを中心にした「いかにもブログ然としたブログ」だったんですが、
どうも時々DBにコネクションを張りに行くのに時間がかかってレスポンスが遅れるような動きが見られたので、
今回は趣向を変えて「1990年代の古き良きホームページ然なファイル管理を2020年的な中身で」をテーマにリニューアルしてみました。
おかげでほぼ全部のコンテンツが静的なhtmlファイルです。無駄にこだわってテーマごとにフォルダも分けました。
これでアクセス速度が改善したらいいな。
以前はどういうわけかSQLインジェクションできる穴を探る妙なアクセスも度々あって気になってたけど、今回は動的な部分を減らしたのでだいぶ気が楽になりました。

で、その過程でJavaScriptコードを勉強がてら脱jQueryしてみました。
最初に結論ですが個人サイトレベルで脱jQueryは実用ではないですね。うんざりしました。はい。
以下、あくまで私個人の感想ですのでご承知おきください。あと私の理解が正確でなかった場合はごめんなさい。

続きを読む…(あと4,101文字)

Eclipseで「RPMパッケージ候補リストの更新」が止まらなくなった

CPUが100%にほぼ張り付いていたので調べてみたら、Eclipse(Pleiades)がCPUを消費していた。
調べて見ると、Eclipseの「進行状況」タブに「RPMパッケージ候補リストの更新(キャンセル要求済み)、OK、OK、OK、OK、…」という表示が点滅している。
再起動してみるといったんは落ち着くが数分で再発したり、末期には再起動直後に再発したりで始末に負えない。

調べてみると2013年とかにも起きていたらしいが、環境によるバグじゃない?的なノリで片付けられている。
が、どうにか対処法を見つけたので備忘録に。

  1. Eclipseのメニューから、ウィンドウ→設定→RPM→Spec ファイルエディター→RPM補完 を選ぶ。
  2. Automatically build the RPM packages proposals listのチェックを外す。

これでぴたりと止まる。

この記事を評価するかコメントする

IPoEで自宅サーバを公開してスマホからアクセスする方法

以前から、自宅に自分専用サーバを立てて出先からスマホでアクセスしていたのだが、IPoEに切り替えたところ(当然ながら)アクセスできなくなった。
PPPoE時代とはだいぶ考え方が違うようで設定しなおしで詰まったので備忘録がてら書いておく。
なお、Webサーバ自体は既に稼働していて、LAN内では支障なくアクセスできている状態とする。
また、自宅から外部へは既にIPv6でアクセスできているものとする。
IPv6でアクセスできているかはtest-ipv6.comとか見るとわかる。

外部からLAN内にアクセスできるようにするのは、いうなればわざわざ自分でセキュリティホールを開けるようなものなので、十分に注意しなければならない。

スマホをIPv6接続させる

IPv6での通信はアクセス元とアクセス先が双方ともIPv6である必要がある。スマホから自宅サーバへIPv6アクセスしたいなら、スマホもIPv6でなければならない。
NTTドコモの場合、2017年以降発売の機種で、かつXi(LTE、4G)または5G契約の場合はIPv6に対応しているらしい。
スマホがIPv6かどうかを調べるには、LTE以上のアンテナピクトが立った状態で、上記したtest-ipv6.comにアクセスしてみよう。
ただし、スマホをWiFiに接続したままテストしてもWiFiがIPv6かどうかの確認にしかならないので、いつでもどこからでも自宅サーバにアクセスできるようにするには、WiFiを切ってパケット網から接続確認をしないと意味がない点に注意。

続きを読む…(あと2,492文字)

Javaでグレースケール画像を拡大縮小すると何故か淡くなる件

掲題の件と、ついでに画像の読み書き・綺麗に拡大縮小する方法について調べたので備忘録がてら。

Javaの標準APIで画像を読み込むにはImageIOクラスのreadメソッドが便利です。
こいつにファイルのパスを与えるとBufferedImageオブジェクトを返してくれます。
同様に、writeメソッドを呼べば画像を保存してくれます。簡単ですね。

//画像を読み込む
BufferedImage img1 = ImageIO.read(new File("test1.png"));

//画像を保存する
ImageIO.write(img1, "png", new File("test2.png"));

また、BufferedImageクラス(の基底クラスであるImageクラス)のgetScaledInstanceメソッドを使えば、画像の拡大縮小もお手の物です。簡単ですね。

//元の画像を100x100に拡大縮小した画像を得る
Image img2 = img1.getScaledInstance(100, 100, Image.SCALE_SMOOTH);

画像に線や文字を描画には、BufferedImageからGraphicsを取り出し、ここに定義されているメソッドを呼び出します。
Graphicsには文字を描画するdrawStringや、四角に塗りつぶすfillRect、色を指定するsetColorなど多数のメソッドがあります。簡単ですね。

続きを読む…(あと4,684文字)

Menu