Cou氏の徒然日記

ほのぼの日記ブログです。

Go言語の学習 その3 (importとdebug)

◆ Go言語のパッケージインポート(import)

今回は、別ソースに関数を実装、いわゆるソース分離をしてみようかなと。

main.go(main関数を定義)と同じ階層に、hello.go を作成。

 

パッケージ名は、mainと同じ階層なので、mainとして、

Hello, world!を標準出力する処理を print_hello関数として実装です。

package main

import "fmt"

func print_hello() {
	fmt.Println("Hello, world!")
}
[main.go]

あとは、main.goのmain関数から、標準出力処理をコメント化(削除)。

package main

import "fmt"

func main() {
	//fmt.Println("Hello, world!")
	print_hello()
}

 

さて、これで実行してみると…

何やらエラー。

どうやら、main.goでは、fmtパッケージをインポートしていますが、実際には未使用なので(未使用になってしまったので)、下記定義がエラーとなっているようです。

import "fmt"

どうやら、Go言語では、未使用パッケージの定義があると、エラーとなってしまうようです。

実際、JavaやCなどでは、各importしているパッケージが使用しているのか未使用なのかは調べないとわからないですし、未使用でも別に重くなるだけでエラーにはなりませんでしたが、Go言語はそのあたり、しっかりしているみたいですね。

 

削除して実行してみると…今度はエラーにならずに起動できました。

Windows板だと、

  • 「F10」で ステップオーバー
  • 「F11」で ステップイン

のようで、関数にステップインしてみると、きちんと呼び出されていることもわかります。

ちなみにデバッグ実行中は、上記のようなexeファイル(実行ファイル)が一時的に生成されるようですね。

【Moving Out 2】(パックトロポリス・シティ編) 02. The Sushi Gardens

■ Moving Out 2 (ムービングアウト2) 

★ パックトロポリス・シティ編 Stage 02. The Sushi Gardens

パックトロポリス・シティの2ステージ目。

荷台側と家側は分断されており、真ん中に右から左へ様々な形の島(プラットフォーム)がベルトコンベアのように動いているステージ。

真ん中の島も、移動しやすい島、移動しにくい島、色々とあるので、どのタイミングで移動するかの選択によって、効率性も変わってきます。

といっても、クリアだけなら特に難しいところはなく、ひたすらタイミングをあわせて運んでいくだけの簡単なステージです。

 

■ ボーナス目標 ■  
  • 噴水の飛び乗れ
  • 窓ガラスを割るな
  • 池のプラットフォームを使うな

 

「噴水の飛び乗れ」はこのプラットフォームが来た時に、真ん中の噴水にジャンプで飛び乗ればOK。


「池のプラットフォームを使うな」は、この池で占められているプラットフォームを使わなければいいみたいです。

移動自体は真っ直ぐなので楽なのですが、まあ、荷物を落としたり、自分を落としたりする可能性もあるので、あえて使う必要もないですね。

 

一番難しいのが「窓ガラスを割るな」

家側は窓ガラスが多いので、うっかり触ったり荷物が触れてしまうと、簡単に割れてしまいます。

そのため、このボーナス目標を狙う時は、とにかく慎重に…とにかく安全に…操作していくしかありません。

壁側はいくら当ててもいいので、時間がかかっても窓側に荷物が行かないようにゆっくり移動させていくのがよさそうですね。

 

www.youtube.com

 

自分の場合は「窓ガラスを割るな」のボーナス目標だけで、4〜5回やり直しましたので…。(苦笑)

www.youtube.com

 

【Moving Out 2】(パックトロポリス・シティ編) 01. The Pool House

■ Moving Out 2 (ムービングアウト2) 

 

前回までで、

  • パックモア
  • スナックモア
  • ミドル・フォークモア

をクリアしてきました。

いよいよ残すは「パックトロポリス・シティ」

「未来」がテーマ?のステージのようです。

 

★ パックトロポリス・シティ編 Stage 01. The Pool House

スタンダードな庭ステージ。

庭…というと、TOOLS UPDLCを思い出しますね(笑)

TOOLS UPのGarden's Partyもかなり面白かったですからね。

このステージは、右横の部屋に入って、ロボット横のスイッチをビンタすれば、ロボットが動き始めます。

このロボット、ウロウロしていますが、軽い荷物を渡すと、荷物を荷台まで勝手に運んでくれるのでかなり便利。

なので、ロボットの進路にうまいこと荷物を置いておけば、自分が荷台に積む手間が省けます。

 

後もう一つは、一番遠いプールエリアにあるギミック(ゴルフマシン)。

飛ばせるものをセットしてボタンを押して威力を調節すれば、荷物を発射してくれます。

うまくやれば、荷台にそのまま入ることも。

プールエリアから荷台までは遠いので、何度も往復するのは面倒なこともあり、少しでも荷物を飛ばして運べると楽ですね。

 

■ ボーナス目標 ■  
  • 空も飛べるはず
  • 触れずに4個の荷物を搬入しろ
  • ゴルフマシンを使って荷物を1個搬入しろ

 

1つ目のボーナス目標「空も飛べるはず!」。

スピッツの曲でいい曲ですよね。

何となくイメージできますが、ゴルフマシンで自分が打たれて飛べば良さそうです。

 

3つ目のボーナス目標も簡単。

軽めの荷物をゴルフマシンにセットして、緑ゾーンの時にビンタして押せば、比較的簡単に入ります。

 

2つ目のボーナス目標は、ロボットを利用する必要があります。

ロボットが荷物をつかめば勝手に荷台に運んでくれるので、いかにロボットに荷物を掴ませるかですね。

ロボットは持ち運びできるので、荷物の前にロボットを移動させて、無理やり荷物を掴ませてしまえば、簡単に個数を稼げちゃいます。

 

www.youtube.com