Tạo một trò chơi với javascript là cách thú vị nhất để học. Nó sẽ giúp bạn có động lực và đó là … Được gắn thẻ với javascript, hướng dẫn, người mới bắt đầu, webdev.

Bạn đang xem : cách tạo trò chơi bằng html css và javascript

Tạo trò chơi bằng javascript là cách học thú vị nhất. Nó sẽ giúp bạn có động lực và điều đó rất quan trọng để học các kỹ năng phức tạp như phát triển web. Hơn nữa, bạn có thể chơi với bạn bè của mình hoặc chỉ cho họ xem những gì bạn đã tạo ra và họ sẽ bị thổi bay. Trong bài đăng blog hôm nay, chúng tôi sẽ tạo một trò chơi tic-tac-toe chỉ sử dụng HTML, CSS và Javascript.



Video hướng dẫn

Nếu bạn muốn xem video chi tiết từng bước, thay vào đó, bạn có thể xem video tôi đã thực hiện về dự án này trên Kênh Youtube của tôi :



Triển khai HTML

Đầu tiên, trong phần đầu, tôi sẽ bao gồm các tệp css và javascript mà chúng tôi sẽ tạo sau này. Tôi cũng sẽ thêm một phông chữ của Google có tên là Itim, phông chữ mà tôi nghĩ là hoàn toàn phù hợp cho trò chơi này.

  

& lt; link

rel =

" bảng định kiểu "

href =

" style.css "

& gt;

& lt; link

rel =

"preconnect"

href =

" https://fonts.gstatic.com "

& gt;

& lt; link

href =

"https://fonts.googleapis.com/css2? family = Itim & amp; display = swap "

rel =

" bảng định kiểu "

& gt ;

& lt; script

src =

"./ index.js"

& gt; & lt; / script & gt;

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Phần nội dung của HTML sẽ khá đơn giản. Để bao bọc mọi thứ, tôi sẽ sử dụng một thẻ chính và áp dụng một lớp background cho nó. Bên trong trình bao bọc main , chúng ta sẽ có năm phần.

Phần đầu tiên sẽ chỉ chứa tiêu đề của chúng tôi trong h1 .

Phần thứ hai sẽ hiển thị hiện tại đến lượt ai. Bên trong màn hình, chúng ta có một khoảng trống sẽ chứa X hoặc O tùy thuộc vào người dùng hiện tại. Chúng tôi sẽ áp dụng các lớp cho khoảng này để tô màu văn bản.

Phần thứ ba là phần nắm giữ bàn cờ của trò chơi. Nó có một lớp container để chúng ta có thể đặt các ô của mình một cách chính xác. Bên trong phần này, chúng ta có chín div sẽ hoạt động như các ô bên trong bảng.

Phần thứ tư sẽ chịu trách nhiệm thông báo kết quả cuối trò chơi. Theo mặc định, nó trống và chúng tôi sẽ sửa đổi nội dung của nó từ javascript.

Phần cuối cùng sẽ chứa các điều khiển của chúng tôi, phần này chứa nút đặt lại.

  

& lt; main

class =

" nền "

& gt;

& lt; section

class =

"title"

& gt;

& lt; h1 & gt;

Tic Tac Toe

& lt; / h1 & gt;

& lt; / section & gt;

& lt; section

class =

"display"

& gt;

Trình phát

& lt; span

class =

"display-player playerX"

& gt;

Đến lượt của X

& lt; / span & gt;

& lt; / section & gt;

& lt; section

class =

"container"

& gt;

& lt; div

class =

"ngói"

& gt; & lt; / div & gt;

& lt; div

class =

"ngói"

& gt; & lt; / div & gt;

& lt; div

class =

"ngói"

& gt; & lt; / div & gt;

& lt; div

class =

"ngói"

& gt; & lt; / div & gt;

& lt; div

class =

"ngói"

& gt; & lt; / div & gt;

& lt; div

class =

"ngói"

& gt; & lt; / div & gt;

& lt; div

class =

"ngói"

& gt; & lt; / div & gt;

& lt; div

class =

"ngói"

& gt; & lt; / div & gt;

