kotlin_version 1.2.30からビルドの仕方が変わったのかRealmのビルド時にエラーが出るようになった。 Original kapt is deprecated. Please add "apply plugin: 'kotlin-kapt'" to your build.gradle. ので言われたようにプラグインを追加する apply plugin:…
KotlinともFEHとも関係ありませんがScalaMatsuri 2018でImplicitの発表を見てようやく理解できたのでJava使いから見たImplicitの話を書きます。なお私はScalaは素人同然なので記事は修正・削除される可能性が大いにあります。 これもScalaMatsuriの感想ブロ…
前置き あるオブジェクトのメソッドはそのオブジェクトを操作対象にしたコードブロックである、という話をしました。↓の二つは同じオブジェクトを対象にするときは等価です。 class A (var x : Int){ fun incX() = x++ val incX:(A)->Int = {a->a.x++} } そ…
RPGやSLGの多くでは敵味方キャラクター間の戦闘が発生し、お互いにダメージを与えHPを削りあいます。この時に能力値をパラメータとしてダメージを計算することになるのですが、これがゲームバランスやギミックの要求により結構面倒な計算式になったりします…
Javascriptのブラウザ版を作ったのをQiitaに書いたけどこっちに書いてないのすっかり忘れてた…。 Fire Emblem Heroes Battle Simulator そろそろなんか機能追加とかプレイ画面作成とかしないとな。 要約 Javaに依存せずDDD的にKotlinだけでモデルを記述すれ…
本当はKotlin multi-platformでAndroid用のソースをjsに変換していたのだが上手く動かないので断念してQiitaへ投稿した記事を転載する。変換してオブジェクトを作るまではうごくのだがinit()内で自分の関数が呼べない…明日Kotlin側のソースを修正して上手く…
Error:Failed to complete Gradle execution. Cause:Write access is allowed from event dispatch thread only とGradleがエラーをはくことがある。File > Project Structure > SDK LocationでUse embeded JDKを選ぶと直る。 今マルチプラットフォーム対応…
またやってしまった… Androidでライブラリのモジュールを作るにはbuild.gradleで頭の apply plugin: 'com.android.application' を apply plugin: 'com.android.library' に変えればいいのだが、 適当にプラグインをコピペするとapplicationに戻ったりしてこ…
今日も忘れないうちにQiitaへ投稿した記事の転載。いいねは一個もつかなかったな…みんな値オブジェクト嫌いなのかなあ。便利なんだけどなあ。 アカンならアカンで罵倒くらい欲しいな… Kotlinでは実装を他のクラスへ委譲(Class Delegation)することができます…
個人開発 Advent Calendar 2017 の三日目の記事からアプリの説明を転載。自分で書いた奴だから良いよね? qiita.com この記事は筆者が初めて作ったAndroidアプリの設計を解説します。何分初めてなものなので問題があったら指摘をいただければ記事(とアプリ…
UI(android依存部) UIは実質画面のみ。シミュレータ画面とキャラ登録画面。登録画面は後で。 シミュレータ画面では選択したキャラと他のキャラをRepositoryに出してもらって戦いを指示するだけ。戦うロジックは全てビジネスロジック部に入っている。 ロジッ…
最近よく見るでも前からあるけれど実践するにはどうすればいいかさっぱり分からないドメイン駆動設計(DDD)でFEH Battle Simulator(以下FEHBS)を作ってみます。個人開発でないと実践するチャンスが少ないですからね。 ドメイン駆動設計 - Wikipedia なんに…
Google playでリリースしました。と言っても、FEH Mass Duel Simulatorのようにユニットを指定して全ユニットとの戦闘結果を予測して出すだけですが。 play.google.com しばらくオープンベータにしていたけど反応が無いというかオープンベータ画面へのアクセ…
構成かえて作り直したら2か月経ってる…だと… とはいえ戦闘結果を出すシミュレータはできたのでそのうちにAndroidで公開する予定 どうせ公開するならソースも公開しようと思うので初めてGitHubを使ってみる。 まずはGitをインストール。設定は全部デフォルト…
Actorの話をする予定だったのがupdateのサジェスチョンをホイホイ通したらスクリーンショットをとろうとして起動するとエラーを吐くように。 エラーメッセージは以下 Error:Error converting bytecode to dex:Cause: Dex cannot parse version 52 byte code.…
westplain.sakuraweb.com のソースをそのまま使ってしまいましょう。実行画面はこんな感じです。 さてこのサンプルは当然ながらJavaなのでKotlinに変換する必要があります。 とはいっても、対象のファイルを選択してからメニュー>Code>convert Java File to…
とりあえずLibGDXを取ってきてセットアップします。 libgdx セットアップと言ってもgdx-setup.jarを落として実行するだけです。 AndroidStudio、つまりIDE用のセットアップ項目もあるのでこれもチェック。 Generateを押してプロジェクトを作成。 AndroidStud…
いざゲームを作ると言ってもどこから手を付けていいか分からないものです。 そこで、まずシナリオを考えます。ゲームのストーリーではなくユースケースシナリオ、つまりユーザがこのゲームとどう関わるのか、どういう手順で遊ぶのか、というシナリオです。 …
ファイアーエムブレムヒーローズ(以下FEH)というスマホゲームがあります。つい先月リリース1/2周年を迎えました。 fire-emblem-heroes.com このFEHと言うゲームがどういったゲームであるのかはまあ遊んでみればわかるとして、このゲームは ルール・ダメー…