これが誇張だと言っても過言ではありません

たちの人生はどうですか? 楕円 ...



コードや意味、数学、GitHubへのリンクはありません。 要するに、ほとんど読まない。 しかし、あなたはそれを読みます。



すべてはこの顔から始まりました。









むしろ、すべてこの行で始まった

10 CLS


30年前、このチームはIBM PC / XT画面をクリアしました。 魅了されたように、私は絶滅した320×200の黒い点を見て、空の星のようにそれらを点火できることに気づきました。 シンプルなチーム。 シンプルな男。 そして、私はそれをつけました。 まだ冷めないように点灯しました



80年代後半に作られた最初のゲームは、コンパイラを持たないBASIC言語で書かれていましたが、コマンドインタープリターによって実行されました。 そして、交互の写真はビリー・ボーンズの範囲で盲目のPughのように点滅しました。



ポフィク! これに先立ち、私が作成したすべてのアニメーションは、小さなノートブックの50ページに収まりました。 私たちは各ページの一番下に矢印を放つ男を描き、矢印が飛んで別の男に当たった。 次に、右手の親指でノートブックのページをスクロールしました-vzhiおよびand and and and and and and and and and and and and and and and and and and and and and and and and and and andそして、そして、そして、そして、そして、そして、そして、そして、そして、漫画の50フレームは、承認されたグーカンを引き起こしました。 かっこよかった。 学校の最も美しい女の子はノートを求めました。 そっと彼の肩に手を置いて、彼の目を見ました。 やめて、Iれています。 basikに戻りましょう。



したがって、最初に作成されたBASICゲームはJawsと呼ばれていました。 顎が噛み合って開きました。 歯の構成が変更されました。 主人公は口の中を走り、果物を食べ、歯のために落ちないようにしました。



短いゲームプレイ動画




時間が経ちました。 とても速い。 BASIC、Pascal、C、C ++、JS、Obj-C、Swiftのコンパイラをスキップしました。

ソケットに詰まっているものすべてにゲームを作りました。これらには、Murom / Arzamasskyの戦車訓練場の非常に3Dのシミュレーターが含まれていました(shh!厳格な秘密!)装甲兵員輸送車の工場で、覚えておくべきでした。



そして突然昨日、私はその最初のゲームを夢見ていた。 想像できますか? さて、私の代わりに何をしますか? そして、私は同じです。 200行のコード-そして、卸売り! ゲームはストアにあり、コードはGitHubにあります



30年で何が変わったのですか? プログラミングが変更されました-顎が画像のレンダリング速度に達するまで、顎がますます多くの頻度でサイクルで圧縮される前。 コンピューターが弱い場合-プレーヤーは無期限に住んでいました。 今、すべてが異なっています。 サイクルはありません。 クレイジービート。 そして、数学を使用して顎の崩壊の頻度を計算します。 シンプルでありながら興味深いものにします。 顎の運動頻度の公式の結論に進みます。



タスクステートメント



顎の崩壊頻度の関数を見つける必要があります。 ゲームの開始時に、ジョーは毎秒1回クリックします。ゲームの3分後、人間の能力にとって頻度は極端になります。


では、何がありますか?



1)iPhone画面の更新時間を50ヘルツに設定します。 これは1秒間に50回です。 1秒あたり50ティック。 覚えて。



2)プレイヤーの究極の反応。 レース開始時のスプリンターはショットに280ミリ秒の遅延で応答することを思い出してください-この間、信号は脳からふくらはぎの筋肉に移動します。 iPhoneユーザーは、足ではなく触手に信号を送信します。オタクの神経信号の経路は2倍の短い= 140ミリ秒です。これが最小反応時間です。 7ティック。 ゲームのヒーローは6 タパスの間顎の端から端まで走らなければなりません。 それは最低6ティックです。 合計-顎は、限界では、6 + 7 = 13ティックよりも速く圧縮できません。



3)顎の初期速度は50ティックで1クリックです。 顎のクリックが遅すぎる場合、ユーザーはゲームを終了します。 したがって、5〜10秒後、頻度はティックの1/25〜1/35になります。



解決策。 非線形関数があります:



f(0)= 50

f(10)= 30

f(10 ^ 10)= 13



愚か者がいなければ、それは明らかです-これは誇張です。 式を書きます:



f(t)= A + B /(C + t)



3つの未知数-3つの方程式、私たちは解きます(学校の問題を解決するのはただの喜びです)。 応答はプログラムリストに書き込まれます。



func setupDelay(_ ticks:Int) { let t = Double(ticks) let a:Double = 12.0 let b:Double = 9000.0/2.2 let c:Double = 100.0/2.2 let d:Double = a + b/(c+t) delay = Int(d) }
      
      





人間の能力の限界でプレイするのは面白いです。 したがって、1000ポイント以上を獲得した人の広告は表示されなくなります。 みんなごめんなさい



プーノ、兄弟を称賛してください!



ご注意 perev。 GitHubのコードはもちろんギャグですが、写真、サウンド、およびいくつかのトリックは、初心者のswift-omanovにとって確かに役立ちます。



UPD:一部のiPhone Alexanderが私にくれて、2000ポイントを獲得しました。 悪党である彼は両手で遊ぶと思うが、これは不公平だ。



All Articles