& lt; div

class =

"ngói"

& gt; & lt; / div & gt;

& lt; / section & gt;

& lt; section

class =

"hiển thị thông báo ẩn"

& gt; & lt; / section & gt;

& lt; section

class =

"control"

& gt;

Nút

& lt;

id =

"đặt lại"

& gt;

Đặt lại

& lt; / button & gt;

& lt; / section & gt;

& lt; / main & gt;

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình



Thêm CSS

Tôi sẽ không xem qua từng dòng CSS, nhưng bạn có thể xem video hoặc kiểm tra nguồn trong kho lưu trữ GitHub của dự án .

Đầu tiên, tôi sẽ tạo tệp style.css và xóa mọi lề và đệm do trình duyệt xác định, đồng thời đặt phông chữ Google mà tôi đã đưa vào HTML cho toàn bộ tài liệu.

  

*

{

padding

:

0

;

margin

:

0

;

font-family

:

'Itim'

,

chữ thảo

;

}

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Điều quan trọng tiếp theo mà chúng tôi phải thêm là kiểu dáng cho bảng của chúng tôi. Chúng tôi sẽ sử dụng lưới CSS để tạo bảng. chúng ta có thể chia vùng chứa bằng nhau làm ba bằng cách cung cấp 3 lần 33% fo r cho cả cột và hàng. Chúng tôi sẽ căn giữa vùng chứa ở giữa bằng cách đặt chiều rộng tối đa và áp dụng margin: 0 auto; .

  

. container

{

margin

:

0

auto

;

display

:

lưới

;

grid-template-column

:

33%

33%

33%

;

grid-template-row

:

33%

33%

33%

;

max-width

:

300px

;

}

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Tiếp theo, chúng ta sẽ thêm phong cách cho các ô bên trong bảng. Chúng tôi sẽ áp dụng một đường viền nhỏ màu trắng và đặt chiều rộng và chiều cao tối thiểu là 100 pixel. Chúng tôi sẽ căn giữa nội dung bằng cách sử dụng flexbox và đặt justify-content align-items thành center . Chúng tôi sẽ cung cấp cho nó kích thước phông chữ lớn và áp dụng cursor: pointer để người dùng biết rằng trường này có thể nhấp được.

  

. tile

{

border

:

1px

solid

trắng

;

min-width

:

100px

;

min-height

:

100px

;

display

:

flex

;

justify-content

:

center

;

align-items

:

center

;

font-size

:

50px

;

con trỏ

:

con trỏ

;

}

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Tôi sẽ sử dụng hai màu riêng biệt để phân biệt rõ hơn giữa hai người chơi. Để làm điều này, tôi sẽ tạo hai lớp tiện ích. Người chơi X sẽ có màu xanh lá cây trong khi Người chơi O sẽ có màu xanh lam.

  

. playerX

{

color

:

# 09C372

; < / p>

}

. playerO

{

color

:

# 498AFB

; < / p>

}

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Đây là những khía cạnh chính của dự án này liên quan đến CSS. Đây không phải là tất cả các kiểu mà dự án sử dụng, vì vậy vui lòng tham khảo kho lưu trữ GitHub của dự án



Triển khai phần Javascript

Vì chúng tôi đã đưa tệp javascript của mình vào & lt; head & gt; , chúng tôi phải gói mọi thứ trong mã của chúng tôi giữa trình xử lý sự kiện này. Điều này là cần thiết vì tập lệnh của chúng tôi sẽ tải trước khi phần nội dung HTML sẽ được trình duyệt phân tích cú pháp. Nếu bạn không muốn gói mọi thứ bên trong chức năng này, vui lòng thêm defer vào thẻ script hoặc di chuyển thẻ script xuống cuối body .

  

window

.

addEventListener

(

'

DOMContentLoaded

' < / p>

,

()

= & gt;

{

// mọi thứ diễn ra ở đây

});

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Đầu tiên, chúng tôi sẽ lưu các tham chiếu đến các nút DOM của chúng tôi. Chúng tôi sẽ vẽ biểu đồ tất cả các ô bằng cách sử dụng document.querySelectorAll () . Chúng ta muốn một mảng nhưng hàm này trả về một NodeList vì vậy chúng ta phải chuyển đổi nó thành một mảng thích hợp với Array.from () . Chúng tôi cũng sẽ lấy tham chiếu đến màn hình trình phát, nút đặt lại và thông báo.

  

