c言語でオセロプログラムを作っていますが、
Runtime error(Exit status:139(Invalid memory reference))
が実行したら出てきてしまいました。
まだc言語がわからないので教えてください。
ソースコード........
#include <stdio.h>
int put, turn, all, done, pass, count, value, i,
map[90] = {0}, dir[]={-10, -9, -8, -1, 1, 8, 9, 10};
void check()
{
if (map[put] == 0)
for (i=0; i<8; i++) {
for (count = 0, value = put+dir[i];
map[value] == 3-turn; value += dir[i])
count++;
if (count && map[value] == turn) { all += count; value = put; if (done) do map[value] = turn, value += dir[i]; while (map[value] != turn); } }
}
char *h=" - o x\n";
int main()
{
for(i=1, map[41] = map[49] = 2; i<10; map[i++*9] = 3)
map[40] = map[50] = turn = pass = 1;
for (;; all = done = 0) { for(put = 9; put<82; ++put) check(), printf("%.2s",&h[map[put]*2]); if(all) for(done = all = pass = put = 8; all==8; check()) turn - 2 ? (scanf("%d %d",&put,&i), put+=i*9): ++put; else if(pass) pass=0,printf("pass"); else break; turn = 3 - turn; } return 0;
}
です。
すみません
回答2件
あなたの回答
tips
プレビュー