這是用了好久才搞明白 完全自創的俄羅斯方塊
主要是畫方塊和地圖 是和方塊變形移動對資料的處理是分開的
也是最近剛剛學到這種思維方式 感覺很好 就是單純的去控制變數 最後在去畫方塊之類的
這樣寫很容易去修改 最開始寫了將近1000行 現在已經縮短了好多 還是有些沒有改 但是我覺得還不錯了
沒有旋轉的演算法 完全評價陣列去儲存 還有幾中方塊沒寫 注釋有點少 但是幾乎函式名都是拼音很好解決的很簡單的乙個小遊戲
<canvasid="mycanvas"width="1000"height="600"style="border:5px solid#d3d3d3
;">
您的瀏覽器不支援 html5 canvas 標籤。
canvas>
<buttontype="button"οnclick="kaishi()">開始遊戲
button> score:
<spanid="score"> 0
span>
<script>
function kaishi()
}var arr = new array();
//把儲存方塊放到乙個二維陣列並且值為0;
for (var k =
0; k <
23; k++)
}var color = ["#9400d3"
, "#0000ff"
, "#1e90ff"
, "#00bfff"
, "#00ff00"
, "#ffbaff"
, "#c7a3ed"
, "#c7a3ed"]
for (z =
0; z < color.length; z++)
function look()
if (arr[k][j] ==
2) if (arr[k][j] ==
3) if (arr[k][j] ==
4) }}}
function fuzhi()
function kaishi()
}up(q);
} function xianshi()//畫方塊
if (tarr[i][t] ==
2) if (tarr[i][t] ==
3) if (tarr[i][t] ==
4) }}}
function delline() }}
}}
c = 0;
} }
function zhizao(q, b
, c, d
, e, f
, g, h)//讓方塊出現
}arr[q][b] =
1; arr[c][d] =
2; arr[e][f] =
3; arr[g][h] = 4;
} function up(l)//變形 每乙個數字代表乙個型別
else if (l
== 1)
else if (l
== 2)
else if (l
== 3)
else if (l
== 4)
else if (l
== 5)
else if (l
== 6)
else if (l
== 7)
else if (l
== 8)
else if (l
== 9)
else if (l
== 10)
else if (l
== 11)
else if (l
== 12)
}function move(t)//左右下移動
else if (t
== 2)
else
else }}
function showkey() //旋轉
if (key ==
39) move(2);
if (key ==
40) move(3);
} document.onkeydown = showkey;
function clearcanvas()
function is()
}function op(t)
}else if (t
== 2) }}
}function start()
}function down()//下降
else
}m = 0;
score = 0;
} }
else
}start();
if (w ==
0) var run = setinterval(down,
1000)//下落x
function over() }}
function updatescore()
}script>
body>
html>
俄羅斯方塊高階 AI俄羅斯方塊
前文回顧 致青春 python實現俄羅斯方塊 人工智慧大火的今天,如果還是自己玩俄羅斯方塊未免顯得太low,為什麼不對遊戲公升級,讓機器自己去玩俄羅斯方塊呢?有了這個想法之後利用週六週日兩天的時間去蒐集了大量的資料,在電腦宕機好多次之後終於將ai俄羅斯方塊實現了。所謂讓機器自己去玩俄羅斯方塊,就是讓...
俄羅斯方塊
俄羅斯方塊 tetris,俄文 是一款風靡全球的電視遊戲機 和掌上遊戲機遊戲,它由俄羅斯人阿列克謝 帕基特諾夫 發明,故得此名。俄羅斯方塊的基本規則是移動 旋轉和擺放遊戲自動輸出的各種方塊,使之排列成完整的一行或多行並且消除得分。由於上手簡單 老少皆宜,從而家喻戶曉,風靡世界。俄羅斯方塊的開發者是阿...
俄羅斯方塊
include include include include includeusing namespace std include include define mem a,b memset a,b,sizeof a const int sudu 40 const int dir 4 2 cons...