const

gạch

=

Mảng

.

from

(< / p>

document

.

querySelectorAll

(

'

. ngói

'

));

const

playerDisplay

=

document

.

querySelector

(

'

. display-player

'

);

const

resetButton

=

document

.

querySelector

(

'

# đặt lại

'

);

const

phát thanh viên

=

tài liệu

.

querySelector

(

'

. phát thanh viên

'

);

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Tiếp theo, chúng tôi sẽ thêm các biến toàn cục mà chúng tôi cần để kiểm soát trò chơi của mình. Chúng tôi sẽ khởi tạo một bảng với một Mảng gồm chín chuỗi trống. Điều này sẽ giữ các giá trị X ab O cho mọi ô trên bảng. Chúng tôi sẽ có một currentPlayer chứa dấu hiệu của người chơi đang hoạt động trong lượt hiện tại. Biến isGameActive sẽ đúng cho đến khi ai đó thắng hoặc trò chơi kết thúc với tỷ số hòa. Trong những trường hợp này, chúng tôi sẽ đặt nó thành false nên các ô còn lại sẽ không hoạt động cho đến khi đặt lại. Chúng tôi có ba hằng số đại diện cho các trạng thái kết thúc trò chơi. Chúng tôi sử dụng các hằng số này để tránh lỗi chính tả.

  

let

board

=

[

''

,

' '

,

' '

,

''

,

''

,

< p class = "dl"> ''

,

''

, < / p>

''

,

''

];

let

currentPlayer

=

'

X

'

;

let

isGameActive

=

true

;

const

PLAYERX_WON

=

'

PLAYERX_WON

'

;

const

PLAYERO_WON

=

'

PLAYERO_WON

'

;

const

TIE

=

'

TIE

'

;

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Trong bước tiếp theo, chúng tôi sẽ lưu trữ tất cả các vị trí chiến thắng trên bảng. Trong mỗi mảng con, chúng tôi sẽ lưu trữ các chỉ số của ba vị trí có thể giành chiến thắng trong trò chơi. Vì vậy, [0, 1, 2] sẽ đại diện cho trường hợp đường ngang đầu tiên bị người chơi chiếm giữ. Chúng tôi sẽ sử dụng mảng này để quyết định xem chúng tôi có người chiến thắng hay không.

  

/ * Chỉ mục trong bảng [0] [1] [2] [3] [4] [5] [6] [7] [8] * /

const

Điều kiện chiến thắng

=

[

[

0

,

1

,

2

],

[

3

,

4

,

5

],

[

6

,

7

,

8

],

[

0

,

3

,

6

],

[

1

,

4

,

7

],

[

2

,

5

,

8

],

[

0

,

4

,

8

],

[

2

,

4

,

6

]

];

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Bây giờ chúng ta sẽ viết một vài hàm tiện ích. Trong hàm isValidAction , chúng tôi sẽ quyết định người dùng có muốn thực hiện một hành động hợp lệ hay không. Nếu văn bản bên trong của ô là X hoặc O , chúng tôi trả về false vì hành động không hợp lệ, nếu không ô trống nên tác vụ hợp lệ.

  

const

isValidAction

=

(

ngói

)

= & gt ;

{

if

(

ngói

.

innerText

===

'

X

'

||

ngói

.

innerText

===

'

O

'

) {

return

false

;

}

return

true

;

};

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Chức năng tiện ích tiếp theo sẽ thực sự đơn giản. Trong fucntion này, chúng tôi sẽ nhận một chỉ mục làm tham số và đặt phần tử tương ứng trong mảng bảng là dấu hiệu của người chơi hiện tại của chúng tôi.

  

const

updateBoard

=

(

index

)

= & gt ;

