引き算 暗算練習アプリ
引き算をひたすら練習するためのアプリ
使い方
1.「start」ボタンを押す
2.計算結果を入力する
3.正解だったら次の問題が出てくる
これの繰り返し
ダーツ計算練習
ハードダーツで計算する時にパパっと計算できるように練習アプリを作成
開始ボタンを押すとランダムに「残り」と「3本の各点数」を表示します。
3本の合計点の暗算練習と残りの暗算(引き算)を鍛えるのが目的です。
3本の各点数はランダムに表示しますが
1~20までのシングルとトリプルの数だけです。
(キャッチでダブルはない前提)
20,1,5のシングルorトリプルが全体の5割を占めるようにしています。
ダーツアレンジ練習
ダーツのアレンジ練習アプリ
<概要>
このアプリはハードの計算がパパっとできるようになりたい人向けです。
ソフトダーツだと自動計算してくれますが、ハードだと自力計算が基本です。
セオリー通りのアレンジを覚えても実践ではその通りに入らないことがほとんどで周辺ナンバーに入った時に「残りがいくつかわからない!」とパニックになります。リズムも崩れます。
<よくあるパターン>
残り99⇒ 19T狙おう⇒ミスって7T入った
⇒「!?(今残りいくつだ!?)」
こんな感じで狙いとは違うナンバーに入った時でも対応できる力をつけるために作成しました。
<使い方>
①スタートを押すとランダムで残りナンバーが表示されます(初期値61~170)
②残りナンバーに対するアレンジナンバーを押す
③押したナンバーの通りに入る時もあれば周辺ナンバーに入る時もあります。
※実践では隣に入ったりするのでその再現をしてます。19T狙って7Tに入るとか。6割ミスするようにしてます)
④残りナンバーはあえて自動計算しません。知りたい場合は「残りを見る」ボタンで表示できます。
⑤「次ラウンド」を押すと1本目から投げる状態になります
01を楽しむゲームではなくアレンジ練習用なのでシングルとトリプルしか用意していません。残りが0になっても何も起きません。バーストしても何も起きません。
ダーツアレンジ表
61~99までのアレンジ表(セパブルダブルアウト)
表の見方
「No」残りナンバー
「狙」狙うといいトリプルナンバー
「20~10」狙い通りに入った場合の残数(かっこ内はミスってシングル入った時の残数)
※赤色は入ったとしても良くないナンバーが残る(ダブル上がりできない)
No | 狙 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 |
99 | T19 | × | ||||||||||
98 | T20 | 38 (78) |
||||||||||
97 | T19 | × | 40 (78) |
|||||||||
96 | T20 | 36 (76) |
× | |||||||||
95 | T19 | × | 38 (76) |
50 (80) |
||||||||
T15 | ||||||||||||
94 | T18 | × | × | 40 (76) |
||||||||
93 | T19 | × | 36 (74) |
× | ||||||||
92 | T20 | 32 (72) |
× | × | ||||||||
91 | T17 | × | × | × | 40 (74) |
|||||||
90 | T18 | × | × | 36 (72) |
× |
No | 狙 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 |
89 | T19 | × | 32 (70) |
× | × | |||||||
88 | T20 | 28 (68) |
× | × | × | |||||||
87 | T17 | × | × | × | 36 (70) |
× | ||||||
86 | T18 | × | × | 32 (68) |
× | × | ||||||
85 | T15 | × | 28 (66) |
× | × | × | 40 (70) |
|||||
T19 | ||||||||||||
84 | T20 | 24 (64) |
× | × | × | 36 (68) |
× | |||||
T16 | ||||||||||||
83 | T17 | × | × | × | 32 (66) |
× | × | |||||
82 | DB | × | × | 28 (64) |
× | × | × | 40 (68) |
||||
T18 | ||||||||||||
T14 | ||||||||||||
81 | T19 | × | 24 (62) |
× | × | × | 36 (66) |
× | ||||
T15 | ||||||||||||
80 | T20 | 20 (60) |
× | × | × | 32 (64) |
× | × | ||||
T16 |
No | 狙 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 |
79 | T19 | × | 22 (60) |
× | 28 (62) |
× | × | × | 40 (66) |
|||
T17 | ||||||||||||
T13 | ||||||||||||
78 | T18 | × | × | 24 (60) |
× | × | × | 36 (64) |
× | |||
T14 | ||||||||||||
77 | T19 | × | 20 (58) |
× | × | × | 32 (62) |
× | × | |||
T15 | ||||||||||||
76 | T20 | 16 (56) |
× | × | × | 28 (60) |
× | × | × | 40 (64) |
||
T16 | ||||||||||||
T12 | ||||||||||||
75 | T17 | × | × | × | 20 (58) |
× | × | × | 32 (62) |
× | ||
T13 | ||||||||||||
74 | T14 | × | × | 20 (56) |
× | × | × | 32 (60) |
× | × | ||
T18 | ||||||||||||
73 | T19 | × | 16 (54) |
× | × | × | 28 (58) |
× | × | × | 40 (62) |
|
T15 | ||||||||||||
T11 | ||||||||||||
72 | T16 | 12 (52) |
× | × | × | 24 (56) |
× | × | × | 36 (60) |
× | |
T12 | ||||||||||||
T20 | ||||||||||||
71 | T13 | × | × | × | 32 (58) |
× | × | × | 20 (54) |
× | × | |
T17 | ||||||||||||
70 | T18 | × | × | 16 (52) |
× | × | × | 28 (56) |
× | × | × | 40 (60) |
T14 | ||||||||||||
T10 |
No | 狙 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 |
69 | T19 | × | 12 (50) |
× | × | × | 24 (54) |
× | × | × | 36 (58) |
× |
T15 | ||||||||||||
T11 | ||||||||||||
68 | T20 | 8 (48) |
× | × | × | 20 (52) |
× | × | × | 32 (56) |
× | × |
T16 | ||||||||||||
T12 | ||||||||||||
67 | T17 | × | × | × | 16 (50) |
× | × | × | 28 (54) |
× | × | × |
T13 | ||||||||||||
66 | T14 | × | × | 12 (48) |
× | × | × | 24 (52) |
× | × | × | 30 (54) |
T18 | ||||||||||||
T12 | ||||||||||||
65 | T19 | × | 8 (46) |
× | × | × | 20 (50) |
× | × | × | 32 (54) |
× |
T15 | ||||||||||||
T11 | ||||||||||||
64 | T16 | 4 (44) |
× | × | × | 16 (48) |
× | × | × | 28 (52) |
× | × |
T12 | ||||||||||||
T20 | ||||||||||||
63 | T13 | × | × | × | 12 (46) |
× | × | × | 24 (50) |
× | × | × |
T17 | ||||||||||||
62 | T10 | × | × | 8 (44) |
× | × | × | 20 (48) |
× | × | × | 32 (52) |
T18 | ||||||||||||
T14 | ||||||||||||
61 | T15 | × | 4 (42) |
× | × | × | 16 (46) |
× | × | × | 28 (50) |
× |
T11 | ||||||||||||
T19 |
表にするとアレンジに使えるナンバーが階段上になってた。
こう見ると4ずつズレてアレンジ可能なナンバーがあってセオリー通りだと64はT16狙いをよく見るけどT12,T20もいけるんだなってことがわかった。
UILabelで高さを動的に変えるには
UILabelで高さを動的に変えるには
label.numberOfLines = 0; label.text = @"text"; [label sizeToFit];
とするだけでなんですがsizeToFitが動かない時があります。
sizeToFitのタイミングが悪いと効きません。
ポイントはテキストを設定した後に行う必要があると言うこと。
テキスト設定前にsizeToFitを行なっても意味がありません。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; if (cell == nil) { cell = [self cellWithReuseIdentifier:CellIdentifier]; } UILabel *titleLabel = (UILabel *)[cell viewWithTag:1]; titleLabel.text = @"タイトル"; [titleLabel sizeToFit]; // ここ大事!! titleLabelにテキストを設定した後にsizeToFitをする return cell; } // セルをカスタムする - (UITableViewCell *)cellWithReuseIdentifier:(NSString *)identifier { CGRect frame = CGRectMake(0.0, 0.0, 320.0, 120.0); UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]; //subview UILabel *label; frame = CGRectMake(5.0, 7.0, 200.0, 30.0); label = [[UILabel alloc] initWithFrame:frame]; label.tag = 1; label.numberOfLines = 0; label.font = [UIFont boldSystemFontOfSize:14.0]; [cell.contentView addSubview:label]; return cell; }
このサンプルコードではカスタムのセルを作るのにcellWithReuseIdentifierメソッドにてUILabelの設定を行なっていますがもしこのタイミングで[label sizeToFit]を行なってその後にcellForRowAtIndexPathメソッド にてlabel.text = @"text"だけをやっていると思い通りにいかなくなります。
iTunes Connectでスクリーンショットの入れ替えができなくなった
2013/1/9のアップルの開発者向けニュースにスクリーンショット更新に関する内容が出てた
News - Apple Developer
今まで審査通過後でもスクリーンショットの入れ替えはできたけどついにそれができなくなった模様。
100万ダウンロード達成!!とか喜びのスクリーンショットがもうできなくなったってこと。
審査の時は健全な画像を使って通過後にNGな画像を入れる奴が出てきたとか?
一部のバカタレのせいで制限の線引が広くなってまともにやってる人間が苦労するっていうのはどの世界でもあるね。
そういえば少し前までApp Storeランキングのトップ100に必ずエロ系が入ってたけど最近トップ300まで見ても全く入ってないけどアップルが掃除したのかな?
XCodeでSVNエラー時の対処
XCodeでソースを管理するのにSVNが使えますがうまく行かない時があります。
一番初めにソースをSVNへImportしようとするとこのようなエラーに遭遇する時があります。
エラー内容
Authentication realm:
Password for 'test':
Authentication realm:
Username: test: Can't read stdin: End of file found
解決方法は以下のサイトを参考にしました。
http://akabeko.me/blog/2011/09/xcode-4-svn/
大変助かりました。
これが起きる原因はOrganizerでUsernameとPasswordを入れてもこれが効いてない時があるみたいでターミナルからsvn import コマンドでソースをインポートさせその時に聞いてくるUsernameとPasswordを一回入れるとOrganizerで入れたUsernameとPasswordが有効になるというよくわからない仕様?があるみたいです。
複数人で開発する時に別のメンバーも同様の問題が起きた場合に同じような回避をする必要があります。
別のメンバーはソースを丸ごと一式インポートする必要がなくとにかくUsernameとpasswordを一回いれればいいので
svn list svn://xxx〜のコマンドで打てばUsernameとpasswordを聞いてくれるのでこれで解決します。
もしsvn listでなにも聞いてこずソースの一覧が表示されるようであればどこか適当なところにフォルダを作ってそこにtest.txt(中身空っぽ)を作って
ターミナルでそのフォルダに移動し以下のコマンドを実行すればUsernameとpasswordを聞いてくるはずです。
svn import -m "Importing XXXX" http://example.com/svn/example/trunk/XXXX