1: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:28:58.71 ID:exhH9sIE0.net
no title

no title

no title

一枚目のペイントどおり
白(2)だと切り替わるのに黒(1)だと変わらないんだがなにが悪いんだ



2: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:29:38.58 ID:exhH9sIE0.net
これがゲーム画面
切り替えてるのはテーブルの[0:[0]つまり一番左上
no title


たぶん三枚目のif elseがおかしいのかもしれないけどわからん



3: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:31:02.61 ID:exhH9sIE0.net
誰かたしうけてwwwwwwwwwwwww



4: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:31:16.51 ID:3FbdR+LPp.net
悪いこと言わんから、どこかにソースコード貼れないかな



6: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:32:26.61 ID:exhH9sIE0.net
>>4
画像で許してくれ
三枚目がおかしいんよたぶん



7: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:34:16.87 ID:TkEIEpOt0.net
簡単すぎて・・・ワロタ



10: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:35:47.87 ID:exhH9sIE0.net
>>7
頼む教えてくれ
なんで白だと普通に動くのに黒の1はだめなんだよ・・・・・・・・



9: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:35:45.06 ID:N/NEmk1M0.net
白(2)だと切り替わるのに黒(1)だと変わらない

これが意味不明
どういうこと?



11: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:36:13.76 ID:exhH9sIE0.net
>>9
空白(0)→白(2)
にはできて
    →黒(1)

できない 何でだあああああああああああああああああああああああ



12: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:37:01.05 ID:3FbdR+LPp.net
真ん中の石はきちんと描画できてるじゃない、ほんとに動かないの?



13: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:38:06.42 ID:exhH9sIE0.net
>>12
そうなんだよ
でも黒の1に切り替わるようにしてWaitTimerの1000ミリ秒待っても切り替わらん

2の白だと切り替わる



14: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:38:51.14 ID:exhH9sIE0.net
ifじゃなくてcase文とか使ってみるか・・・



16: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:39:34.72 ID:onKsOYyE0.net
オセロソフトを0から作る気か?



18: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:41:25.58 ID:exhH9sIE0.net
>>16
作ろうとしてます



15: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:39:24.48 ID:5eOgHLGb0.net
ほかの座標でやってみても動かない?



18: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:41:25.58 ID:exhH9sIE0.net
>>15
no title

変わらないです白(2)なら正常に変わりました



17: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:41:02.73 ID:22fJjccE0.net
if文が原因ではなさそうだけどな
それにCrOsero[table[y][x]]って書きたいからそのデータ構造にしたんじゃないのか?



20: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:42:47.13 ID:N/NEmk1M0.net
2枚目の左上の値を0、1、2って変更したときの動作は?
1だと切り替わらないってこまがない画像がひょうじされるのか?



21: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:46:01.44 ID:exhH9sIE0.net
よーわからんけどとにかく 空と白から黒に変える動作が正常にしない



22: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:46:05.13 ID:5eOgHLGb0.net
コード貼れないの?



23: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:48:48.18 ID:exhH9sIE0.net
死にたくなってきました・・・どなたかエスパー様 助けてください・・・・



26: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:51:33.36 ID:22fJjccE0.net
いいから>>20に言われたことやれよ
あと一枚目のwhile文の中身全部晒せ
っていうかソース張れ



24: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:50:55.82 ID:FSQePCip0.net
コードのどこかで[0][0]=2で上書きしてるとか



25: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:51:28.90 ID:5eOgHLGb0.net
たぶんif else以外の場所が原因だから貼れよ



27: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:51:35.86 ID:exhH9sIE0.net
なんで黒だけ機能しないんだw

if文がおかしいなら白と黒の場所逆にしてみれば逆転して白がだめになって黒が動くと思ってやったけど
それでも黒がわるいwwww

if文は悪くないようだ・・・・



28: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:53:04.96 ID:exhH9sIE0.net
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int table[8][8] = {
{ 0, 1, 2, 0, 0, 0, 0, 0,},
{ 0, 0, 0, 0, 0, 0, 0, 0,},
{ 0, 0, 0, 0, 0, 0, 0, 0,},
{ 0, 0, 0, 1, 2, 0, 0, 0,},
{ 0, 0, 0, 2, 1, 0, 0, 0,},
{ 0, 0, 0, 0, 0, 0, 0, 0,},
{ 0, 0, 0, 0, 0, 0, 0, 0,},
{ 0, 0, 0, 0, 0, 0, 0, 0,},
};
ChangeWindowMode( TRUE ) ;
SetGraphMode(800,600,16) ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1 ; // エラーが起きたら直ちに終了
}
//SetTransColor( 255 , 0 ,0); //透過 赤

TableCreate tc;
int ClickX, ClickY, Button ;
int DrawFlag, DrawX, DrawY ;
while(ScreenFlip()==0 && ProcessMessage()==0 && SetDrawScreen(DX_SCREEN_FRONT)==0)
{ //二枚絵(ループ)
tc.tablecreate(table);
WaitTimer(1000);
table[2][2] = 1;
}



29: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:53:30.38 ID:exhH9sIE0.net
void TableCreate::tablecreate(int table[8][8]){
int GrOsero[3] ;

LoadDivGraph( "osero.bmp" , 3 , 1 , 3 , 50 , 50 , GrOsero ) ;


for(int y=0;y < 8;y++)
{
for(int x=0;x < 8; x++)
{
if(table[y][x]==0)
{
DrawGraph( 50*x , 50*y , GrOsero[0] , TRUE ); //描写
}else if(table[y][x]==2)
{
DrawGraph( 50*x , 50*y , GrOsero[2] , TRUE );
}else if(table[y][x]==1)
{
DrawGraph( 50*x , 50*y , GrOsero[1] , TRUE );
}
}
}
}