{

bảng

[

index

]

=

currentPlayer

;

}

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Chúng tôi sẽ viết một hàm nhỏ để xử lý thay đổi trình phát. Trong chức năng này, trước tiên chúng ta sẽ xóa lớp người chơi hiện tại khỏi playerDisplay . Mẫu chuỗi theo nghĩa đen player $ {currentPlayer} sẽ trở thành playerX hoặc playerO tùy thuộc vào trình phát hiện tại. Tiếp theo, chúng ta sẽ sử dụng biểu thức bậc ba để thay đổi giá trị của người chơi hiện tại. Nếu nó là X thì nó sẽ là O nếu không nó sẽ là X . Bây giờ chúng tôi đã thay đổi giá trị của người dùng, chúng tôi cần cập nhật innerText của playerDisplay và áp dụng lớp trình phát mới cho nó.

  

const

changePlayer

=

()

= & gt;

{

playerDisplay

.

classList

.

xóa

(

`player

$ {

currentPlayer

}

`

);

currentPlayer

=

currentPlayer

===

'

X

'

?

'

O

'

:

'

X

'

;

playerDisplay

.

innerText

=

currentPlayer

;

playerDisplay

.

classList

.

thêm

(

`player

$ {

currentPlayer

}

`

);

}

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Bây giờ chúng tôi sẽ viết phần thông báo sẽ thông báo kết quả trận đấu cuối cùng. Nó sẽ nhận được một loại trò chơi kết thúc và cập nhật innerText của nút DOM thông báo dựa trên kết quả. Ở dòng cuối cùng, chúng tôi phải xóa lớp ẩn, vì người thông báo sẽ bị ẩn theo mặc định cho đến khi trò chơi kết thúc.

  

const

thông báo

=

(

loại

)

= & gt ;

{

chuyển đổi

(

loại

) {< / p>

case

PLAYERO_WON

:

phát thanh viên

.

innerHTML

=

'

Trình phát & lt; span class = "playerO" & gt; O & lt; / span & gt; Đã giành được

'

;

nghỉ

;

case

PLAYERX_WON

:

phát thanh viên

.

innerHTML

=

'

Trình phát & lt; span class = "playerX" & gt; X & lt; / span & gt; Đã giành được

'

;

nghỉ

;

case

TIE

:

phát thanh viên

.

innerText

=

'

Tie

'

;

}

phát thanh viên

.

classList

.

xóa

(

'

ẩn

'

);

};

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Tiếp theo, chúng tôi sẽ viết một trong những phần thú vị nhất của dự án này là đánh giá kết quả. Đầu tiên, chúng ta sẽ tạo một biến roundWon và khởi tạo nó bằng false. Sau đó, chúng ta sẽ lặp qua mảng winConditions và kiểm tra bảng cho từng điều kiện chiến thắng. Vì vậy, ví dụ: trong lần lặp thứ hai, chúng tôi sẽ kiểm tra các giá trị sau: board [3] (a), board [4] (b), board [5 ] (c).

Chúng tôi cũng sẽ thực hiện một số tối ưu hóa, nếu bất kỳ trường nào trống, chúng tôi sẽ gọi continue và bỏ qua lần lặp tiếp theo, vì bạn không thể giành chiến thắng nếu có ô trống trong điều kiện chiến thắng. Nếu tất cả các trường bằng nhau thì chúng ta có một trường chiến thắng, vì vậy chúng tôi đặt roundWon thành true và ngắt vòng lặp for, vì bất kỳ lần lặp nào nữa sẽ là một phép tính lãng phí.

Sau vòng lặp, chúng tôi sẽ kiểm tra giá trị của biến roundWon và nếu đúng, chúng tôi sẽ công bố người chiến thắng và đặt trò chơi ở chế độ không hoạt động. Nếu chúng tôi không có người chiến thắng, chúng tôi sẽ kiểm tra ướt hơn, chúng tôi có ô trống trên bảng và nếu chúng tôi không có người chiến thắng và không còn ô trống, chúng tôi thông báo hòa.

  

function

handleResultValidation

()

