ryuprogrammer / cheatingjanken Goto Github PK
View Code? Open in Web Editor NEWCoreMLを用いた後出しジャンケンゲームアプリ
CoreMLを用いた後出しジャンケンゲームアプリ
実際にジャンケンができるようにする。ジャンケンボタンを押した時にジャンケンが開始して、ステージに応じて勝率が変化するジャンケン機能を追加
下記のタスクを達成すれば、Issueは完了です。
CoreML取得したユーザーの手を格納する変数を用意して、ステージに応じた勝率でユーザーに勝利する手を出力するようにする。例えば勝率が70%でユーザーがグーを出した場合、70%でパーを出力して、30%でグーまたはチョキを出力する。
iPhoneでジャンケン画像を150枚程度撮影し、CreateMLでモデルを作成する。
下記のタスクを達成すれば、Issueは完了です。
HandGestureViewで、レイアウトが収まっていないのが気になりました。
iPhone13 mini で確認しているのですが、例えば、「戻る」の表示がセーフエリアに被っています。
セーフエリア(Safe Area)とは、iOSデバイス上でアプリケーションのコンテンツが表示されるべき領域を示すものです。
各デバイスの画面の形状が異なるため、セーフエリアを使用することで、アプリケーションのコンテンツが正しく表示されることを保証できます。
iPhone X以降のモデルでは、画面上部にノッチ(カメラやセンサーが配置されている部分)があり、画面下部にはホームインジケーターがあります。これらの部分は、デバイス固有の機能が搭載されており、アプリケーションのコンテンツが重ならないようにする必要があります。
実機 | シミュレータ |
---|---|
![]() |
![]() |
下記のタスクを達成すれば、Issueは完了です。
カメラが起動するまでの時間を短縮
下記のタスクを達成すれば、Issueは完了です。
ジャンケンのテキストとともに「最初はグージャンケンポン」の音声が流れるようにします。
追加で以下の状況でも音声が再生するようにします。
・StageViewでステージを選択したとき
・勝敗が決定したとき
下記のタスクを達成すれば、Issueは完了です。
iPhone8でレイアウトが崩れるので修正
アプリ名変更
カメラ使用の理由を訂正
下記のタスクを達成すれば、Issueは完了です。
MVVM化をして可読性を高める
下記のタスクを達成すれば、Issueは完了です。
AVFoundationを使用してリアルタイム映像を使用できるようにする。撮影ボタンを用意してボタンを押したら写真を撮影でき、その画像をCoreMLで使用できるようにする。
下記のタスクを達成すれば、Issueは完了です。
キャラクター、難易度に応じて「逆転勝利」「逆転負け」などのジャンケンメソッドを作成、適応させる。
下記のタスクを達成すれば、Issueは完了です。
・逆転勝利、逆転負けのメソッド
ある閾値(0〜HPの最大値)を引数として、ユーザーまたは敵のHPが閾値以下になったら勝率とあいこ率(あいこになる確率)を変化させる。
逆転勝利の場合、味方のHPが閾値以下になった場合、勝率とあいこ率を上昇させる。
→必ずユーザーが勝利するわけではないが、勝率とあいこ率が上昇して勝ちやすくなる。
逆転負けの場合、敵のHPが閾値以下になった場合、勝率を低下させる。
→必ずユーザーが敗北するわけではないが、あいこ率と負け率が上昇して負けやすくなる。
敵キャラの特徴
Level 1:勝率を80%に設定する。逆転勝利、逆転負けはなし。
Level 2:勝率を60%に設定する。逆転勝利、逆転負けはなし。
Level 3:勝率を50%に設定する。閾値をHPの4割に設定して逆転勝利を適応。逆転負けはなし。
Level 4:勝率を40%に設定する。閾値をHPの3割に設定して逆転勝利を適応。逆転負けはなし。
Level 5:勝率を30%に設定する。閾値をHPの2割に設定して逆転勝利を適応。逆転負けはなし。
Level 6:勝率を80%に設定する。閾値をHPの3割に設定して逆転負けを適応。逆転勝利はなし。
Level 7:勝率を50%に設定する。閾値をHPの2割に設定して逆転負けを適応。逆転勝利はなし。
本来はリアルタイム映像でCoreMLを使用するが、とりあえず写真でCoreMLを使用する機能を追加
このissueでは写真を撮影する機能はつけず、assetsにあらかじめ保存してある写真を使用する。
下記のタスクを達成すれば、Issueは完了です。
・SwiftUIでCoreMLを使用する。
・Image Classification in SwiftUI App Using Core ML and Pre-trained Model
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.