30: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:54:16.90 ID:exhH9sIE0.net
クラス定義
class TableCreate //クラス定義
{
public:
void tablecreate(int table[8][8]);
};



31: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:54:58.48 ID:exhH9sIE0.net
なんでや・・・・・・・・・・・・・・糞おおおおおおおおおおおおおおお!!!!!!!!!!!!!!!!



32: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:56:48.38 ID:5eOgHLGb0.net
さっきとまるで情報量変わってねーじゃねえか



33: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:57:09.02 ID:exhH9sIE0.net
>>32
ほかにないよ!



37: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:59:22.08 ID:5eOgHLGb0.net
>>33
背景の表示とかまだほかにないの?



40: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:00:44.61 ID:exhH9sIE0.net
>>37
ないどす
空・白・黒の三つの画像 全部50x50サイズ を 配列8][8]で
400x400のサイズで表示されてまつ



34: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:57:48.16 ID:FSQePCip0.net
黒石の画像がちょっと大きくて画面外にはみ出して描画されないとか



36: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 22:59:12.63 ID:exhH9sIE0.net
>>34
たぶんそれはないです・・・
しっかり50x150で50x50の3分割で画像作ってるんです



39: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:00:27.45 ID:5eOgHLGb0.net
背景がいらんシステムなのかこれ
黒が透過されてるとかじゃないよな



41: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:01:25.57 ID:exhH9sIE0.net
>>39
透過処理はしてないんだよねえ・・・・ためしに黒牌を赤にしてみまつ・・・



44: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:04:38.34 ID:exhH9sIE0.net
>>39
!!!!
no title


デフォルトで黒の透過処理をちてるってことでちた・・・・
ありがとうございあmす!!!!!!!解決したっぽいです!!!!!



46: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:06:57.80 ID:5eOgHLGb0.net
>>44
どうでもいいけど画像のロードは関数外でした方がいいと思う



49: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:09:45.22 ID:exhH9sIE0.net
>>46
そうでつね・・・
毎回呼び出すときにロード処理してまつた・・・かえときまつ・・・



47: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:07:05.34 ID:N/NEmk1M0.net
>>44
そりゃ良かったが
なんで中央の2枚の黒はちゃんと表示されてんだ?



49: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:09:45.22 ID:exhH9sIE0.net
>>47
それはぼくにもわかりませんのです・・・・

ともかくこのお礼はオセロゲームができたら皆に配布するのであります・・・もうちょっと待っててほしいのであります・・・



48: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:09:38.23 ID:22fJjccE0.net
>>47
最初の4つがちゃんと出たのは偶然背景の黒が見えてて
後から書いたのは一つ前のループで描いた緑が下にあったからっぽいな
ループの頭で全部消去してないのが気持ち悪いけど



56: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:14:14.50 ID:N/NEmk1M0.net
>>48
画像をどんどん重ねていってるのか

20をやってればたぶん黒が表示されていたから
少しは原因を特定することはできていたんだなたぶん



58: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:15:46.09 ID:exhH9sIE0.net
>>56
表と裏交互に出しているのです
ほんとわかりずらくてごめんなさいなのです



59: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:17:17.81 ID:N/NEmk1M0.net
>>58
表と裏交互に出してるってのが謎なんだけど…

文章の主語がないと分からんぞ
何を表と裏だ?



62: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:18:45.81 ID:5eOgHLGb0.net
>>59
画面の裏に一旦描写して1ループ終わったら全部表に出す



64: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:22:27.01 ID:N/NEmk1M0.net
>>62
表示したい画面のイメージを生成し終わったら
現在表示されている画面と切り替えるってこと?

表示されている画面に直接コマの画像を追加するとちらつくってことか?



53: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:12:39.26 ID:5eOgHLGb0.net
ただオセロ作ってもどうせ誰もやらないからなんかオリジナル要素加えようぜ



55: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:13:41.84 ID:exhH9sIE0.net
>>53
あうあう考えとくのであります。とりあえずゲームとして成り立つようにさせるのです



54: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:12:55.40 ID:exhH9sIE0.net
今日は遅いので明日マウス処理のコードを書くのです・・・
みんなほんとありがとありがとなのです



61: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:18:30.72 ID:22fJjccE0.net
白い駒と黒い駒の大きさが同じだからギリギリ成立してるけど
whileの条件の中にClearDrawScreen()==0を入れるかClearDrawScreen()をループの先頭で呼ぶべき



65: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:23:35.04 ID:22fJjccE0.net
今ググっただけだから詳しくないけどDXライブラリでダブルバッファリングするんじゃ
while文よりも前でSetDrawScreen( DX_SCREEN_BACK ) ;呼んで
while文の条件に何故か入ってるSetDrawScreen(DX_SCREEN_FRONT)==0を消さないといけないと思う



66: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:25:44.91 ID:Kivm9uIm0.net
おれも昔オセロつくったなあ、QuickCで

最適化ですっ飛ばされてるのかと思ったが、原因は描画関連だったか。裏画面つかうとちらつきなくせるけど、こういうときはハマりやすいよな。



67: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:31:27.19 ID:guuERiLE0.net
プログラミングはじめて何年くらいでオセロ作れるようになる?



68: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:33:11.47 ID:5eOgHLGb0.net
>>67
一年経たずにできるだろDXlibraryあたり使えば



69: 以下、\(^o^)/でVIPがお送りします 2014/11/19(水) 23:38:50.18 ID:Kivm9uIm0.net
>>67
数年間どっぷりやればアルゴリズムがぱっと浮かぶよ。とにかく自分で考えることが大事だわ。


引用元 https://viper.2ch.sc/test/read.cgi/news4vip/1416403738/
スポンサードリンク