{

let

roundWon

=

false

;

cho

(

cho

i

=

0

;

i

& lt; =

7

;

i

++

)

{

const

winCondition

=

thắngĐiều kiện

[

i

];

const

a

=

board

[

winCondition

[

0

]];

const

b

=

board

[

winCondition

[

1

]];

const

c

=

board

[

winCondition

[

2

]];

nếu

(

a

===

""

||

b

===

" "

||

c

>

===

""

)

{

tiếp tục

;

}

nếu

(

a

===

b

& amp; & amp;

b

===

c

)

{

roundWon

=

true

;

nghỉ

;

}

}

if

(

roundWon

)

{

thông báo

(

currentPlayer

===

"

X

"

?

PLAYERX_WON

:

PLAYERO_WON

);

isGameActive

=

false

;

trả về

;

}

if

(

!

board

.

bao gồm

(

" "

))

thông báo

(

TIE

);

}

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Tiếp theo, chúng tôi sẽ xử lý hành động của người dùng. Hàm này sẽ nhận một ô và một chỉ mục làm tham số. Hàm này sẽ được gọi khi người dùng nhấp vào một ô. Trước tiên, chúng tôi cần kiểm tra xem đó có phải là một hành động hợp lệ hay không và chúng tôi cũng sẽ kiểm tra xem trò chơi hiện đang hoạt động hay không. Nếu cả hai đều đúng, chúng tôi cập nhật innerText của ô bằng ký hiệu của trình phát hiện tại, thêm lớp tương ứng và cập nhật mảng bảng. Bây giờ mọi thứ đã được cập nhật, chúng tôi phải kiểm tra xem trò chơi đã kết thúc hay chưa, vì vậy chúng tôi gọi handleResultValidation () . Cuối cùng, chúng ta phải gọi phương thức changePlayer để chuyển lượt cho người chơi khác.

  

const

userAction

=

(

ngói

,

index < / p>

)

= & gt;

{

if

(

isValidAction

(

ngói

)

& amp; & amp;

isGameActive

)

{

ngói

.

innerText

=

currentPlayer

;

ngói

.

classList

.

thêm

(

`player

$ {

currentPlayer

}

`

);

updateBoard

(

index

); < / p>

handleResultValidation

();

changePlayer

();

}

};

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Để trò chơi hoạt động, chúng tôi phải thêm người nghe sự kiện vào các ô. Chúng ta có thể làm điều đó bằng cách lặp qua mảng các ô và thêm một trình xử lý sự kiện cho mỗi ô. (Để có hiệu suất tối ưu hơn, chúng tôi chỉ có thể thêm một trình xử lý sự kiện vào vùng chứa và sử dụng tạo bọt sự kiện để ghi lại các nhấp chuột vào ô chính, nhưng tôi nghĩ đối với người mới bắt đầu, điều này dễ hiểu hơn.)

  

gạch

.

forEach

(

(

ngói

, < / p>

index

)

= & gt;

{

ngói

.

addEventListener

(

'

nhấp vào

'

,

()

= & gt;

userAction

(

ngói

,

chỉ mục

));

});

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Chỉ có một chức năng mà chúng tôi bỏ lỡ: đặt lại trò chơi. Vì mục đích đó, chúng tôi sẽ viết một hàm resetBoard . Trong chức năng này, chúng tôi đặt bảng bao gồm chín chuỗi trống, đặt trò chơi thành hoạt động, xóa người thông báo và thay đổi người chơi trở lại X (theo định nghĩa X bắt đầu luôn ).

Điều cuối cùng chúng tôi phải làm là lặp lại các ô và đặt nội dung trở lại thành một chuỗi trống, đồng thời xóa mọi lớp cụ thể của trình phát khỏi các ô.

  

const

resetBoard

=

()

= & gt;

{

bảng

=

[

'' < / p>

,

''

,

''

,

''

,

''

,

''

,

''

,

''

,

''

];

isGameActive

=

true

;

phát thanh viên

.

classList

.

thêm

(

'

ẩn

'

);

if

(

currentPlayer

===

'

O

'

)

{

changePlayer

();

}

gạch

.

forEach

(

ngói

= & gt;

{

ngói

.

innerText

=

''

;

ngói

.

classList

.

xóa

(

'

playerX

'

);

ngói

.

classList

.

xóa

(

'

playerO

'

);

});

}

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Bây giờ chúng tôi chỉ phải đăng ký chức năng này như một trình xử lý sự kiện nhấp chuột cho nút đặt lại.

  

