アカウント名:
パスワード:
ANDとかNANDでカウンタ回路作るとか?
NANDだけで十分だろ。
常識かと……
switchの「はじめてゲームプログラミング」は、データフローモデルで入力ノード: スティック値やボタン押下値を出力演算ノード: 入力値に対して、四則演算やカウンタなどの処理結果を出力出力ノード: 入力値に基づいて音楽再生などを行うモノノード: 入力値に基づいて動くといった機能を持ったノード同士を接続することで「プログラミング」します。
入出力は高度に抽象化されていて、例えば左右値を出力する「スティック」ノードのピンを、「ヒト」ノードのX移動ピンに接続「ボタン」ノードのピンを、「ヒト」ノードのジャンプピンに接続するだけで、(物理シムも入ってるので)、マリオっぽい動きが実現できます。ここまではすごい簡単なのですが、演算ノードが単機能なので、そこから先にゲームのルールを実装しようとするとすごい泥臭い。
例えば、ゲーム開始時にカウントダウン表示したりして、それに合わせて「スタートから3秒間は動けない」ようにするためには、
・入力「スタートした瞬間」ノードのピンを、「タイマー(3秒)」ノードのタイマー開始ピンに接続・タイマーノードの出力ピンを、「フラグ(≒RS-FF)」ノードの「オンにする(S)」入力ピンに接続・フラグノードの「オン(Q)」出力ピンと、スティックノードの出力ピンを、演算「かけ算」ノードの入力ピンに接続・かけ算ノードの出力ピンを、「ヒト」ノードのX移動入力ピンに接続
といったノード接続構築を行います。これで、スタートから3秒間は操作が効かなくなる。「汎用ロジックICを組み合わせて機能を作る」という回路設計に近い感覚です。
なお、論理演算を行うノードもあるのですが、論理ゲートは AND と NOT だけ。まあ、ORはワイヤードORで実現できますがXORとか非常にめんどくさい。
今ならマインクラフトで回路作れば良いんじゃ無いかな
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
ANDとかNANDで回路 (スコア:0)
ANDとかNANDでカウンタ回路作るとか?
Re:ANDとかNANDで回路 (スコア:1)
NANDだけで十分だろ。
Re:ANDとかNANDで回路 (スコア:1)
Re: (スコア:0)
常識かと……
Switchのはじめてゲームプログラミングは回路設計に似ている (スコア:1)
switchの「はじめてゲームプログラミング」は、データフローモデルで
入力ノード: スティック値やボタン押下値を出力
演算ノード: 入力値に対して、四則演算やカウンタなどの処理結果を出力
出力ノード: 入力値に基づいて音楽再生などを行う
モノノード: 入力値に基づいて動く
といった機能を持ったノード同士を接続することで「プログラミング」します。
入出力は高度に抽象化されていて、例えば
左右値を出力する「スティック」ノードのピンを、「ヒト」ノードのX移動ピンに接続
「ボタン」ノードのピンを、「ヒト」ノードのジャンプピンに接続
するだけで、(物理シムも入ってるので)、マリオっぽい動きが実現できます。
ここまではすごい簡単なのですが、演算ノードが単機能なので、そこから先にゲームのルールを実装しようとするとすごい泥臭い。
例えば、ゲーム開始時にカウントダウン表示したりして、
それに合わせて「スタートから3秒間は動けない」ようにするためには、
・入力「スタートした瞬間」ノードのピンを、「タイマー(3秒)」ノードのタイマー開始ピンに接続
・タイマーノードの出力ピンを、「フラグ(≒RS-FF)」ノードの「オンにする(S)」入力ピンに接続
・フラグノードの「オン(Q)」出力ピンと、スティックノードの出力ピンを、演算「かけ算」ノードの入力ピンに接続
・かけ算ノードの出力ピンを、「ヒト」ノードのX移動入力ピンに接続
といったノード接続構築を行います。これで、スタートから3秒間は操作が効かなくなる。
「汎用ロジックICを組み合わせて機能を作る」という回路設計に近い感覚です。
なお、論理演算を行うノードもあるのですが、論理ゲートは AND と NOT だけ。
まあ、ORはワイヤードORで実現できますが
XORとか非常にめんどくさい。
Re: (スコア:0)
今ならマインクラフトで回路作れば良いんじゃ無いかな