クラフトピアというやばいゲーム。

Steamでリリースされたクラフトピアとかいうゲーム。

アーリーアクセス版リリース前から知っていたけど、

実際にプレイしたらすごかった。

一頃では表現難しいけど、マインクラフトとマインクラフトダンジョンズを一緒にしたようなもの。

うん、これじゃよく分からない。

マインクラフト的要素

このゲームは裸(下着のみ)でスタートし、フィールドにある資源を破壊して収集、それらからいろんなアイテムや設備を作成して生き延びます。

作れる物は食料だったり、設備だったり、建築物だったり、装備だったり。

建築はフォートナイトのイメージに近いかもしれない。

マインクラフトダンジョンズ(ハスクラ)的要素

フィールドにはモブや敵モブが存在します。

彼らとの戦闘はマウスボタン押しっぱなしでひたすら殴る、というバトルスタイルです。

もちろん戦闘用スキルもあり、格闘攻撃だったり、魔法だったりを覚えて使用することが出来ます。

スキルはレベルが一つ上がると1ポイント獲得し、好きなスキルにポイントを振ることが出来ます。

また、ダンジョンの奥には強敵が存在し、そのボスを倒すと強力な装備が手に入る可能性があります。

最終目的は文明をもう一度一からやり直すこと。

祭壇に一定数のアイテムを納めると、文明レベルが上がり、作成できる物が増えます。

より出来ることが増えていきます。

マインクラフトのように自動化機構も出来ちゃうとか。

オイラはまだまだ序盤だけど面白いので、もうちょっとやり込んでみます。

アーリーアクセス版なので、いろいろバグが残っているようです。

地面を突き破っちゃいました。

【ANDROID】【実質北海道一周】残りの表示部分を実装する。【完成】

前回までの状況はこちら。

最新ソースはこちら

https://github.com/takishita2nd/AroundHokkaido

残りの、数字を表示する部分を作成していきます。

完成までもう少しです。

必要なデータは、

全体の距離(km)と現在位置(km)

区間の距離(km)と現在位置(km)

パーセンテージは上の数字があれば計算で出せます。

全体の距離はjsonを読み込んだときに計算して保持っておくのが良いでしょう。

全体の距離はすでに覚醒済み。

区間のデータはgetPosition()で取得させるのが良いでしょう。

class StartEndPosition(startCity: String, endCity: String, position: Double, segment: Double) {
val startCityName : String = startCity
val endCityName : String = endCity
val positionDistance: Double = position
val segmentDistance: Double = segment
}
    fun getPosition() : StartEndPosition {
var tempDistance = 0.0
var start : String = ""
var end : String = ""
var loop : Boolean = false
var segment: Double = 0.0
var aaa: Double = 0.0
run {
citylist.cityList.forEach{
if(loop){
end = it.city
return@run
}else{
tempDistance += it.distance
if(resultDistance < tempDistance){
start = it.city
aaa = resultDistance - (tempDistance - it.distance)
segment = it.distance
loop = true
}
}
}
}
return StartEndPosition(start, end, aaa, segment)
}
}
distanceFromStart.text = distancefromSapporoFormat.format(aroundHokkaido.getResultDistance(),
aroundHokkaido.getResultDistance() / aroundHokkaido.getTotalDistance() * 100)
distanceSection.text = distanceFormat.format(startEnd.positionDistance,
startEnd.positionDistance / startEnd.segmentDistance * 100)

とりあえず完成だけど、ぶっちゃけこのアプリ自体、そんなに面白くないなぁ。

まぁ、一通りどんな感じでコーディングするのか、それを経験するのには良かったのではないでしょうか。

これとは違うけど、別アプリも考えてみようと思います。