resetButton

.

addEventListener

(

'

nhấp vào

' < / p>

,

resetBoard

);

Vào chế độ toàn màn hình

Thoát chế độ toàn màn hình

Và đây là nó, chúng tôi có một trò chơi Tic-Tac-Toe đầy đủ chức năng mà bạn có thể chơi cùng bạn bè của mình và có một khoảng thời gian vui vẻ.

Nếu bạn gặp khó khăn ở bất kỳ điểm nào, vui lòng xem video, gửi tin nhắn trực tiếp cho tôi trên Twitter hoặc kiểm tra kho lưu trữ GitHub của dự án .

Chúc bạn hack thành công!



Bạn có thể học thêm từ tôi ở đâu?

Tôi tạo nội dung giáo dục bao gồm phát triển web trên một số nền tảng, vui lòng 👀 xem chúng.

Tôi cũng tạo một bản tin để chia sẻ nội dung giáo dục của tuần hoặc 2 tuần mà tôi đã tạo. Không có nội dung giáo dục.

🔗 Liên kết:


Xem thêm những thông tin liên quan đến chủ đề cách tạo một trò chơi với html css và javascript

The Easiest Javascript Game Ever

  • Tác giả: KnifeCircus
  • Ngày đăng: 2020-05-16
  • Đánh giá: 4 ⭐ ( 5627 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: In this video I show you how I created the most basic, simple javascript game that you can make yourself. It’s similar to the google dinosaur game that you play when there’s no internet.

    If you’re trying to code this and get stuck watch this video before you give up: https://www.youtube.com/watch?v=3clSzwbhOf4

    LINK TO TRY THE GAME: https://beat0154.github.io/easiest-game-ever/
    LINK TO THE CODE: https://github.com/Beat0154/easiest-game-ever

    Follow me below and reach out if you need any help!
    Twitter: www.twitter.com/ShawnJBeaton
    Instagram: www.instagram.com/ShawnJBeaton

    I create javascript games in their simplest form using only html divs and css animations. They can still be quite fun, and beginner javascript developers can follow along and hopefully learn!

HTML, CSS, JavaScript là gì? Xây dựng website với HTML, CSS và JavaScript

  • Tác giả: final-blade.com
  • Đánh giá: 5 ⭐ ( 2937 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Lập trình HTML, CSS và JavaScript trong việc xây dựng website

  • Tác giả: codegym.vn
  • Đánh giá: 5 ⭐ ( 2882 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lập trình HTML, CSS hay  JavaScript là những mã hóa không thể thiếu để tạo ra một trang web. Nhưng vai trò và nhiệm vụ của chúng là gì?

Cách thức hoạt động của HTML, CSS và JavaScript – NordicCoder

  • Tác giả: blogchiase247.net
  • Đánh giá: 4 ⭐ ( 6687 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Tạo hiệu ứng trò chơi pacman với HTML và CSS

  • Tác giả: freetuts.net
  • Đánh giá: 3 ⭐ ( 7355 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn cách tạo hiệu ứng trò chơi pacman với HTML và CSS, bài này bạn sẽ được học chi tiết cách sử dụng HTML và CSS để tạo hiệu ứng trò chơi pacman nhanh.

Cách thức hoạt động của HTML, CSS và JavaScript

  • Tác giả: nordiccoder.com
  • Đánh giá: 4 ⭐ ( 6665 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Làm Game đơn giản với HTML và Javascript (P.1)

  • Tác giả: viblo.asia
  • Đánh giá: 4 ⭐ ( 1179 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Khi nói đến phát triển các ứng dụng Game, chúng ta đều nghĩ ngay tới Android. Nhưng có khi nào bạn nghĩ rằng chỉ với HTML và JavaScript bạn cũng có thể phát triển ra những game đơn giản hấp dẫn? Trước…

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Chuỗi Python (Có ví dụ) - python chuỗi là gì

By ads_php