Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189214
次のページ(過去)
返信[33]
親投稿
MIKI ifconfig
この十進数と二進数の変換が一番難しいところです。理屈は上に書いた通りですが、手っ取り早く暗記してしまうのも一つの方法です。というか多くのプログラマは暗記してます。 十進数 二進数 0 = 0000 1 = 0001 2 = 0010 3 = 0011 4 = 0100 5 = 0101 6 = 0110 7 = 0111
0そうだね
プレイ済み
返信[32]
親投稿
MIKI ifconfig
二進数の場合、位取りは、右から左へ 一の位 二の位 四の位 八の位 十六の位 三十二の位 六十四の位 : となります。 二進数で 1100 と書いたら 一の位=0 二の位=0 四の位=1 八の位=1 となって、(8*1) + (4*1) + (2*0) + (1*0) = 12 (十進数) つまり 1100(二進数)=12(十進数)となります。
0そうだね
プレイ済み
返信[31]
親投稿
MIKI ifconfig
なんか違う気がしますかそうですか。実際にやってみると ? 1100 and 1010 64 ↑全然ちがうじゃん!! 上コメでは意図的に省いたんですが、4桁の「整数」とは a, b それぞれを「2 進数表記した整数」だったんです。出た!! 二進数!! 思考停止しそうですね。 ここで小学生に戻って、十進数の表記方法を思い出しましょう。 十進数で1234と書いてあったら、 一の位=4 十の位=3 百の位=2 千の位=1 となって、(1000*1) + (100*2) + (10*3) + 4 = 1234 という計算が成立します。 十進数表記では、全桁について ○の位=x なら ○*x を足した結果が数値になります。
0そうだね
プレイ済み
返信[30]
親投稿
MIKI ifconfig
ここまで何も難しい事はないですね。ここで 4 桁の「整数」 a b について考えます。 a=1100 b=1010 この時 a and b や a or b はどうなるの? これについては、理屈ではなくて、定義によって次のように決まっています。 多桁の場合 a and b, a or b は、各桁について独立に先ほどの表の通りに演算します。繰り上がりはしません。 ______a|1100 ______b|1010 a and b|1000 _____a|1100 _____b|1010 a or b|1110 ここも特に難しい所はないですよね。
0そうだね
プレイ済み
返信[29]
親投稿
MIKI ifconfig
and や or は表で覚えてください。まず x and y。x が 0 か 1, y が 0 か 1 の全ての組み合わせを考えます。 x|y|x and y -+-+------- 0|0|0 0|1|0 1|0|0 1|1|1 x が 1 かつ y が 1 の時だけ x and y も 1 になります。掛け算そのものですね。and が論理積と呼ばれるゆえんです。or も同様に表にします。 x|y|x or y -+-+------- 0|0|0 0|1|1 1|0|1 1|1|1 x または y のいずれかが1なら x or y も1になります。算数の和とは少し違いますが、これを以て論理和といいます。
0そうだね
プレイ済み
返信[28]
親投稿
MIKI ifconfig
符号ありなし変換の意図はその通りです。 内容は・・これは決まり文句みたいなものだから、とりあえずこのまま使うか、使わなくてもいいかもですね。 打てる文字なら何でも入れることができますよ a$[((z*ny)+y)*nx+x]="床" とか。(「床」と入力できると仮定して)
0そうだね
プレイ済み
返信[25]
親投稿
MIKI ifconfig
内部は utf16 だけど、txt: で保存するときに、 (1) utf-16をutf-8 に変換 (2) chr$(13)をchr$(10)に変換 (utf-8/16の話とは関係ありません) で txt を読むときには (1') utf-8をutf-16に変換 (2') chr$(10) はそのまま (2) のオマヌケな仕様(もしくはバグ)のせいで、保存した内容とはちょっと異なる結果になる・・・
0そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
一人が親になって、残りは子になって、参加者揃ったところで親がスタート
0そうだね
プレイ済み
返信[3]
親投稿
MIKI ifconfig
例えば敵が 8 人いる時、敵1 敵2 .. 敵8 それぞれに HP とか必要でしょ? 三人のHPを100にするには teki1_HP=100 teki2_HP=100 : teki8_HP=100 と書く。敵が増えたら結構大変!! 配列を使うとこれが dim teki_hp[8] for i = 1 to 8 teki[i-1]=100 next と書ける。これなら敵が1000人でもok
1そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
smile basic では変数はいちいち定義しなくても使えます。 いきなり ? a とかできる。言語によっては、定義していない変数を使おうとするとエラーになるものもあります。 そんなぬるい smile basic だけど、配列変数というのはいちいち定義しないと使えません。 その配列を定義するときに使うのが dim や var です。 dim a[8] これで要素数 8 の数値型配列 a が定義できます。 つまり配列使わない限り dim/var は不要です。 あと、option strict 命令を実行すると smile basic もいちいち定義しないと変数が使えないガンコ親父に変身します。その時は使う変数を dim b などと事前に定義しなければなりません。
2そうだね
プレイ済み
返信[22]
親投稿
MIKI ifconfig
なるほど。 ただ、整数配列にすると現実コードが相当遅くなりますね~。特に書くとき。「配列読んで and して or して配列書く」になるので・・考えただけで遅そう・・・ 保存データが大きくなったり時間がかかったりするのは特に問題ないと思います。公開ファイルについてくるわけでもないし、プレイヤーの意思で保存するのだろうし。 小さければファイルi/oだけ整数配列にするという手段もありますが、巨大な文字列だと無理っぽいですね。
0そうだね
プレイ済み
返信[9]
親投稿
MIKI ifconfig
ZEX さんの url は、「ハカセ(smileDr)」というユーザのトピなので、探してください。たくさんの公開キーが登録されてます。
4そうだね
プレイ済み
返信[7]
親投稿
MIKI ifconfig
こんな完成形? なるほど! がんばってください!! ○_○_○_○_ ________ ○_○_○_○_ ________ ○_○_○_○_ ________
0そうだね
プレイ済み
返信[8]
親投稿
MIKI ifconfig
3ds からだと url たどるのは困難なんじゃなかったかなあ?
3そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
コード見てないけど、予想では A が 0 とかになって負のインデックスを参照しようとしてるとか??
3そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
よくよく見たら 35 パズルだよ!!
0そうだね
プレイ済み
返信[3]
親投稿
MIKI ifconfig
てか 24 パズルで抽象画とか桁違いの難易度だし!! そのラインを機関車がゆっくりトレースして、衝突したらゲームオーバーってゲームあったよね。 だれかあれ作ってくれないかしら??
0そうだね
プレイ済み
返信[20]
親投稿
MIKI ifconfig
おそらく三次元のマップを表現したいのだと思います。 その場合は符号なしの整数のみで足りますよね? あと Godot さん情報に注意して、13 という数はマップの要素として使わないことにすれば万事解決です。 要素が高々数十種類しかないのであれば、数値ではなく文字そのものに割り当ててしまい "0" = 空白 "1" = 地面 など決めておけば、asc/chr$ を呼ぶ手間が省けて速くなります。
1そうだね
プレイ済み
返信[19]
親投稿
MIKI ifconfig
負の整数を使いたい場合、-32768から32767の範囲になります。次のような関数で符号なし(0..65535)と符号あり(-32768..32767)を相互変換できます。 def u2i(u16%) ' 符号なしから符号ありに変換 return ((u16%+32768) and 65535)-32768 end def i2u(i16%) '符号ありから符号なしに変換 retrun i16% and 65535 end 符号ありの整数 k を文字列に入れる場合 a$[i] = chr$(i2u(k)) それを読む場合 k = u2i(asc(a$[i])) とします。 混乱してきたかな???
0そうだね
プレイ済み
返信[18]
親投稿
MIKI ifconfig
>もしかして文字ではなく、この代入する数字が大事だったりしますか? その通りです。一文字に対して 0 から 65535 までの数値を書いて、読むことができます。ただし整数のみです。 脳内 a[z,y,x]=1234 ⇔ 現実 a$[(z*ny+y)*nx+x]=chr$(1234) 脳内 v = a[z,y,x] ⇔ 現実 v = asc(a$[(z*ny+y)*nx+x])
1そうだね
プレイ済み