すみません↑GSAVEとGLOAD逆に書いてしまった気が^^;
画面に書き込むのがGLOADで読み出すのがGSAVEなので^^;
GPSETで点を打ってGSPOITでその点の色を取得しても同様に丸められて、指定した色値と違う色が返ってと思われます。
と言うわけで色には32bitの論理色と16bitの物理色があって、上記を踏まえお好みで使い分けることになるかと。
ちなみにGLOADの透明色のコピーとは、値0(32bitで言うと0x00000000)の事になります。
1そうだね プレイ済み
16bitの物理値の場合はR,G,B各色5bit(0~31)となります。これにα値が1bitでRGBAの並びで5+5+5+1の16bitとなります。
色指定は論理値の32bitで指定できますが、内部的には16bitになってしまうのでRGB各色256段階で指定したものが32段階に丸められてしまうことになります。0~7は0、8~15が1になってしまう感じ^^;
多分32bitを16bitにすると8で割って余り切り捨てられると思われます(8bit色値 DIV 8=5bit色値かと)。
なので16bitの物理値でGSAVEして16bitでGLOADした場合は同じ値が返ると思われますが、32bitの論理値でGSAVEして、32bitでGLOADしても一旦丸められた値が戻される事になるので (16bit色 DIV 8) * 8 となり設定した値と同じ値が返ることは保証されていないと思われます。
2そうだね プレイ済み
あまさと しおんさん
ちょっと違っています^^;
#たまたま今、GSAVE、GLOADを使っていて調べたりしているので知っているだけですが…。
16bitの場合は、RGBA(5551)です。
32bitの場合は、ARGB(8888)でαの位置が前か後かの違いがあります。
#何故逆?解りづらい orz
元の質問に戻ると、色の値が物理的(3DSのハード仕様による)な値と論理値があります。
論理値の方は32bitでR,G,B各8bit(0~255、16進で表すと0x00~0xFF)で表されれます。
Webで色を検索するとでてくる#FF0000(この例は赤)とかいうやつです。
これにα値(透明度で良かったか?)が頭についてARGBの順で 8+8+8+8bitの32bitの値となります。
しかし実際には、16bitの色しか物理的には出せないので、内部的には16bitとなります。
3そうだね プレイ済み
オセロは盤面8x8で色は緑、駒は白黒の丸、初期配置は中央4マス白黒斜めに配置と決まっているそうです。
他にも細かいところの違いはあるらしいです。
「オセロ リバーシ 違い」で検索すると「Othello! JAPAN」というページで「オセロとリバーシは同じルールですか?違いはなんですか?」という質問に答えているところがみつかりました^^
あと「オセロ」は商標なので「ステープラ」を「ホチキス」と言っているのと同様かと。
ご参考まで。
1そうだね プレイ済み
多分「100/30」ではなく
「30/30」→「10/30」→「9/300」では?
値が1桁になったとき、一桁左にずれるので、後ろの0が消えずに残ります。
「100/30」とかになる場合
いきなり「1/30」の様になると、2つずれるので、ひとつの空白では、0が残り「1/30 0」となります。
その辺りを良く考えて作ると良いですよ。
2そうだね プレイ済み
「"/30 "」 として「0」の後に空白追加。
若しくは、「?FORMAT$("%2D/30", N)」の様に修正。
3そうだね プレイ済み
次の夏コミは8/12~14ですね^^
プチコン関係、また頑張って探してみます。
とりあえず、これは一旦閉じます。
0そうだね プレイ済み
ちょっとだけ補足
18~19行目は結局、最後に2で割った時に端数がでるか、でないか、で決まっています。
端数が出る場合にSCの値-1となるかと。
なので前の otta777 さんの指摘通り MOD 2の結果が 0か、0でないかで判定して良さそうです。
最終的には
「SPCHR SP,SC-(SX MOD 2)」で
良さそうな気がします。
1そうだね プレイ済み
とりあえずやって見ましたが、行数は変わりませんでした orz
0そうだね プレイ済み
そのままでも問題ないですが、データを代入している部分
DIM MAP$[16]
@MAP
DATA "…(※MAP$[0]のデータ)
:
DATA "…(※MAP$[15]のデータ)
RESTORE @MAP
FOR I=0 TO 15
READ MAP$[I]
NEXT
という風にも書けます。また、さらに上の「RESTOR~FOR~READ~NEXT」の部分ですが、「COPY MAP$,"@MAP"」とすることが出来ます。
それと、この処理のあとにある「M$=MID$(MAP$[Y],X,1)」は、この場合「M$=MAP$[Y][X]」と書けます。
一応、参考まで。
※理解出来ていない処理は「混ぜると危険w」なので採用する場合は、充分理解した上で。
1そうだね プレイ済み
ゆずさん?
髪型かわりました?
漢字の変換は自分用ツールの『文選』を使っています。
一応プロフに公開キーあります。
2そうだね プレイ済み
人を動かすプログラムですか…。
最近ゲームセンターとか行っていないので疎いのですが…。
多くのプログラムは人の指とか手を動かします。
太鼓の達人とかは、人の腕を動かします。
人を動かすとなるとやはりダンスレボレーション辺りになるかと。
後ろで見ているとプログラムの指示通りに人が動きます。
…そういうことではない?!
2そうだね プレイ済み
関数の再帰呼び出しを使って、こんな感じで出来たような記憶が。
def func x,y
if xまたはyが範囲外ならreturn
if (x,y)の場所が開いていたら return
(x,y)の場所を開ける
if (x,y)の場所が0より大きければreturn
func(x,y-1) '上
func(x+1,y) '右
func(x,y+1) '下
func(x-1,y) '左
end
違ってたらすみません^^;
1そうだね プレイ済み
トモノリさん
なんてことを!
赤、良いですね^^
フェイクの画面とか敵に襲われてる感があってなかなかw
今作っているやつに採用してみようかな。
2そうだね プレイ済み
MIKIさん
一応、2016/6/2に小林社長のバグ報告の所に報告済みです。
足らない情報があれば、MIKIさんの方からも補足コメントをつけて貰えれば、調査や、問題解決が早まるかもです^^
0そうだね プレイ済み