2011-01-09 24 views
0

目前我正在試圖在JavaScript來創建一個數獨格,要做到這一點,我需要建立一個循環,這樣一條線再次出現10倍的20個像素的差距每一個之間。到目前爲止,我有:如何環路的drawLine所以重演10倍

var canvas; 
canvas = openGraphics(); 

var x; 
var y; 
var gap; 
x = 20; 
y = 20; 
gap = 25; 

canvas.drawLine(20, 20, 20, 245); 

canvas.paint(); 

你會如何推薦這樣做?

回答

0

程序員可以使用各種循環結構,最常見的兩種循環結構是for loopwhile loop

for循環是好的「循環」的次數和while循環是循環的,而有些值是「真」。

在這種情況下,你知道你需要畫這樣的for循環最好的匹配

這是示例代碼for循環的行數。會發生什麼是{和}之間的代碼多次運行。每次循環運行時,變量i都會從0開始增大1,從0開始。這會一直持續,直到條件i < numberTimesToLoop變爲false。

for(var i=0;i<numberTimesToLoop;i++) 
{ 
    document.write("i = " + i); 
    document.write("<br />"); 
} 

不,我要爲你做你的作業,但在很多情況下,它更容易從看到實際的代碼學習。 (我證明,我發現很多學生誰上看到一個答案可以立即識別它的未來。當然,我給他們的理論第一,如果不按我試試這個方法...)

這對當前代碼的修改將繪製垂直線條。

var canvas; 
canvas = openGraphics(); 

var x; 
var y; 
var gap; 
x = 20; 
y = 20; 
gap = 25; 


var currentX = 20; 
for(var i=0;i<10;i++) 
{ 
    canvas.drawLine(currentX, 20, currentX, 245); 
    currentX = currentX + gap; 
} 
canvas.paint(); 

(不能確定與W3Schools的網站是什麼問題)

+4

'document.write'和w3schools ... **從不**使用它們中的任何一個。 http://stackoverflow.com/questions/802854/why-is-document-write-considered-a-bad-practice –

+1

只是因爲它可以被濫用並不意味着它的壞,在你鏈接的文章中,最高的投票答案比支持你觀點的人多得多。此外,足夠的反w3schools兜售。即使在你的鏈接中,所選的答案鏈接到w3schools – Kurru

+0

我不認爲推薦JavaScript文檔的優秀來源有任何問題。 W3School **是非常糟糕的 - 如果你想要,進入JavaScript室 - 我們正在建立一系列理由。 –

2

正如您已經指出的那樣,您必須使用循環構造。

Mozilla的開發者網絡擁有這些良好的documentation

但說實話,我覺得你應該更喜歡閱讀他們的JavaScript Guide試圖寫一個遊戲,否則你會最終撞上一噸死角的,很快你就會失去在製作遊戲,在所有利益之前。

另外,請搜索尋找JavaScript的幫助時,留在MDN,因爲有很多在互聯網上,有壞的,舊的,破的代碼示例和幫助的網站。

特別是遠離W3Schools的

+0

謝謝,虐待看看那些:)其課程,我只需要產生實際電網。 –