text:
Chương 2: Giết người
Đối với khẩu súng kia La Giản không suy nghĩ gì nhiều, bởi vì cậu không biết dùng, với vũ khí cậu thường ôm tâm lý sợ hãi, vì thế trịnh trọng mà cẩn thận đặt khẩu súng lên mặt bàn, sau đó cầm lên thứ còn sót lại trong ngăn kéo: mũi dùi.
Cái dùi thường dùng để sửa giầy, có thể tạo lỗ thủng, một đầu sắc nhọn, La Giản cầm trong tay nhìn một chút, cũng đặt lên bàn, cậu lôi hết mọi thứ trong các ngăn kéo ra đặt lên bàn, có điều mấy thứ này thoạt trông không mấy tác dụng, có lẽ cậu nên dùng súng trực tiếp bắn bay tay nắm cửa, nhưng việc này có phần mạo hiểm, hơn nữa cậu chưa bắn súng bao giờ, La Giản không chắc mình có thể bắn trúng mục tiêu không. Nhất là, khẩu súng này chỉ có duy nhất một viên đạn, trượt một lần, La Giản sẽ chẳng kiếm đâu ra được cơ hội thứ hai.
Cho nên cậu phải suy nghĩ tìm cách khác để mở được cánh cửa này.
Hay là xem thử xem trong ngăn kéo bị khóa có thứ gì? La Giản đem lực chú ý tập trung vào cái ngăn trên cùng, vừa nãy cậu đã thử, nó chắc chắn bị khóa, có điều khóa ở đây dễ xử lý hơn khóa ở cửa.
Nhưng sự thật chứng minh La Giản không hề có thiên phú trong việc phá khóa, cậu dùng cái dùi, dùng dây thép, dùng kéo, dùng tất cả những thứ có thể dùng được, gây sức ép một hồi mà vẫn không mở được cái khóa chết tiệt kia! La Giản cực kỳ tức giận, dứt khoát không mân mê cái khóa trên ngăn kéo nữa, trực tiếp đi cạy mở ổ khóa trên tay nắm cửa, nhưng như vậy càng không xong, ổ khóa tựa như đối nghịch với cậu không chút sứt mẻ, quả thực tốn công vô ích!
Có điều La Giản cũng phát hiện ra một việc, lỗ khóa trên tay nắm cửa này không hoàn toàn giống với lỗ khóa thông thường. Lỗ khóa ở đây rất to, thành một cái lỗ tròn nhỏ tối đen như mực, chìa khóa tương ứng để mở nó ra hẳn cũng rất lớn…
La Giản nửa quỳ trên đất, muốn xuyên qua lỗ khóa thăm dò tình hình bên kia, đương nhiên cậu chẳng trông thấy gì sất, cái lỗ be bé tối đen như mực khiến La Giản cảm thấy sởn tóc gáy, cậu đứng dậy lùi ra sau cẩn thận quan sát cánh cửa, màu sơn đỏ thẫm trong không gian chật chội của căn phòng có chút quỷ dị, tay nắm cửa làm bằng sắt, rỉ sét loang lổ, tựa như có người sử dụng nó trong một thời gian dài.
Cảm giác đầu tiên mà cánh cửa này mang lại cho La Giản là sự cũ kỹ, nhưng chất gỗ trên cửa vẫn còn rất tốt, trơn bóng sạch sẽ, vì thế cậu suy nghĩ, cầm lấy cái dùi bên cạnh, định tạo chút vết tích trên cửa để thử chất gỗ, nhưng chuyện ngoài ý muốn đã xảy ra, vô luận cậu làm thế nào, đều không thể để lại chút vết tích trên cửa gỗ, cho dù chỉ là một vết xước.
Cái cửa chết tiệt này bị ếm bùa à? Hay là có cho thêm chất liệu đặc biệt mà La Giản không biết?
La Giản cắn cắn môi lại vứt cái dùi qua một bên, thứ này đối với cậu chẳng chút tác dụng, vì thế La Giản từng bước lùi ra sau, trực tiếp nhấc chân lên hung hăng đạp lên mặt cửa! Cậu không dùng một chân để đạp, mà dùng hai chân luân phiên nhau không ngừng phát động công kích với cánh cửa, tiếng động do va chạm mãnh liệt phát ra liên tục.
Nhưng cánh cửa chẳng hề lay chuyển. La Giản cảm thấy đôi chân bắt đầu tê rần.
“Mẹ kiếp, ép người quá đáng.” La Giản rốt cuộc không nhịn được phải chửi bậy, con bà nó cái cửa này làm bằng gì mà lại rắn chắc thế chứ? Cậu lăn qua lăn lại hồi lâu mà ngay cả một cái khe cũng không thấy, chẳng lẽ không phải làm từ gỗ?!
La Giản đột nhiên trở nên kích động! Không! Có lẽ là cậu bắt đầu cảm thấy sợ hãi, căn phòng nhỏ bé chật chội tĩnh lặng đến mức cậu có thể nghe thấy rõ ràng tiếng tim đập của mình, sự sợ hãi như loài rắn ngủ đông từ lâu dưới đáy lòng rốt cuộc đã tỉnh lại, cơ thể lạnh lẽo không xương chậm rãi lướt qua trái tim La Giản, khiến khớp hàm của cậu cũng run rẩy.
Sự hoảng hốt bất thình lình làm La Giản vừa sợ vừa thêm lớn mật, cậu trực tiếp cầm lấy khẩu súng trên bàn, đứng theo tư thế của cảnh sát trong ti vi, họng súng nhắm thẳng vào cánh cửa màu đỏ. Nhưng ngay sau đó, La Giản đành phải từ bỏ hành động mù quáng vô tri mà còn đầy rẫy nguy hiểm này.
Khiến cậu từ bỏ chỉ có một nguyên nhân duy nhất, nếu cánh cửa này chắc chắn đến mức đạn bắn cũng không qua, thì ở trong căn phòng nhỏ hẹp như ở đây, khả năng đạn bắn ngược trở lại là rất lớn, nó có thể tạo ra một cái lỗ nho nhỏ trên người La Giản, chết theo kiểu buồn cười như vậy, La Giản tuyệt đối không muốn chuyện đó xảy ra.
La Giản đành nắm chặt khẩu súng đặt mông ngồi dưới đất, cậu phát ngốc một lúc lâu, đột nhiên theo bản năng nhìn đồng hồ báo thức trên bàn, kim đồng hồ rõ ràng chỉ vào con số: 12:22.
Trên tờ giấy có con dấu hoa văn màu tím đã ghi rõ giới hạn thời gian của cậu là một tiếng đồng hồ, mà La Giản đến tận lúc này vẫn đang nghĩ có phải ai đó đang đùa mình hay không, nhưng nếu thật là đùa giỡn thì hơi quá đáng rồi, La Giản cân nhắc khẩu súng trong tay, đây tuyệt đối là đồ thật.
Tuy La Giản chưa sử dụng súng bao giờ, nhưng cậu có quen một tên cuồng súng ống đạn dược đã từng tha thiết nhiệt liệt giới thiệu cho cậu vô vàn những thứ mà hắn cất giữ, mặc dù đều là hàng nhái và mô phỏng, hơn nữa lúc ấy La Giản căn bản không chú tâm lắng nghe cho lắm, nhưng cậu vẫn học được cách phân biệt hàng giả và hàng thật, lắp ráp ổ đạn, chất lượng và sức nặng, sẽ hoàn toàn khác biệt với hàng mô phỏng theo.
La Giản xoắn xuýt một lúc, một lần nữa trịnh trọng đặt khẩu súng lên bàn làm việc, cậu ngổi xổm xuống đất bắt đầu tìm tờ giấy nhắn kia, sau khi đọc xong cậu đã vứt nó xuống đất. Cậu nhanh chóng tìm được nó cạnh chân giường, La Giản nhặt nó lên đọc lại một lần nữa dòng chữ xinh đẹp viết bằng bút máy, không có gì khác biệt, cậu cẩn thận quan sát hoa văn màu tím ở góc phải bên dưới tờ giấy, hoa văn kia thoạt nhìn giống như là hoa bỉ ngạn, cũng chính là Mạn châu sa hoa, loại hoa của địa ngục trong truyền thuyết.
Màu đỏ tươi là dấu hiệu của Mạn châu sa hoa, dự báo điềm xấu chia lìa cùng cái chết, nhưng trên tờ giấy này, màu đỏ của đóa hoa địa ngục lại là màu tím.
Bỉ ngạn hoa.
Ngàn năm nở, ngàn năm tàn, hoa và lá vĩnh viễn không gặp nhau.
Tình bất vi nhân quả, duyên chú định sinh tử
(Tình không như nhân quả, sinh tử do duyên định sẵn)
Ý nghĩa của loài hoa này khiến La Giản sởn gai ốc, cậu lật mặt trái của tờ giấy, ban nãy khi tìm thấy tờ giấy này đã định xem mặt sau có chữ viết hay không, nhưng bởi áp lực trong phòng kín, cậu lại quên mất phải cẩn thận quan sát.
Quả nhiên, mặt sau tờ giấy có ghi:
[Năm 1989 có một vụ án giết người trong phòng kín, hung thủ giết chết một người ngay trong căn phòng chật chội mà hắn thuê, lưu lại vết máu, cửa sổ và cửa chính đều khóa chặt, nhưng thi thể, hung khí và bản thân hung thủ đều không cánh mà bay.]
Chỉ có một câu ngắn ngủn như vậy, nhưng La Giản biết đây chính là manh mối, cậu ngẩng đầu tiếp tục cẩn thận quan sát căn phòng nhỏ này. Căn phòng rõ ràng đã có tuổi, vách tường sơn màu trắng không ít chỗ đã bong tróc, rạn nứt từng mảng lớn, lộ ra gạch đỏ, cửa sổ cũng là cửa sổ kiểu cũ sơn màu vàng, mặt kính đã rạn nứt kha khá, lá thép bên ngoài có vẻ là đồ mới, chặt chẽ che kín cửa sổ.
Rèm cửa màu xám không phải kiểu trượt rũ rượi, như có thể rơi xuống bất cứ lúc nào. Khi La Giản lặp lại động tác kéo tấm rèm ra thì hắt xì một cái rõ to, bụi bám rất nhiều. Cậu ngồi xổm xuống nhìn gầm giường, cũng được phủ một lớp bụi rất dày, ban nãy cậu nằm trên giường thì lại thấy cực kỳ sạch sẽ, chăn và ga trải giường hình như vừa mới đổi, trắng tinh sạch sẽ, tựa giường bệnh đơn điệu trong các phòng ở bệnh viện.
La Giản kiểm tra một lượt chăn gối trên giường các loại, không thu hoạch được gì.
Không thu hoạch được gì chẳng dễ chịu chút nào, cậu tập trung toàn bộ lực chú ý lên mọi thứ trong căn phòng, cậu cẩn thận kiểm tra bàn làm việc, cái bàn này không giống với cánh cửa kia, rất dễ dàng tạo ra vết tích bằng vật dụng sắc bén, La Giản quan sát ngăn kéo bị khóa, nếu không thể dùng bạo lực với cánh cửa chết tiệt, vậy có thể dùng bạo lực với ngăn kéo này chứ hả?
Thế là La Giản cầm cây kéo cùng cái dùi, thậm chí cả bút bi, liều lĩnh phá hoại ổ khóa ngăn kéo, ổ khóa này không giống ổ khóa trên cửa, có vẻ yếu ớt hơn, La Giản cơ hồ muốn lôi cả cái ổ khóa kia ra ngoài, trong lúc cậu vừa dùng kéo và cái dùi đâm chọc vừa dùng chân ra sức đạp, khiến bàn làm việc hoàn toàn thay đổi, cuối cùng cũng mở được cái ngăn kéo này ra!
Nhưng mà thứ trong ngăn kéo, thật sự khiến La Giản bất ngờ.
“Búa?” La Giản cầm lấy cây búa cỡ lớn trong ngăn kéo, thoạt trông cực kỳ rắn chắc, cậu cân nhấc trọng lượng của nó, rất nặng, không biết có thể dùng để đập nát cánh cửa kia được không.
Vừa nghĩ như vậy, La Giản liền quyết định rất nhanh cầm cây búa đập lên cánh cửa màu đỏ, nhưng kết quả như cũ làm người ta phải kinh ngạc! Lực phản chấn mạnh đến nỗi La Giản suýt buông tay, nhưng cánh cửa vẫn chẳng chút sứt mẻ, im lặng đứng nguyên đó, ngăn cách La Giản với thế giới bên ngoài.
La Giản miệng méo xệch nhìn cánh cửa bình an vô sự, có lẽ cậu phải đập thêm vài nhát nữa.
Nhưng sau khi cậu đập liên tục mười nhát, La Giản thực sự muốn hét lên! Cho dù cửa này làm bằng thép thì cũng phải lưu lại một vài dấu vết chứ?!
Sau đó La Giản lại ngoái nhìn cửa sổ cũ nát, tuy trên tờ giấy viết cậu đừng mong có thể thoát ra ngoài bằng cửa sổ, nhưng hiện tại cậu không nhịn được mà suy nghĩ theo hướng ấy, thử xem thế nào? Có lẽ những gì viết trên tờ giấy đều là giả dối, cố ý không để người ta tiếp cận cửa sổ?
La Giản đi tới mở cửa sổ ra, sờ soạng lá thép bịt kín bên ngoài, không hề bám bụi.
Để đảm bảo an toàn, La Giản dùng cái dùi đâm thử vào lá thép, kết quả là điều cậu không mong muốn nhất, lá thép này giống hệt cánh cửa màu đỏ không thể lưu lại bất cứ vết tích gì, dùng sự thực để thông báo cho La Giản biết – bất cứ sức mạnh nào đều vô dụng với chúng nó.
La Giản cảm thấy rùng mình, ánh sáng u ám như biết trước tâm trạng của La Giản mà bỗng phụt tắt, khiến không gian chật chội trở nên tối đen, La Giản lạnh cả sống lưng.
“Bình tĩnh! Mình phải bình tĩnh, còn manh mối gì nữa nhỉ? Có lẽ ở đâu đó trong phòng cất giấu chiếc chìa khóa chăng? Nếu cánh cửa này được bố trí để không thể bị phá hư, vậy thì cách duy nhất mở nó ra chính là dùng chìa khóa, đúng! Cái này giống như game giải đố, chỉ có duy nhất một con đường đúng, mình cần tìm ra đầu mối chuẩn là được!”
La Giản tái nhợt cắn cắn môi, bắt đầu độc thoại:
“Mình đã tìm mọi nơi trong căn phòng, đều không thấy cái chìa khóa, vậy cái chìa khóa đang ở đâu? Bình thường người ta hay giấu chìa khóa chỗ nào nhỉ? Trong ví tiền của chủ nhân? Đúng vậy, quả là hướng đi đúng đắn. Nếu thế chủ nhân của căn phòng này là ai?”
La Giản cúi đầu liếc nhìn tờ giấy nọ, tầm mắt dừng lại ở dòng chữ cuối cùng: thi thể hung khí và hung thủ đều không cánh mà bay.
“Căn phòng của hung thủ, vậy chiếc chìa khóa hẳn là nằm trong tay hung thủ.” La Giản điên điên khùng khùng mà cười, cậu biết trạng thái tinh thần của mình không được bình thường, nhưng trong hoàn cảnh bị nhốt ở một nơi chật chội khép kín, bình thường được mới là chuyện lạ!
“Chỉ cần giải mã bí ẩn của mật thất, là có thể tìm được chìa khóa để thoát khỏi đây.” La Giản lại liếc mắt nhìn tờ giấy, nhếch miệng cười lạnh: “Ý mà ngươi muốn truyền đạt cho ta là như vậy phải không?”
Chuyện kỳ quái nhất đã xảy ra!
Ngay khi La Giản vừa nói xong câu đó, lập tức trên tờ giấy chỗ còn trống đột nhiên từ từ hiện ra một dòng chữ:
[Quả thật là vậy, chúc ngài may mắn.]
La Giản giống như bị điện giật quăng tờ giấy ra xa, sắc mặt của cậu trắng bệch như nhìn thấy quỷ, ngay cả thở mạnh cũng không dám.
Ban nãy cậu không hề nhìn lầm!
Dòng chữ kia tuyệt đối xuất hiện từ khoảng không! Cảm giác như kỳ tích tuyệt vời được tạo ra bởi ảo thuật gia! Biến chuyện không thể thành có thể, nhưng tất cả mọi người đều cười, bởi vì bọn họ biết ảo thuật chính là thủ thuật che mắt, là mánh khóe khi bạn mất tập trung dưới góc chết của thị giác để biến hóa thất thường!
Nhưng đây là trong căn phòng chật chội! Khép kín! Mờ tối! Trong căn phòng đáng sợ không thể chịu đựng nổi dù chỉ một ngày!
Ai sẽ làm ảo thuật cho La Giản xem chứ?
La Giản cảm thấy khớp hàm mình run bắn lên, cậu không dám nhìn tờ giấy kia nữa, theo bản năng liếc đồng hồ báo thức trên bàn, bây giờ là 12:40.
Không còn nhiều thời gian nữa!
Nếu không tìm được cách thoát ra ngoài, La Giản có thể thật sự vĩnh viễn phải ở trong này!
La Giản nóng nảy, một lần nữa cầm lấy cây búa, vừa ép bản thân phải bình tĩnh vừa suy nghĩ về căn phòng của hung thủ này. Manh mối đã nói hung thủ giết người ở đây. La Giản quan sát khắp nơi, không phát hiện vết máu, nếu căn phòng này thực sự là hiện trường hung án, vậy thì ít nhất khi hung thủ giết người, căn phòng sẽ không khóa kín, bởi vì để tẩy sạch dấu vết giết người và vết máu, hung thủ nhất định phải mở cửa ra ngoài, lấy nước và các dụng cụ khác tổng vệ sinh cả căn phòng.
Sau đó vứt bỏ dụng cụ lau dọn, căn phòng mới được khóa kín, hung thủ cùng nạn nhân vẫn như cũ ở bên trong, nhưng bọn họ lại biến mất.
“Không, bọn họ không biến mất, bọn họ vẫn ở đây.”
La Giản đột nhiên lẩm bẩm ra tiếng, cậu nhớ lại khi nãy có xem qua cuốn nhật ký của hung thủ, trên trang thứ nhất có viết:
[Bên trái tôi là ảnh ngược gấp khúc của xác chết.]
xin con tem , cơ mà sợ phết nhề , thế mà còn ngó gầm giuong dcdc @@
Bộ n đọc gay cấn đấy, cơ mà ta muốn đợi nàng e nhiều nhiều rồi đọc một thể, chứ mỗi ngày một chương rồi phải đọc thêm mấy bộ khác nữa, làm mạch suy luận của ta ngắt quãng ghê, tụt moa, toàn phải dđọc lại chap trước :p =))))
Nàng cứ e đi, ta là ta hóng lắm đấy

markdown:
**Chương 2: Giết người**
Đối với khẩu súng kia La Giản không suy nghĩ gì nhiều, bởi vì cậu không biết dùng, với vũ khí cậu thường ôm tâm lý sợ hãi, vì thế trịnh trọng mà cẩn thận đặt khẩu súng lên mặt bàn, sau đó cầm lên thứ còn sót lại trong ngăn kéo: mũi dùi.
Cái dùi thường dùng để sửa giầy, có thể tạo lỗ thủng, một đầu sắc nhọn, La Giản cầm trong tay nhìn một chút, cũng đặt lên bàn, cậu lôi hết mọi thứ trong các ngăn kéo ra đặt lên bàn, có điều mấy thứ này thoạt trông không mấy tác dụng, có lẽ cậu nên dùng súng trực tiếp bắn bay tay nắm cửa, nhưng việc này có phần mạo hiểm, hơn nữa cậu chưa bắn súng bao giờ, La Giản không chắc mình có thể bắn trúng mục tiêu không. Nhất là, khẩu súng này chỉ có duy nhất một viên đạn, trượt một lần, La Giản sẽ chẳng kiếm đâu ra được cơ hội thứ hai.
Cho nên cậu phải suy nghĩ tìm cách khác để mở được cánh cửa này.
Hay là xem thử xem trong ngăn kéo bị khóa có thứ gì? La Giản đem lực chú ý tập trung vào cái ngăn trên cùng, vừa nãy cậu đã thử, nó chắc chắn bị khóa, có điều khóa ở đây dễ xử lý hơn khóa ở cửa.
Nhưng sự thật chứng minh La Giản không hề có thiên phú trong việc phá khóa, cậu dùng cái dùi, dùng dây thép, dùng kéo, dùng tất cả những thứ có thể dùng được, gây sức ép một hồi mà vẫn không mở được cái khóa chết tiệt kia! La Giản cực kỳ tức giận, dứt khoát không mân mê cái khóa trên ngăn kéo nữa, trực tiếp đi cạy mở ổ khóa trên tay nắm cửa, nhưng như vậy càng không xong, ổ khóa tựa như đối nghịch với cậu không chút sứt mẻ, quả thực tốn công vô ích!
Có điều La Giản cũng phát hiện ra một việc, lỗ khóa trên tay nắm cửa này không hoàn toàn giống với lỗ khóa thông thường. Lỗ khóa ở đây rất to, thành một cái lỗ tròn nhỏ tối đen như mực, chìa khóa tương ứng để mở nó ra hẳn cũng rất lớn…
La Giản nửa quỳ trên đất, muốn xuyên qua lỗ khóa thăm dò tình hình bên kia, đương nhiên cậu chẳng trông thấy gì sất, cái lỗ be bé tối đen như mực khiến La Giản cảm thấy sởn tóc gáy, cậu đứng dậy lùi ra sau cẩn thận quan sát cánh cửa, màu sơn đỏ thẫm trong không gian chật chội của căn phòng có chút quỷ dị, tay nắm cửa làm bằng sắt, rỉ sét loang lổ, tựa như có người sử dụng nó trong một thời gian dài.
Cảm giác đầu tiên mà cánh cửa này mang lại cho La Giản là sự cũ kỹ, nhưng chất gỗ trên cửa vẫn còn rất tốt, trơn bóng sạch sẽ, vì thế cậu suy nghĩ, cầm lấy cái dùi bên cạnh, định tạo chút vết tích trên cửa để thử chất gỗ, nhưng chuyện ngoài ý muốn đã xảy ra, vô luận cậu làm thế nào, đều không thể để lại chút vết tích trên cửa gỗ, cho dù chỉ là một vết xước.
Cái cửa chết tiệt này bị ếm bùa à? Hay là có cho thêm chất liệu đặc biệt mà La Giản không biết?
La Giản cắn cắn môi lại vứt cái dùi qua một bên, thứ này đối với cậu chẳng chút tác dụng, vì thế La Giản từng bước lùi ra sau, trực tiếp nhấc chân lên hung hăng đạp lên mặt cửa! Cậu không dùng một chân để đạp, mà dùng hai chân luân phiên nhau không ngừng phát động công kích với cánh cửa, tiếng động do va chạm mãnh liệt phát ra liên tục.
Nhưng cánh cửa chẳng hề lay chuyển. La Giản cảm thấy đôi chân bắt đầu tê rần.
“Mẹ kiếp, ép người quá đáng.” La Giản rốt cuộc không nhịn được phải chửi bậy, con bà nó cái cửa này làm bằng gì mà lại rắn chắc thế chứ? Cậu lăn qua lăn lại hồi lâu mà ngay cả một cái khe cũng không thấy, chẳng lẽ không phải làm từ gỗ?!
La Giản đột nhiên trở nên kích động! Không! Có lẽ là cậu bắt đầu cảm thấy sợ hãi, căn phòng nhỏ bé chật chội tĩnh lặng đến mức cậu có thể nghe thấy rõ ràng tiếng tim đập của mình, sự sợ hãi như loài rắn ngủ đông từ lâu dưới đáy lòng rốt cuộc đã tỉnh lại, cơ thể lạnh lẽo không xương chậm rãi lướt qua trái tim La Giản, khiến khớp hàm của cậu cũng run rẩy.
Sự hoảng hốt bất thình lình làm La Giản vừa sợ vừa thêm lớn mật, cậu trực tiếp cầm lấy khẩu súng trên bàn, đứng theo tư thế của cảnh sát trong ti vi, họng súng nhắm thẳng vào cánh cửa màu đỏ. Nhưng ngay sau đó, La Giản đành phải từ bỏ hành động mù quáng vô tri mà còn đầy rẫy nguy hiểm này.
Khiến cậu từ bỏ chỉ có một nguyên nhân duy nhất, nếu cánh cửa này chắc chắn đến mức đạn bắn cũng không qua, thì ở trong căn phòng nhỏ hẹp như ở đây, khả năng đạn bắn ngược trở lại là rất lớn, nó có thể tạo ra một cái lỗ nho nhỏ trên người La Giản, chết theo kiểu buồn cười như vậy, La Giản tuyệt đối không muốn chuyện đó xảy ra.
La Giản đành nắm chặt khẩu súng đặt mông ngồi dưới đất, cậu phát ngốc một lúc lâu, đột nhiên theo bản năng nhìn đồng hồ báo thức trên bàn, kim đồng hồ rõ ràng chỉ vào con số: 12:22.
Trên tờ giấy có con dấu hoa văn màu tím đã ghi rõ giới hạn thời gian của cậu là một tiếng đồng hồ, mà La Giản đến tận lúc này vẫn đang nghĩ có phải ai đó đang đùa mình hay không, nhưng nếu thật là đùa giỡn thì hơi quá đáng rồi, La Giản cân nhắc khẩu súng trong tay, đây tuyệt đối là đồ thật.
Tuy La Giản chưa sử dụng súng bao giờ, nhưng cậu có quen một tên cuồng súng ống đạn dược đã từng tha thiết nhiệt liệt giới thiệu cho cậu vô vàn những thứ mà hắn cất giữ, mặc dù đều là hàng nhái và mô phỏng, hơn nữa lúc ấy La Giản căn bản không chú tâm lắng nghe cho lắm, nhưng cậu vẫn học được cách phân biệt hàng giả và hàng thật, lắp ráp ổ đạn, chất lượng và sức nặng, sẽ hoàn toàn khác biệt với hàng mô phỏng theo.
La Giản xoắn xuýt một lúc, một lần nữa trịnh trọng đặt khẩu súng lên bàn làm việc, cậu ngổi xổm xuống đất bắt đầu tìm tờ giấy nhắn kia, sau khi đọc xong cậu đã vứt nó xuống đất. Cậu nhanh chóng tìm được nó cạnh chân giường, La Giản nhặt nó lên đọc lại một lần nữa dòng chữ xinh đẹp viết bằng bút máy, không có gì khác biệt, cậu cẩn thận quan sát hoa văn màu tím ở góc phải bên dưới tờ giấy, hoa văn kia thoạt nhìn giống như là hoa bỉ ngạn, cũng chính là Mạn châu sa hoa, loại hoa của địa ngục trong truyền thuyết.
Màu đỏ tươi là dấu hiệu của Mạn châu sa hoa, dự báo điềm xấu chia lìa cùng cái chết, nhưng trên tờ giấy này, màu đỏ của đóa hoa địa ngục lại là màu tím.
Bỉ ngạn hoa.
Ngàn năm nở, ngàn năm tàn, hoa và lá vĩnh viễn không gặp nhau.
Tình bất vi nhân quả, duyên chú định sinh tử
(
*Tình không như nhân quả, sinh tử do duyên định sẵn*)
Ý nghĩa của loài hoa này khiến La Giản sởn gai ốc, cậu lật mặt trái của tờ giấy, ban nãy khi tìm thấy tờ giấy này đã định xem mặt sau có chữ viết hay không, nhưng bởi áp lực trong phòng kín, cậu lại quên mất phải cẩn thận quan sát.
Quả nhiên, mặt sau tờ giấy có ghi:
[Năm 1989 có một vụ án giết người trong phòng kín, hung thủ giết chết một người ngay trong căn phòng chật chội mà hắn thuê, lưu lại vết máu, cửa sổ và cửa chính đều khóa chặt, nhưng thi thể, hung khí và bản thân hung thủ đều không cánh mà bay.]
Chỉ có một câu ngắn ngủn như vậy, nhưng La Giản biết đây chính là manh mối, cậu ngẩng đầu tiếp tục cẩn thận quan sát căn phòng nhỏ này. Căn phòng rõ ràng đã có tuổi, vách tường sơn màu trắng không ít chỗ đã bong tróc, rạn nứt từng mảng lớn, lộ ra gạch đỏ, cửa sổ cũng là cửa sổ kiểu cũ sơn màu vàng, mặt kính đã rạn nứt kha khá, lá thép bên ngoài có vẻ là đồ mới, chặt chẽ che kín cửa sổ.
Rèm cửa màu xám không phải kiểu trượt rũ rượi, như có thể rơi xuống bất cứ lúc nào. Khi La Giản lặp lại động tác kéo tấm rèm ra thì hắt xì một cái rõ to, bụi bám rất nhiều. Cậu ngồi xổm xuống nhìn gầm giường, cũng được phủ một lớp bụi rất dày, ban nãy cậu nằm trên giường thì lại thấy cực kỳ sạch sẽ, chăn và ga trải giường hình như vừa mới đổi, trắng tinh sạch sẽ, tựa giường bệnh đơn điệu trong các phòng ở bệnh viện.
La Giản kiểm tra một lượt chăn gối trên giường các loại, không thu hoạch được gì.
Không thu hoạch được gì chẳng dễ chịu chút nào, cậu tập trung toàn bộ lực chú ý lên mọi thứ trong căn phòng, cậu cẩn thận kiểm tra bàn làm việc, cái bàn này không giống với cánh cửa kia, rất dễ dàng tạo ra vết tích bằng vật dụng sắc bén, La Giản quan sát ngăn kéo bị khóa, nếu không thể dùng bạo lực với cánh cửa chết tiệt, vậy có thể dùng bạo lực với ngăn kéo này chứ hả?
Thế là La Giản cầm cây kéo cùng cái dùi, thậm chí cả bút bi, liều lĩnh phá hoại ổ khóa ngăn kéo, ổ khóa này không giống ổ khóa trên cửa, có vẻ yếu ớt hơn, La Giản cơ hồ muốn lôi cả cái ổ khóa kia ra ngoài, trong lúc cậu vừa dùng kéo và cái dùi đâm chọc vừa dùng chân ra sức đạp, khiến bàn làm việc hoàn toàn thay đổi, cuối cùng cũng mở được cái ngăn kéo này ra!
Nhưng mà thứ trong ngăn kéo, thật sự khiến La Giản bất ngờ.
“Búa?” La Giản cầm lấy cây búa cỡ lớn trong ngăn kéo, thoạt trông cực kỳ rắn chắc, cậu cân nhấc trọng lượng của nó, rất nặng, không biết có thể dùng để đập nát cánh cửa kia được không.
Vừa nghĩ như vậy, La Giản liền quyết định rất nhanh cầm cây búa đập lên cánh cửa màu đỏ, nhưng kết quả như cũ làm người ta phải kinh ngạc! Lực phản chấn mạnh đến nỗi La Giản suýt buông tay, nhưng cánh cửa vẫn chẳng chút sứt mẻ, im lặng đứng nguyên đó, ngăn cách La Giản với thế giới bên ngoài.
La Giản miệng méo xệch nhìn cánh cửa bình an vô sự, có lẽ cậu phải đập thêm vài nhát nữa.
Nhưng sau khi cậu đập liên tục mười nhát, La Giản thực sự muốn hét lên! Cho dù cửa này làm bằng thép thì cũng phải lưu lại một vài dấu vết chứ?!
Sau đó La Giản lại ngoái nhìn cửa sổ cũ nát, tuy trên tờ giấy viết cậu đừng mong có thể thoát ra ngoài bằng cửa sổ, nhưng hiện tại cậu không nhịn được mà suy nghĩ theo hướng ấy, thử xem thế nào? Có lẽ những gì viết trên tờ giấy đều là giả dối, cố ý không để người ta tiếp cận cửa sổ?
La Giản đi tới mở cửa sổ ra, sờ soạng lá thép bịt kín bên ngoài, không hề bám bụi.
Để đảm bảo an toàn, La Giản dùng cái dùi đâm thử vào lá thép, kết quả là điều cậu không mong muốn nhất, lá thép này giống hệt cánh cửa màu đỏ không thể lưu lại bất cứ vết tích gì, dùng sự thực để thông báo cho La Giản biết – bất cứ sức mạnh nào đều vô dụng với chúng nó.
La Giản cảm thấy rùng mình, ánh sáng u ám như biết trước tâm trạng của La Giản mà bỗng phụt tắt, khiến không gian chật chội trở nên tối đen, La Giản lạnh cả sống lưng.
“Bình tĩnh! Mình phải bình tĩnh, còn manh mối gì nữa nhỉ? Có lẽ ở đâu đó trong phòng cất giấu chiếc chìa khóa chăng? Nếu cánh cửa này được bố trí để không thể bị phá hư, vậy thì cách duy nhất mở nó ra chính là dùng chìa khóa, đúng! Cái này giống như game giải đố, chỉ có duy nhất một con đường đúng, mình cần tìm ra đầu mối chuẩn là được!”
La Giản tái nhợt cắn cắn môi, bắt đầu độc thoại:
“Mình đã tìm mọi nơi trong căn phòng, đều không thấy cái chìa khóa, vậy cái chìa khóa đang ở đâu? Bình thường người ta hay giấu chìa khóa chỗ nào nhỉ? Trong ví tiền của chủ nhân? Đúng vậy, quả là hướng đi đúng đắn. Nếu thế chủ nhân của căn phòng này là ai?”
La Giản cúi đầu liếc nhìn tờ giấy nọ, tầm mắt dừng lại ở dòng chữ cuối cùng: thi thể hung khí và hung thủ đều không cánh mà bay.
“Căn phòng của hung thủ, vậy chiếc chìa khóa hẳn là nằm trong tay hung thủ.” La Giản điên điên khùng khùng mà cười, cậu biết trạng thái tinh thần của mình không được bình thường, nhưng trong hoàn cảnh bị nhốt ở một nơi chật chội khép kín, bình thường được mới là chuyện lạ!
“Chỉ cần giải mã bí ẩn của mật thất, là có thể tìm được chìa khóa để thoát khỏi đây.” La Giản lại liếc mắt nhìn tờ giấy, nhếch miệng cười lạnh: “Ý mà ngươi muốn truyền đạt cho ta là như vậy phải không?”
Chuyện kỳ quái nhất đã xảy ra!
Ngay khi La Giản vừa nói xong câu đó, lập tức trên tờ giấy chỗ còn trống đột nhiên từ từ hiện ra một dòng chữ:
[
*Quả thật là vậy, chúc ngài may mắn*.]
La Giản giống như bị điện giật quăng tờ giấy ra xa, sắc mặt của cậu trắng bệch như nhìn thấy quỷ, ngay cả thở mạnh cũng không dám.
Ban nãy cậu không hề nhìn lầm!
Dòng chữ kia tuyệt đối xuất hiện từ khoảng không! Cảm giác như kỳ tích tuyệt vời được tạo ra bởi ảo thuật gia! Biến chuyện không thể thành có thể, nhưng tất cả mọi người đều cười, bởi vì bọn họ biết ảo thuật chính là thủ thuật che mắt, là mánh khóe khi bạn mất tập trung dưới góc chết của thị giác để biến hóa thất thường!
Nhưng đây là trong căn phòng chật chội! Khép kín! Mờ tối! Trong căn phòng đáng sợ không thể chịu đựng nổi dù chỉ một ngày!
Ai sẽ làm ảo thuật cho La Giản xem chứ?
La Giản cảm thấy khớp hàm mình run bắn lên, cậu không dám nhìn tờ giấy kia nữa, theo bản năng liếc đồng hồ báo thức trên bàn, bây giờ là 12:40.
Không còn nhiều thời gian nữa!
Nếu không tìm được cách thoát ra ngoài, La Giản có thể thật sự vĩnh viễn phải ở trong này!
La Giản nóng nảy, một lần nữa cầm lấy cây búa, vừa ép bản thân phải bình tĩnh vừa suy nghĩ về căn phòng của hung thủ này. Manh mối đã nói hung thủ giết người ở đây. La Giản quan sát khắp nơi, không phát hiện vết máu, nếu căn phòng này thực sự là hiện trường hung án, vậy thì ít nhất khi hung thủ giết người, căn phòng sẽ không khóa kín, bởi vì để tẩy sạch dấu vết giết người và vết máu, hung thủ nhất định phải mở cửa ra ngoài, lấy nước và các dụng cụ khác tổng vệ sinh cả căn phòng.
Sau đó vứt bỏ dụng cụ lau dọn, căn phòng mới được khóa kín, hung thủ cùng nạn nhân vẫn như cũ ở bên trong, nhưng bọn họ lại biến mất.
“Không, bọn họ không biến mất, bọn họ vẫn ở đây.”
La Giản đột nhiên lẩm bẩm ra tiếng, cậu nhớ lại khi nãy có xem qua cuốn nhật ký của hung thủ, trên trang thứ nhất có viết:
*[Bên trái tôi là ảnh ngược gấp khúc của xác chết.*]
xin con tem , cơ mà sợ phết nhề , thế mà còn ngó gầm giuong dcdc @@
Bộ n đọc gay cấn đấy, cơ mà ta muốn đợi nàng e nhiều nhiều rồi đọc một thể, chứ mỗi ngày một chương rồi phải đọc thêm mấy bộ khác nữa, làm mạch suy luận của ta ngắt quãng ghê, tụt moa, toàn phải dđọc lại chap trước :p =))))
Nàng cứ e đi, ta là ta hóng lắm đấy

Server: nginx

Vary: Cookie

X-hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.

X-ac: 1.dca _dca


text:
Mới cập nhật
- Tham Gia Nhận Skin Siêu Phẩm Cùng CKTG Mùa 6
- Ngạo Kiếm Mobile: Chuỗi Sự Kiện Ưu Đãi Cuối Tuần 19/8
- Tru Tiên: Khai Mở Máy Chủ Quỷ Cung
- Sự kiện: PVTK ra server mới Nhiếp Phong
- Tặng Giftcode Chiến Cơ Huyền Thoại Mới Nhất 2016
- Bí Kíp Chiếm Gym và Đánh Bại Pokemon Cao Cấp
- Hướng Dẫn Chơi Game Pokemon Go Toàn Tập
- Thuộc Tính Và Khắc Chế Trong Pokemon Go
- Tiêu Điểm Của Game Chiến Thiên Tích

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Identified-Payload-Type: text/html

Connection: close

Vary: Cookie,Accept-Encoding,User-Agent

Content-Type: text/html; charset=UTF-8


text:
Hoa lan sonie hoa đẹp, vòi bông từ 10-12 bông (màu tím):
Hoa lan sonie giá bán 32k/ giỏ
Hoa lan màu các loại: giá bán 35k/ giò, giỏ bông
Hoa lan nắng: 50k/ giỏ hoa lan nắng các loại:
Hoa lan bán được giao hàng tận nơi, có thể đóng và chuyển hàng đi các cửa hàng hoa kiểng ở các tỉnh thành trên cả nước.
Địa chỉ: 74/2/1D đường 36,P. Linh Đông, Q. Thủ Đức, TP. Hồ Chí Minh.
Điện thoại: (08) 3720 3389 – Fax: (08) 3720 6720
Email: saigonhoa@gmail.com
Website: www.saigonhoa.com
2 thoughts on “Bán sỉ hoa lan màu – hoa lan sonia- hoa lan nắng”
Mua hoa lien he the nao
dạ vui lòng cho số Đt để bên mình liên hệ lại hoặc gọi cho chúng tôi đt 08 3720 3389.
Trân trọng

markdown:
Hoa lan sonie hoa đẹp, vòi bông từ 10-12 bông (màu tím):
Hoa lan sonie giá bán 32k/ giỏ
Hoa lan màu các loại: giá bán 35k/ giò, giỏ bông
Hoa lan nắng: 50k/ giỏ hoa lan nắng các loại:
Hoa lan bán được giao hàng tận nơi, có thể đóng và chuyển hàng đi các cửa hàng hoa kiểng ở các tỉnh thành trên cả nước.
**Địa chỉ:** 74/2/1D đường 36,P. Linh Đông, Q. Thủ Đức, TP. Hồ Chí Minh.
Điện thoại:
**(08) 3720 3389** – Fax: **(08) 3720 6720**
Email:
**saigonhoa@gmail.com**
Website:
[www.saigonhoa.com](http://saigonhoa.com/)
## 2 thoughts on “Bán sỉ hoa lan màu – hoa lan sonia- hoa lan nắng”
Mua hoa lien he the nao
dạ vui lòng cho số Đt để bên mình liên hệ lại hoặc gọi cho chúng tôi đt 08 3720 3389.
Trân trọng

WARC-Truncated: length

Link: <http://wp.me/P4IFv0-3n>; rel=shortlink


text:
NGÔN NGỮ LẬP TRÌNH VIOLET SCRIPT
Posted by xpss trên 13/03/2009
1.2. Các đặc điểm chính của ngôn ngữ
1.2.2. Lựa chọn chế độ chạy song song hoặc tuần tự
1.2.3. Khả năng sử dụng các thư viện mở
1.2.4. So sánh ngôn ngữ VS với Timeline
1.3. Sử dụng Violet Script trong Violet
1.4.1. Chương trình viết bằng VS
2. Ngôn ngữ Violet Script trong tạo bài giảng
3.4. Các lệnh phục vụ tính toán trong hình học phẳng
3.6. Các lệnh phục vụ xử lý tương tác
3.7. Các lệnh điều khiển hệ thống
4.5. Dựng tam giác biết 3 cạnh
1. Tổng quan
1.1. Giới thiệu sơ lược
Violet Script (VS) là ngôn ngữ lập trình chuyên dụng về đồ họa, đặc biệt trong việc tạo ra các hoạt động mô phỏng. Ngôn ngữ này có thể được sử dụng rất hiệu quả để xây dựng các phần mềm multimedia hỗ trợ dạy học. Với cấu trúc đơn giản nhưng đầy đủ và chặt chẽ, VS sẽ giúp người dùng có thể dễ dàng mô tả các ý tưởng của mình, hoặc có thể sửa đổi một sản phẩm có sẵn cho phù hợp kịch bản của mình.
Khác với một phần mềm công cụ, việc sử dụng ngôn ngữ lập trình có tính mở cao hơn, nó cho phép người dùng không phải chỉ là sử dụng các mẫu mô phỏng có sẵn mà còn có thể tự tạo ra các mẫu mới, hoặc sửa đổi được những mẫu đã có một cách tùy ý (sửa các tham số, nội dung và trình tự thể hiện, v.v…). Như vậy, khả năng đáp ứng yêu cầu người dùng của một ngôn ngữ lập trình là cao hơn rất nhiều so với một phần mềm công cụ.
VS được xây dựng dựa trên ngôn ngữ Action Script 2.0 của Macromedia Flash, chính vì vậy, VS rất mạnh trong việc thực hiện các mô phỏng có chuyển động và tương tác, có xử lý âm thanh và hình ảnh. Tất nhiên, việc lập trình bằng VS thì đơn giản hơn nhiều so với lập trình bằng Action Script.
Các file mã nguồn của VS đều có thể sử dụng được mã văn bản Unicode hoặc Unicode UTF-8. Chính vì vậy, không chỉ có các dữ liệu, lời giải thích mà kể cả tên các đối tượng (tên biến, tên nhãn, tên lệnh, tên hàm…) đều có thể dùng được bằng tiếng Việt có dấu, giúp người dùng Việt Nam dễ tiếp cận hơn nhiều so với một ngôn ngữ bằng tiếng Anh.
1.2. Các đặc điểm chính của ngôn ngữ
1.2.1. Ngôn ngữ mô phỏng
Ngôn ngữ lập trình VS hỗ trợ rất nhiều về các kỹ thuật mô phỏng. Các thao tác về đồ họa và mô phỏng hầu hết đã được lập trình sẵn, lại thêm khả năng mở nạp thư viện động, khả năng sử dụng các dữ liệu âm thanh, hình ảnh một cách dễ dàng, VS sẽ giúp người cho người dùng có thể viết được những phần mềm đồ họa cao cấp mà không cần những kiến thức chuyên sâu về đồ họa.
Có thể coi việc lập trình mô phỏng bằng ngôn ngữ VS chỉ đơn giản là việc mô tả lại kịch bản của quá trình mô phỏng. Sau đó, trình thông dịch của VS sẽ thực hiện các công việc đồ họa và mô phỏng theo như kịch bản này. Do vậy, người dùng hoàn toàn có thể tạo được một quá trình mô phỏng phức tạp chỉ bằng một đoạn chương trình VS rất ngắn gọn (so với các ngôn ngữ lập trình khác).
1.2.2. Lựa chọn chế độ chạy song song hoặc tuần tự
Các ngôn ngữ thông dịch thường phải chạy dưới dạng tuần tự (chạy hết lệnh này rồi mới đến lệnh khác). Tuy vậy, trong mô phỏng, đôi khi ta cần tạo nhiều thao tác mô phỏng đồng thời (ví dụ như hai hay nhiều vật cùng chuyển động một lúc). Vì vậy, VS có thể cho phép người lập trình thiết lập được chế độ xử lý lệnh là song song hay tuần tự.
Đây cũng là một đặc điểm độc đáo và tiện dụng của ngôn ngữ VS so với các ngôn ngữ lập trình khác.
1.2.3. Khả năng sử dụng các thư viện mở
Tuy VS là ngôn ngữ chuyên dụng trong lĩnh vực đồ họa và mô phỏng, song đồ họa là một lĩnh vực rất rộng nên VS chỉ có tính tổng quát. Nó không thể bao hàm được hết tất cả các thao tác mô phỏng, chương trình thông dịch VS cũng không thể chứa tất cả các dữ liệu, thư viện hình ảnh thông dụng cho mọi sản phẩm. Tuy nhiên, đối với người lập trình không chuyên, vấn đề đặt ra là phải làm sao cho mọi thứ hầu như đã có sẵn hết.
Vì vậy, ngôn ngữ VS có một hệ thống thư viện đầy đủ kèm theo và cập nhật thường xuyên. Các thư viện này chứa nhiều hình ảnh, mô hình, biểu tượng thông dụng và có thể lấy ra sử dụng một cách dễ dàng, các thao tác chuyển động được lập trình sẵn, các mẫu chương trình chuẩn cũng có thể sử dụng với khả năng tùy biến cao.
Ví dụ: trong việc tạo bài giảng, nếu phân loại theo các môn học thì ngôn ngữ VS (cụ thể là trình thông dịch của ngôn ngữ VS) sẽ phục vụ cho tất cả các môn. Tuy nhiên, thư viện sử dụng cho từng môn sẽ khác nhau, nghĩa là ta sẽ có thư viện cho môn Toán, thư viện cho môn Vật Lý, v.v… Như vậy, khả năng cải tiến chương trình và cập nhật tư liệu của VS sẽ trở nên dễ dàng.
Thư viện động là một trong những ưu điểm hơn hẳn của VS so với hầu hết các phần mềm công cụ tạo bài giảng hiện nay.
1.2.4. So sánh ngôn ngữ VS với Timeline
Những người đã từng dùng hoặc xem các chương trình như Macromedia Flash, Macromedia Diector, Adobe Premier,… hẳn không thể không biết đến khái niệm Timeline (trục thời gian). Đây là một công cụ thiết kế rất quan trọng trong việc tạo ra các chuyển động, các hiệu ứng của hình ảnh và âm thanh, làm phim hoạt hình, xây dựng cấu trúc của một sản phẩm,… Timeline là một công cụ rất hữu ích, đặc biệt đối với người không biết lập trình cũng có thể dùng nó để xây dựng phần mềm multimedia ứng dụng được.
Tuy nhiên điểm nhược cơ bản của Timeline là không có tính mở. Ví dụ: dùng Timeline có thể dễ dàng tạo một chuyển động trong vòng 3 giây, nhưng không thể dùng Timeline để tạo chuyển động trong vòng n giây, với n là một giá trị được nhập từ bàn phím hoặc từ file bên ngoài.
Trong khi đó, việc xây dựng các phần mềm trợ giảng lại đòi hỏi công cụ phải có tính mở. Vì bài giảng của mỗi giáo viên là không giống nhau, nên phần mềm trợ giảng phải cho phép giáo viên tự sửa theo ý mình được. Trong trường hợp này, người sản xuất phần mềm không còn cách nào khác là phải lựa chọn một ngôn ngữ lập trình.
Mặt khác, đối với những người biết lập trình rồi thì dùng ngôn ngữ cũng dễ chịu hơn so với dùng Timeline. Ví dụ: có thể sửa đổi số liệu một cách dễ dàng và chính xác, có thể comment (viết lời giải thích) cho các đoạn chương trình, có thể phân chia chương trình lớn thành các module nhỏ… Việc thao tác với các dòng code cũng dễ dàng hơn so với các đối tượng đồ họa và Timeline. Code có thể dùng bất cứ chương trình soạn thảo văn nào để tạo lập và sửa đổi chứ không cần phải một hệ thống đồ sộ như khi dùng Timeline.
Tuy vậy, dùng Timeline cũng có một ưu điểm hơn so với ngôn ngữ là tính ổn định, ít bị lỗi. Còn việc lập trình nếu không cẩn thận thì sẽ có thể sinh ra rất nhiều lỗi. Do đó, trong quá trình phát triển thì ngôn ngữ thì cũng phải dần dần khắc phục yếu điểm này.
1.3. Sử dụng Violet Script trong Violet
Violet Script khởi nguồn là một ngôn ngữ chạy độc lập, có thể dùng để tự xây dựng được các bài giảng hoàn chỉnh. Khi được kết hợp với công cụ Violet, ngôn ngữ này thường chỉ dùng để tạo một đoạn mô phỏng ngắn trên một trang màn hình, vì vậy nên sẽ đơn giản hơn và dễ quản lý hơn. Đối với người dùng thì vừa có được sự linh hoạt của ngôn ngữ, lại vừa sử dụng được các tính năng dễ dùng của Violet như tạo hiệu ứng, tạo các bài tập,…
Để sử dụng VS trong Violet, vào mục soạn thảo trang màn hình, nhấn nút “Công cụ”, một menu hiện lên, ta chọn mục “Lập trình mô phỏng”. Màn hình sau hiện ra và ta có thể soạn thảo trực tiếp chương trình vào đây.
Màn hình soạn thảo Script
Nếu chương trình có sử dụng các đối tượng ảnh, hoặc các thư viện mã nguồn từ file text, thì sau khi viết xong, click vào nút “Tiếp tục”, màn hình sau hiện ra:
Màn hình nhập các mã nguồn bên ngoài và các đối tượng
Trong đó:
Khung phía trên cho phép nhập các file mã nguồn VS từ file text bên ngoài. Thông thường, Violet sẽ cung cấp sẵn một số file thư viện các thao tác chuẩn để có thể sử dụng được luôn.
Ta cũng có thể viết mã nguồn VS cho mô phỏng của mình ra file text bên ngoài, rồi nhập vào đây, mà không cần phải viết gì trong phần soạn thảo mã nguồn ở trước đó. Cách làm này hay hơn (và nên dùng), vì soạn thảo file text bên ngoài sẽ dễ dàng hơn là soạn trực tiếp trong Violet. Như trong hình trên ta thấy phần chương trình vẽ đường phân giác sẽ nằm trong file Vephangiac.vs chứ không phải nằm trong phần soạn thảo Script của Violet.
Khung phía dưới cho phép nhập các đối tượng hình ảnh sẽ được sử dụng trong phần mềm. Các đối tượng này có thể lấy từ file SWF hoặc file JPG. Tuy nhiên, chỉ có file SWF (làm bằng Flash) thì mới có thể chỉnh được vị trí nào trên ảnh là vị trí (0, 0). Ví dụ với một ảnh chiếc bút chì, ta căn chỉnh sao cho chỗ đầu bút chì chỉ đúng vào vị trí (0, 0) trong Flash. Khi đó, nếu ta dịch chuyển đối tượng bút chì tới vị trí (x, y) thì đầu bút chì sẽ chỉ đúng vào vị trí (x, y) đó. Còn nếu sử dụng ảnh JPG, thì vị trí góc trên bên trái của ảnh sẽ đúng vào vị trí (x, y) chứ không phải chỗ đầu bút chì.
Sau khi nhập xong chương trình, các file mã nguồn chuẩn và các file ảnh, ta nhấn nút “Đồng ý“. Để sửa đổi mã nguồn hay các thông tin khác, ta click đúp vào bất kỳ đối tượng nào trong hoạt cảnh mô phỏng.
1.4. Cấu trúc ngôn ngữ
Violet Script 1.0, gần giống ngôn ngữ Basic ở các cấu trúc lệnh và ngôn ngữ C ở cấu trúc chương trình.
1.4.1. Chương trình viết bằng VS
Giống như C, chương trình VS bao gồm các hàm, trong đó hàm main sẽ được gọi ngay khi bắt đầu chạy chương trình.
function main
appear Text, 8, 4, “Hello world”
end
Một chương trình con (một hàm, chức năng) sẽ được khai báo như sau:
function
…
end
Trong đó tên chương trình con không có dấu cách (có thể dùng dấu gạch chân “_” thay cho dấu cách). Các tham số thì phải khai báo cách nhau bởi dấu phẩy. Có thể xem thêm các ví dụ minh họa trong các phần sau.
Nếu chương trình con trả về các giá trị cho các tham số thì khi gọi ta nên thêm dấu & vào phía trước tham số (giống cú pháp của ngôn ngữ C). Ví dụ:
input_line &ax, &ay, &bx, &by
get_point &x, &y, x1, y1, angle, 2
1.4.2. Các lệnh đơn giản
Ngôn ngữ VS cung cấp các loại lệnh sau:
· Các lệnh gán, ví dụ a = 2; a = 10*5 + 1; b = a^2 + a + 1
· Các lệnh cơ bản: ví dụ lệnh appear như trong chương trình trên
· Các lệnh gọi chương trình con: có cú pháp giống như lệnh cơ bản
1.4.3. Các biểu thức
Các biểu thức toán học có thể sử dụng trong vế phải của các lệnh gán, hoặc làm tham số của các lệnh khác. Một biểu thức bao gồm các thành phần:
· Các toán hạng: giá trị số, biến số
· Các toán tử: + , – , * , / , ^
· Các hàm số: sin, cos, tg, cotg, arcsin, arccos, arctg, arccotg, abs, sqrt, ln
· Các dấu ngoặc đơn”(” và “)”
Ví dụ tính góc B của tam giác ABC nếu biết độ dài 3 cạnh AB, AC và BC, áp dụng định lý hàm số cos.
lenAB = 2
lenAC = 3
lenBC = 4
angleB = arccos((lenAB^2 + lenBC^2 – lenAC^2)/(2*lenAB*lenBC))
1.4.4. Các lệnh có cấu trúc
Lệnh điều kiện
if <điều kiện> then
<các lệnh>
end_if
Lệnh lặp
for <tên biến> from <cận dưới> to <cận trên> step <bước nhảy>
<các lệnh>
next
1.4.5. Các nhãn
Có thể coi nhãn là các lệnh đặc biệt, được ký hiệu bởi dấu “:” và tên nhãn. Nhãn dùng vừa để đánh dấu, vừa để mô tả các đoạn lệnh. Nhãn thường được dùng như một định danh để có thể truy cập (goto) đến đoạn lệnh từ bất kỳ vị trí nào trong chương trình.
Ví dụ:
function main
goto ERASE
:START
appear Text, 8, 4, “Hello world”
wait_click
:ERASE
erase Paper
wait_click
goto START
end
2. VS trong mô phỏng Hình học
2.1. Khả năng của ngôn ngữ
Hiện tại, chúng tôi đã cung cấp sẵn một file mã nguồn chuẩn chứa các thao tác dựng hình cơ bản như vẽ đường thẳng bằng thước kẻ, vẽ đường tròn bằng compa, cắt ghép đa giác v.v… là “C:\Program Files\Platin Violet\Lecture\vpScript\Common\Mathtool.vs”
Vì vậy, trong môn Hình học, ngôn ngữ Violet Script sẽ hỗ trợ nhiều trong các loại công việc sau:
· Vẽ hình trên màn hình đồ họa (đoạn thẳng, đường tròn, đồ thị,…)
· Sử dụng các đối tượng có sẵn trong thư viện (ví dụ với môn hình học có: compa, thước kẻ, bút, tẩy, ê-ke, thước đo độ, giấy màu, dao cắt…), và mô phỏng hoạt động của từng đối tượng này.
· Xử lý các tương tác với người dùng (nhấn chuột, kéo thả, nhập từ bàn phím,…)
2.2. Các ứng dụng
Hiện tại chúng tôi đã cung cấp sẵn thư viện hình ảnh và các đoạn chương trình cơ bản dùng cho môn Hình học, với phạm vi ứng dụng là cấp THCS. Phần này sẽ chủ yếu tập trung vào Hình học Ơclit, bao gồm các loại bài toán như sau:
· Bài toán vẽ hình và xử lý tương tác với người dùng
· Bài toán dựng hình bằng các dụng cụ dựng hình thông dụng
· Bài toán cắt ghép hình (mô phỏng việc cắt ghép các mảnh giấy màu)
· Bài toán quỹ tích và vẽ đồ thị hàm số
2.3. Ví dụ
Ví dụ mô tả một bài toán dựng hình: vẽ trung trực của một đoạn thẳng được người dùng nhập vào khi chạy chương trình. Kịch bản của đoạn mô phỏng này như sau:
· Người dùng nhấn chuột để xác định điểm thứ nhất, nhấn tiếp chuột để xác định điểm thứ hai
· Đánh dấu và ký hiệu hai điểm A, B vừa nhập
· Mô phỏng việc dùng thước kẻ và bút chì để vẽ một đoạn thẳng giữa hai điểm AB
· Xuất hiện một compa và đưa compa vào vị trí của điểm A
· Mở rộng compa (khoảng cách 2 đầu compa bằng khoảng 2/3 AB)
· Quay compa một nửa vòng tròn (cung hướng vào điểm B). Trong khi quay compa thì cung tròn cũng sẽ được vẽ theo, nét vẽ phải mảnh và nhạt để thể hiện đây chỉ là vẽ nháp.
· Đưa compa đến điểm B
· Quay compa một nửa vòng tròn (cung hướng vào điểm A)
· Dùng thước kẻ và bút chì để vẽ một đoạn thẳng đi qua 2 giao điểm của 2 cung tròn, độ dài của đoạn thẳng này là một giá trị hợp lý. Đó chính là đường trung trực của đoạn thẳng AB.
· Đánh dấu điểm M là giao điểm của đường trung trực với đoạn thẳng AB
· Ký hiệu góc M vuông
· Ký hiệu M là trung điểm của AB
· Xóa các nét cung tròn đã vẽ
Ta sẽ mã hóa kịch bản mô phỏng trên thành ngôn ngữ VS như sau:
function main
appear Text, 8.25, 0.5, “Hãy vẽ một đoạn thẳng”, 2
input_line &ax, &ay, &bx, &by
disappear Text
appear Point, ax, ay, “A”, below
appear Point, bx, by, “B”, below
create_line ax, ay, bx, by
radius = sqrt((ax-bx)^2 + (ay-by)^2) / 3 * 2
get_angle &angle, ax, ay, bx, by
set_paper Draft
appear Compa
move Compa, ax, ay, angle-90
call Compa.OpenCompa, radius
rotate_compa Compa, radius, angle+90
move Compa, bx, by, angle+90
rotate_compa Compa, radius, angle+270
disappear Compa
mx = (ax + bx) / 2
my = (ay + by) / 2
angle = angle + 90
get_point &cx, &cy, mx, my, angle, 4
set_paper Paper
create_line cx, cy, 2 * mx – cx, 2 * my – cy
appear Point, mx, my, “M”, leftbelow
note_angle 0, “”, bx, by, mx, my, cx, cy
note_edge 0, “”, ax, ay, mx, my
note_edge 0, “”, mx, my, bx, by
end
Lưu ý: Một đơn vị tính trong Violet Script được quy định mặc định là 40 pixel, độ rộng của màn hình hiển thị là 660×460 pixel, tức là khoảng 16.5×11.5 đơn vị.
Chương trình này sử dụng các thao tác dựng hình chuẩn (trong file Mathtool.vs) và các đối tượng hình ảnh: thước kẻ, bút chì, compa. Vì vậy, sau khi soạn xong chương trình, ta phải khai báo các dữ liệu này như sau:
Nhấn nút “Đồng ý”, ta sẽ được đoạn mô phỏng dựng đường trung trực của một đoạn thẳng bất kỳ được nhập vào từ con chuột (nhấn, kéo và thả).
Mô phỏng vẽ đường trung trực bằng compa, thước kẻ, bút chì
Có thể thấy việc viết một chương trình mô phỏng như trên chỉ đơn giản là mã hóa 1:1 kịch bản mô phỏng thành ngôn ngữ VS.
Rõ ràng việc tạo bài giảng Hình học bằng ngôn ngữ VS sẽ đơn giản hơn nhiều so với các ngôn ngữ lập trình khác. Ví dụ nếu sử dụng C/C++ thì để tạo một bài giảng, có thể phải viết chương trình dài đến hàng nghìn dòng lệnh và hàng chục file dữ liệu, còn nếu dùng ngôn ngữ VS thì chỉ cần vài chục dòng lệnh và không cần file dữ liệu.
3. Các lệnh trong VS
3.1. Các lệnh xử lý đối tượng
Trong thư viện của trình thông dịch VS môn Hình học có các loại đối tượng hình ảnh như sau:
Để sử dụng các loại đối tượng của VS cũng như các đối tượng được nạp từ thư viện bên ngoài, ngôn ngữ VS cung cấp các lệnh sau:
Ví dụ dưới đây sẽ mô phỏng việc vẽ một điểm bằng bút chì
function main
appear Pencil // Xuất hiện thước kẻ ở vị trí (0,0)
move Pencil, 5, 5 // Đưa bút chì ở vị trí (5, 5)
appear Point, 5, 5, A // Xuất hiện điểm A ở vị trí (5, 5)
delay 12 // Tạm dừng 1 giây
disappear Pencil // Làm biến mất bút chì
end
Mô phỏng vẽ một điểm bằng bút chì
3.2. Các lệnh xử lý đa giác
Phần ví dụ dưới đây là một chương trình hoàn chỉnh, thực hiện việc cắt và ghép các góc của một tam giác để chứng minh tổng của chúng bằng 180°. Khi chạy, người dùng sẽ xác định các đường cắt qua góc thứ nhất và đường cắt qua góc thứ hai, sau mỗi lần cắt thì các mẩu cắt sẽ được ghép vào đúng vị trí cần thiết.
function main
polygon Tamgiac, 8, 6, 0x7F7FFF, -1, -3, 3, 1, -3, 1
input_line &px1, &py1, &px2, &py2
cut_polygon px1, py1, px2, py2
move Tamgiac2, 4, 4, -180
input_line &px1, &py1, &px2, &py2
cut_polygon px1, py1, px2, py2
move Tamgiac12, 10, 4, 180
end
Mô phỏng cắt một góc của hình tam giác bằng dao cắt
3.3. Các lệnh đồ họa
Ví dụ vẽ tam giác qua 3 điểm (x1, y1), (x2, y2), (x3, y3) với đầy đủ ký hiệu cạnh góc
function ShowTriangle x1, y1, x2, y2, x3, y3
poly_line x1, y1, x2, y2, x3, y3, x1, y1
set_paper Paper, 2, 0x003FBF
note_edge 2, “value”, x2, y2, x1, y1
note_edge 1, “value”, x3, y3, x2, y2
note_edge 0, “value”, x1, y1, x3, y3
note_angle 0, “value”, x2, y2, x1, y1, x3, y3
note_angle 2, “value”, x3, y3, x2, y2, x1, y1
note_angle 1, “value”, x1, y1, x3, y3, x2, y2
end
function main
ShowTriangle 2, 7, 7, 7, 3.5, 4
end
3.4. Các lệnh phục vụ tính toán trong hình học phẳng
3.5. Các lệnh chờ đợi
3.6. Các lệnh phục vụ xử lý tương tác
3.7. Các lệnh điều khiển hệ thống
3.8. Các lệnh trong thư viện Hình học
1) create_line x1, y1, x2, y2
Mô phỏng vẽ một đoạn thẳng bằng thước kẻ và bút chì từ điểm (x1, y1) đến điểm (x2, y2)
2) create_corner x1, y1, angle, len
Mô phỏng vẽ một góc bằng thước đo độ, thước kẻ, bút chì. Đầu tiên đưa thước đo độ đến vị trí của một đường nằm ngang, tâm thước là (x1, y1), lấy một điểm ở góc angle, rồi kẻ từ tâm đi qua điểm đó một đoạn có độ dài là len.
3) rotate_compa Compa, radius, angle
Quay đối tượng Compa một góc angle từ vị trí hiện tại, còn radius là độ mở của Compa (phải giống như ở lệnh call Compa.Open,… trước đó)
4) create_arc x1, y1, radius, start, end
Mô phỏng vẽ một cung tròn tâm (x1, y1), bán kính radius (được xác định bằng compa và thước kẻ), từ góc start đến góc end.
5) cut_polygon x1, y1, x2, y2
Mô phỏng cắt bằng dao cắt đối với tất cả các hình đa giác được tạo bằng lệnh polygon
4. Các bài toán mẫu
4.1. Giới thiệu
Các bài toán mẫu dưới đây là các ví dụ hoàn chỉnh viết bằng ngôn ngữ VS, giúp cho người đọc hiểu được ý tưởng cơ bản của việc lập trình, đồng thời cho thấy các quy tắc chung để tạo lập một chương trình VS. Người dùng hoàn toàn có thể sử dụng và phát triển các bài tập mẫu này theo những ý tưởng riêng của mình.
Các bài tập mẫu được trình bày ngắn gọn và dễ hiểu, với mục đích cho thấy khả năng tạo các bài giảng sinh động bằng VS là rất dễ dàng. Tất nhiên, những khả năng thực sự mà VS làm được còn lớn hơn nhiều so với những những gì thể hiện trong các ví dụ ở đây, mà thậm chí ngay cả tác giả của ngôn ngữ lập trình cũng chưa thể khám phá ra hết được.
4.2. Vẽ đồ thị hàm số
Trong chương trình học cấp 2 và cả cấp 3 đều có các bài tập vẽ đồ thị hàm số. Để giải quyết một bài tập này sẽ không hề đơn giản (phải tính đạo hàm, vi phân, khảo sát sự biến thiên hàm số,…), vậy mà cũng chỉ quanh quẩn ở một số dạng hàm số cơ bản. Tuy nhiên, với một ngôn ngữ lập trình bình thường, ta có thể vẽ được đồ thị bất kỳ mà không cần phải tính toán đạo hàm, vi phân,… Với VS, việc vẽ đồ thị còn dễ dàng hơn nhiều.
Ví dụ dưới đây sẽ vẽ đồ thị hàm số y = (x-2)*(x-1)*x*(x+1)*(x+2), nghĩa là một đồ thị cắt trục hoành tại các điểm -2, -1, 0, 1 và 2.
function main
line 0, y0 = 6, 16, y0
line x0 = 8, 0, x0, 12
set_paper Paper, 3, 0xFF00FF
appear Pencil
attach_pen Pencil
for x from -2.2 to 2.4 step 0.05
y = (x-2)*(x-1)*x*(x+1)*(x+2)
set_pos Pencil, x0 + x, y0 – y
delay 1
next
end
4.3. Bài toán quỹ tích
Bài toán 1: Cho một điểm A cố định nằm trong đường tròn tâm O, kẻ đường thẳng qua A cắt đường tròn tại P. Tìm quỹ tích trung điểm M của OP khi P chuyển động trên đường tròn.
function main
set_paper Paper, 2, 0xBF00BF
appear Point, ox=8, oy=6, “O”, right
appear Point, ax=8, ay=8, “A”, left
circle ox, oy, 4
appear Point, 0, 0, “M”
attach_pen PointM
for angle from 135 to 135-360 step -2
get_point &px, &py, ox, oy, angle, 4
appear Point, px, py, “P”
set_pos PointM, (px+ax)/2, (py+ay)/2
set_paper Draft, 2, 0x0000BF
erase
line ax, ay, px, py
note_edge 2, “”, M, P
note_edge 2, “”, M, A
delay 1
next
end
Bài 2: Đường Cycloide
Đường quỹ tích được sinh ra khi một vòng tròn chạy xung quanh một vòng tròn khác. Trong phần chương trình dưới đây 3 biến số R1, R2 và L có thể được sửa đổi tùy ý sẽ tạo ra vô vàn những loại đường cycloide khác nhau.
function main
R1 = 2.0
R2 = 0.8
L = 2.0
set_paper Draft, 2, 0
circle x0=8.25, y0=5.75, R1
set_paper Wheel, 2, 0x0000FF
set_fill 0x7FBFFF, 50
circle 0, 0, R2
line 0, -R2, 0, R2
line -R2, 0, L*R2, 0
circle L*R2, 0, 0.1
set_paper Paper, 3, 0xFF0000
attach_pen Wheel, L*R2, 0
for t from 0 to 720 step 2
get_point &x, &y, x0, y0, t, R1+R2
set_pos Wheel, x, y, t*(R1+R2)/R2
delay 1
next
disappear Wheel
disappear Draft
end
Mô phỏng cách vẽ đường Cycloide
Một trong những dạng đường Cycloide
4.4. Tam giác Napoleon
Từ 3 cạnh của 1 tam giác bất kỳ vẽ ra phía ngoài 3 tam giác đều. Tâm của 3 tam giác đều này sẽ là đỉnh của một tam giác đều gọi là tam giác Napoleon.
Phần chương trình dưới đây sẽ vẽ tam giác Napoleon. Người dùng có thể kéo thả các đỉnh của tam giác ban đầu để thấy tam giác Napoleon biến đổi như thế nào.
function vẽ_hình
set_paper Draft, 3, 0x0000FF
erase
get_pos &x3, &y3, PointA
get_pos &x1, &y1, PointB
get_pos &x2, &y2, PointC
poly_line x1, y1, x2, y2, x3, y3, x1, y1
set_paper Draft, 2
set_fill 0x7FBFFF, 50
get_angle &angle, x1, y1, x3, y3
get_point &x, &y, x1, y1, angle+60, sqrt((x3-x1)^2+(y3-y1)^2)
poly_line x3, y3, x, y, x1, y1
cx1 = (x3 + x + x1) / 3
cy1 = (y3 + y + y1) / 3
get_angle &angle, x3, y3, x2, y2
get_point &x, &y, x3, y3, angle+60, sqrt((x3-x2)^2+(y3-y2)^2)
poly_line x3, y3, x, y, x2, y2
cx2 = (x3 + x + x2) / 3
cy2 = (y3 + y + y2) / 3
get_angle &angle, x2, y2, x1, y1
get_point &x, &y, x2, y2, angle+60, sqrt((x2-x1)^2+(y2-y1)^2)
poly_line x2, y2, x, y, x1, y1
cx3 = (x1 + x + x2) / 3
cy3 = (y1 + y + y2) / 3
end_fill
set_paper Draft, 3, 0xFF0000
set_fill 0xFF3F3F, 75
poly_line cx1, cy1, cx2, cy2, cx3, cy3, cx1, cy1
end
function main
appear Point, ax=7, ay=3, “A”, above
appear Point, bx=5, by=6, “B”, leftbelow
appear Point, cx=11,cy=6, “C”, rightbelow
set_drag PointA, true, vẽ_hình
set_drag PointB, true, vẽ_hình
set_drag PointC, true, vẽ_hình
vẽ_hình
end
Tam giác Napoleon
4.5. Dựng tam giác biết 3 cạnh
Đây là một bài rất cơ bản trong dựng hình: Dựng một tam giác biết độ dài 3 cạnh mà chỉ dùng thước kẻ và compa.
function main
input_data “Nhập 3 cạnh”, “AB”, lenAB, “AC”, lenAC, “BC”, lenBC
angleB = arccos((lenAB^2 + lenBC^2 – lenAC^2)/(2*lenAB*lenBC))
get_point &ax, &ay, 4, 7, angleB, lenAB
DrawTriangle 4, 7, 4+lenBC, 7, ax, ay, B, C, A
end
function DrawTriangle x1, y1, x2, y2, x3, y3, a1, a2, a3
create_line2 x1, y1, x2, y2
appear Point, x1, y1, a1, below
appear Point, x2, y2, a2, below
note_edge -1, value, x2, y2, x1, y1
delay 12
set_paper Draft
create_arc x1, y1, lenAB, 0, 90
create_arc x2, y2, lenAC, 90, 180
appear Point, x3, y3, a3, above
delay 12
set_paper Paper
create_line x1, y1, x3, y3
note_edge -1, value, x1, y1, x3, y3
create_line x3, y3, x2, y2
note_edge -1, value, x3, y3, x2, y2
delay 12
erase Draft
end
Đoạn mô phỏng này có sử dụng thư viện các thao tác dựng hình chuẩn (chính là file Mathtool.vs) được cung cấp kèm theo Violet, và các đối tượng hình ảnh như sau:
Các thư viện mã nguồn và hình ảnh sử dụng trong bài toán dựng hình
4.6. Mô phỏng con lắc lò xo
Để mô phỏng một con lắc lò xo co giãn, có thể sử dụng một ảnh lò xo, sau đó co giãn ảnh. Tuy nhiên kỹ thuật này sẽ làm cho độ dày của dây lò xo thay đổi nên không đúng thực tế. Để tạo một chiếc lò xo co giãn đẹp, ta phải lập trình và tạo ra một đối tượng riêng cho VS.
Trong Macromedia Flash, tạo một file mới, click chuột vào frame duy nhất trên timeline, sau đó mở hộp soạn thảo Action Script (nhấn F9), gõ đoạn mã sau vào:
function DrawSpring(len) {
clear();
lineStyle(3, 0, 100);
for (var i = 0; i<20; i++) {
lineTo((i%2*2-1)*15, (i+0.5)*len/20);
}
lineTo(0, len);
}
Dịch file này thành file swf, trong file thông tin của chương trình dịch VS, khai báo tên đối tượng là Lò_xo và chỉ đường dẫn đến file swf. Sau đó viết chương trình VS như sau:
function main
set_paper Giado, 8, 0x7F7F7F
poly_line 5, 10, 6, 10, 6, 1, 10, 1, 10, 10, 11, 10
appear Spring, 8, 1
set_paper Sphere
sphere 0, 0.6, 0.6, 0x0000FF, 0xBFBFFF
for t from 0 to 100000
len = 6 + sin(t*15)
set_pos Sphere, 8, len + 1
call Spring.DrawSpring, len
delay 1
next
end
Kết quả chạy chương trình trên như sau. Con lắc lò xo sẽ dao động điều hòa với lò xo co giãn mà độ dày của sợi dây lò xo không thay đổi.
Mô phỏng con lắc lò xo đạng dao động điều hòa
Trả lời

markdown:
## NGÔN NGỮ LẬP TRÌNH VIOLET SCRIPT
Posted by
[xpss](https://bibixps.wordpress.com) trên 13/03/2009 [1.2. Các đặc điểm chính của ngôn ngữ](#_Toc138437567) [1.2.2. Lựa chọn chế độ chạy song song hoặc tuần tự](#_Toc138437569) [1.2.3. Khả năng sử dụng các thư viện mở](#_Toc138437570) [1.2.4. So sánh ngôn ngữ VS với Timeline](#_Toc138437571) [1.3. Sử dụng Violet Script trong Violet](#_Toc138437572) [1.4.1. Chương trình viết bằng VS](#_Toc138437574) [2. Ngôn ngữ Violet Script trong tạo bài giảng](#_Toc138437579) [3.4. Các lệnh phục vụ tính toán trong hình học phẳng](#_Toc138437587) [3.6. Các lệnh phục vụ xử lý tương tác](#_Toc138437589) [3.7. Các lệnh điều khiển hệ thống](#_Toc138437590) [4.5. Dựng tam giác biết 3 cạnh](#_Toc138437596)
[1. Tổng quan]
[1.1. Giới thiệu sơ lược]
Violet Script (VS) là ngôn ngữ lập trình chuyên dụng về đồ họa, đặc biệt trong việc tạo ra các hoạt động mô phỏng. Ngôn ngữ này có thể được sử dụng rất hiệu quả để xây dựng các phần mềm multimedia hỗ trợ dạy học. Với cấu trúc đơn giản nhưng đầy đủ và chặt chẽ, VS sẽ giúp người dùng có thể dễ dàng mô tả các ý tưởng của mình, hoặc có thể sửa đổi một sản phẩm có sẵn cho phù hợp kịch bản của mình.
Khác với một phần mềm công cụ, việc sử dụng ngôn ngữ lập trình có tính mở cao hơn, nó cho phép người dùng không phải chỉ là sử dụng các mẫu mô phỏng có sẵn mà còn có thể tự tạo ra các mẫu mới, hoặc sửa đổi được những mẫu đã có một cách tùy ý (sửa các tham số, nội dung và trình tự thể hiện, v.v…). Như vậy, khả năng đáp ứng yêu cầu người dùng của một ngôn ngữ lập trình là cao hơn rất nhiều so với một phần mềm công cụ.
VS được xây dựng dựa trên ngôn ngữ Action Script 2.0 của Macromedia Flash, chính vì vậy, VS rất mạnh trong việc thực hiện các mô phỏng có chuyển động và tương tác, có xử lý âm thanh và hình ảnh. Tất nhiên, việc lập trình bằng VS thì đơn giản hơn nhiều so với lập trình bằng Action Script.
Các file mã nguồn của VS đều có thể sử dụng được mã văn bản Unicode hoặc Unicode UTF-8. Chính vì vậy, không chỉ có các dữ liệu, lời giải thích mà kể cả tên các đối tượng (tên biến, tên nhãn, tên lệnh, tên hàm…) đều có thể dùng được bằng tiếng Việt có dấu, giúp người dùng Việt Nam dễ tiếp cận hơn nhiều so với một ngôn ngữ bằng tiếng Anh.
[1.2. Các đặc điểm chính của ngôn ngữ]
[1.2.1. Ngôn ngữ mô phỏng]
Ngôn ngữ lập trình VS hỗ trợ rất nhiều về các kỹ thuật mô phỏng. Các thao tác về đồ họa và mô phỏng hầu hết đã được lập trình sẵn, lại thêm khả năng mở nạp thư viện động, khả năng sử dụng các dữ liệu âm thanh, hình ảnh một cách dễ dàng, VS sẽ giúp người cho người dùng có thể viết được những phần mềm đồ họa cao cấp mà không cần những kiến thức chuyên sâu về đồ họa.
Có thể coi việc lập trình mô phỏng bằng ngôn ngữ VS chỉ đơn giản là việc mô tả lại kịch bản của quá trình mô phỏng. Sau đó, trình thông dịch của VS sẽ thực hiện các công việc đồ họa và mô phỏng theo như kịch bản này. Do vậy, người dùng hoàn toàn có thể tạo được một quá trình mô phỏng phức tạp chỉ bằng một đoạn chương trình VS rất ngắn gọn (so với các ngôn ngữ lập trình khác).
[1.2.2. Lựa chọn chế độ chạy song song hoặc tuần tự]
Các ngôn ngữ thông dịch thường phải chạy dưới dạng tuần tự (chạy hết lệnh này rồi mới đến lệnh khác). Tuy vậy, trong mô phỏng, đôi khi ta cần tạo nhiều thao tác mô phỏng đồng thời (ví dụ như hai hay nhiều vật cùng chuyển động một lúc). Vì vậy, VS có thể cho phép người lập trình thiết lập được chế độ xử lý lệnh là song song hay tuần tự.
Đây cũng là một đặc điểm độc đáo và tiện dụng của ngôn ngữ VS so với các ngôn ngữ lập trình khác.
[1.2.3. Khả năng sử dụng các thư viện mở]
Tuy VS là ngôn ngữ chuyên dụng trong lĩnh vực đồ họa và mô phỏng, song đồ họa là một lĩnh vực rất rộng nên VS chỉ có tính tổng quát. Nó không thể bao hàm được hết tất cả các thao tác mô phỏng, chương trình thông dịch VS cũng không thể chứa tất cả các dữ liệu, thư viện hình ảnh thông dụng cho mọi sản phẩm. Tuy nhiên, đối với người lập trình không chuyên, vấn đề đặt ra là phải làm sao cho mọi thứ hầu như đã có sẵn hết.
Vì vậy, ngôn ngữ VS có một hệ thống thư viện đầy đủ kèm theo và cập nhật thường xuyên. Các thư viện này chứa nhiều hình ảnh, mô hình, biểu tượng thông dụng và có thể lấy ra sử dụng một cách dễ dàng, các thao tác chuyển động được lập trình sẵn, các mẫu chương trình chuẩn cũng có thể sử dụng với khả năng tùy biến cao.
Ví dụ: trong việc tạo bài giảng, nếu phân loại theo các môn học thì ngôn ngữ VS (cụ thể là trình thông dịch của ngôn ngữ VS) sẽ phục vụ cho tất cả các môn. Tuy nhiên, thư viện sử dụng cho từng môn sẽ khác nhau, nghĩa là ta sẽ có thư viện cho môn Toán, thư viện cho môn Vật Lý, v.v… Như vậy, khả năng cải tiến chương trình và cập nhật tư liệu của VS sẽ trở nên dễ dàng.
Thư viện động là một trong những ưu điểm hơn hẳn của VS so với hầu hết các phần mềm công cụ tạo bài giảng hiện nay.
1.2.4. So sánh ngôn ngữ VS với Timeline
Những người đã từng dùng hoặc xem các chương trình như Macromedia Flash, Macromedia Diector, Adobe Premier,… hẳn không thể không biết đến khái niệm Timeline (trục thời gian). Đây là một công cụ thiết kế rất quan trọng trong việc tạo ra các chuyển động, các hiệu ứng của hình ảnh và âm thanh, làm phim hoạt hình, xây dựng cấu trúc của một sản phẩm,… Timeline là một công cụ rất hữu ích, đặc biệt đối với người không biết lập trình cũng có thể dùng nó để xây dựng phần mềm multimedia ứng dụng được.
Tuy nhiên điểm nhược cơ bản của Timeline là không có tính mở. Ví dụ: dùng Timeline có thể dễ dàng tạo một chuyển động trong vòng 3 giây, nhưng không thể dùng Timeline để tạo chuyển động trong vòng n giây, với n là một giá trị được nhập từ bàn phím hoặc từ file bên ngoài.
Trong khi đó, việc xây dựng các phần mềm trợ giảng lại đòi hỏi công cụ phải có tính mở. Vì bài giảng của mỗi giáo viên là không giống nhau, nên phần mềm trợ giảng phải cho phép giáo viên tự sửa theo ý mình được. Trong trường hợp này, người sản xuất phần mềm không còn cách nào khác là phải lựa chọn một ngôn ngữ lập trình.
Mặt khác, đối với những người biết lập trình rồi thì dùng ngôn ngữ cũng dễ chịu hơn so với dùng Timeline. Ví dụ: có thể sửa đổi số liệu một cách dễ dàng và chính xác, có thể comment (viết lời giải thích) cho các đoạn chương trình, có thể phân chia chương trình lớn thành các module nhỏ… Việc thao tác với các dòng code cũng dễ dàng hơn so với các đối tượng đồ họa và Timeline. Code có thể dùng bất cứ chương trình soạn thảo văn nào để tạo lập và sửa đổi chứ không cần phải một hệ thống đồ sộ như khi dùng Timeline.
Tuy vậy, dùng Timeline cũng có một ưu điểm hơn so với ngôn ngữ là tính ổn định, ít bị lỗi. Còn việc lập trình nếu không cẩn thận thì sẽ có thể sinh ra rất nhiều lỗi. Do đó, trong quá trình phát triển thì ngôn ngữ thì cũng phải dần dần khắc phục yếu điểm này.
[1.3. Sử dụng Violet Script trong Violet]
Violet Script khởi nguồn là một ngôn ngữ chạy độc lập, có thể dùng để tự xây dựng được các bài giảng hoàn chỉnh. Khi được kết hợp với công cụ Violet, ngôn ngữ này thường chỉ dùng để tạo một đoạn mô phỏng ngắn trên một trang màn hình, vì vậy nên sẽ đơn giản hơn và dễ quản lý hơn. Đối với người dùng thì vừa có được sự linh hoạt của ngôn ngữ, lại vừa sử dụng được các tính năng dễ dùng của Violet như tạo hiệu ứng, tạo các bài tập,…
Để sử dụng VS trong Violet, vào mục soạn thảo trang màn hình, nhấn nút “
*Công cụ*”, một menu hiện lên, ta chọn mục “ *Lập trình mô phỏng*”. Màn hình sau hiện ra và ta có thể soạn thảo trực tiếp chương trình vào đây. *Màn hình soạn thảo Script *
Nếu chương trình có sử dụng các đối tượng ảnh, hoặc các thư viện mã nguồn từ file text, thì sau khi viết xong, click vào nút “Tiếp tục”, màn hình sau hiện ra:
*Màn hình nhập các mã nguồn bên ngoài và các đối tượng *
Trong đó:
Khung phía trên cho phép nhập các file mã nguồn VS từ file text bên ngoài. Thông thường, Violet sẽ cung cấp sẵn một số file thư viện các thao tác chuẩn để có thể sử dụng được luôn.
Ta cũng có thể viết mã nguồn VS cho mô phỏng của mình ra file text bên ngoài, rồi nhập vào đây, mà không cần phải viết gì trong phần soạn thảo mã nguồn ở trước đó. Cách làm này hay hơn (và nên dùng), vì soạn thảo file text bên ngoài sẽ dễ dàng hơn là soạn trực tiếp trong Violet. Như trong hình trên ta thấy phần chương trình vẽ đường phân giác sẽ nằm trong file Vephangiac.vs chứ không phải nằm trong phần soạn thảo Script của Violet.
Khung phía dưới cho phép nhập các đối tượng hình ảnh sẽ được sử dụng trong phần mềm. Các đối tượng này có thể lấy từ file SWF hoặc file JPG. Tuy nhiên, chỉ có file SWF (làm bằng Flash) thì mới có thể chỉnh được vị trí nào trên ảnh là vị trí (0, 0). Ví dụ với một ảnh chiếc bút chì, ta căn chỉnh sao cho chỗ đầu bút chì chỉ đúng vào vị trí (0, 0) trong Flash. Khi đó, nếu ta dịch chuyển đối tượng bút chì tới vị trí (x, y) thì đầu bút chì sẽ chỉ đúng vào vị trí (x, y) đó. Còn nếu sử dụng ảnh JPG, thì vị trí góc trên bên trái của ảnh sẽ đúng vào vị trí (x, y) chứ không phải chỗ đầu bút chì.
Sau khi nhập xong chương trình, các file mã nguồn chuẩn và các file ảnh, ta nhấn nút “
*Đồng ý*“. Để sửa đổi mã nguồn hay các thông tin khác, ta click đúp vào bất kỳ đối tượng nào trong hoạt cảnh mô phỏng.
[1.4. Cấu trúc ngôn ngữ]
Violet Script 1.0, gần giống ngôn ngữ Basic ở các cấu trúc lệnh và ngôn ngữ C ở cấu trúc chương trình.
[1.4.1. Chương trình viết bằng VS]
Giống như C, chương trình VS bao gồm các hàm, trong đó hàm main sẽ được gọi ngay khi bắt đầu chạy chương trình.
function main
appear Text, 8, 4, “Hello world”
end
Một chương trình con (một hàm, chức năng) sẽ được khai báo như sau:
function
…
end
Trong đó tên chương trình con không có dấu cách (có thể dùng dấu gạch chân “_” thay cho dấu cách). Các tham số thì phải khai báo cách nhau bởi dấu phẩy. Có thể xem thêm các ví dụ minh họa trong các phần sau.
Nếu chương trình con trả về các giá trị cho các tham số thì khi gọi ta nên thêm dấu & vào phía trước tham số (giống cú pháp của ngôn ngữ C). Ví dụ:
input_line &ax, &ay, &bx, &by
get_point &x, &y, x1, y1, angle, 2
[1.4.2. Các lệnh đơn giản]
Ngôn ngữ VS cung cấp các loại lệnh sau:
· Các lệnh gán, ví dụ a = 2; a = 10*5 + 1; b = a^2 + a + 1
· Các lệnh cơ bản: ví dụ lệnh appear như trong chương trình trên
· Các lệnh gọi chương trình con: có cú pháp giống như lệnh cơ bản
[1.4.3. Các biểu thức]
Các biểu thức toán học có thể sử dụng trong vế phải của các lệnh gán, hoặc làm tham số của các lệnh khác. Một biểu thức bao gồm các thành phần:
· Các toán hạng: giá trị số, biến số
· Các toán tử: + , – , * , / , ^
· Các hàm số: sin, cos, tg, cotg, arcsin, arccos, arctg, arccotg, abs, sqrt, ln
· Các dấu ngoặc đơn”(” và “)”
Ví dụ tính góc B của tam giác ABC nếu biết độ dài 3 cạnh AB, AC và BC, áp dụng định lý hàm số cos.
lenAB = 2
lenAC = 3
lenBC = 4
angleB = arccos((lenAB^2 + lenBC^2 – lenAC^2)/(2*lenAB*lenBC))
[1.4.4. Các lệnh có cấu trúc]
Lệnh điều kiện
if <
*điều kiện*> then
<
*các lệnh*>
end_if
Lệnh lặp
for <
*tên biến*> from < *cận dưới*> to < *cận trên*> step < *bước nhảy*>
<
*các lệnh*>
next
[1.4.5. Các nhãn]
Có thể coi nhãn là các lệnh đặc biệt, được ký hiệu bởi dấu “:” và tên nhãn. Nhãn dùng vừa để đánh dấu, vừa để mô tả các đoạn lệnh. Nhãn thường được dùng như một định danh để có thể truy cập (goto) đến đoạn lệnh từ bất kỳ vị trí nào trong chương trình.
Ví dụ:
function main
goto ERASE
:START
appear Text, 8, 4, “Hello world”
wait_click
:ERASE
erase Paper
wait_click
goto START
end
[2. VS trong ]mô phỏng Hình học
[2.1. Khả năng của ngôn ngữ]
Hiện tại, chúng tôi đã cung cấp sẵn một file mã nguồn chuẩn chứa các thao tác dựng hình cơ bản như vẽ đường thẳng bằng thước kẻ, vẽ đường tròn bằng compa, cắt ghép đa giác v.v… là “C:\Program Files\Platin Violet\Lecture\vpScript\Common\Mathtool.vs”
Vì vậy, trong môn Hình học, ngôn ngữ Violet Script sẽ hỗ trợ nhiều trong các loại công việc sau:
· Vẽ hình trên màn hình đồ họa (đoạn thẳng, đường tròn, đồ thị,…)
· Sử dụng các đối tượng có sẵn trong thư viện (ví dụ với môn hình học có: compa, thước kẻ, bút, tẩy, ê-ke, thước đo độ, giấy màu, dao cắt…), và mô phỏng hoạt động của từng đối tượng này.
· Xử lý các tương tác với người dùng (nhấn chuột, kéo thả, nhập từ bàn phím,…)
[2.2. Các ứng dụng]
Hiện tại chúng tôi đã cung cấp sẵn thư viện hình ảnh và các đoạn chương trình cơ bản dùng cho môn Hình học, với phạm vi ứng dụng là cấp THCS. Phần này sẽ chủ yếu tập trung vào Hình học Ơclit, bao gồm các loại bài toán như sau:
· Bài toán vẽ hình và xử lý tương tác với người dùng
· Bài toán dựng hình bằng các dụng cụ dựng hình thông dụng
· Bài toán cắt ghép hình (mô phỏng việc cắt ghép các mảnh giấy màu)
· Bài toán quỹ tích và vẽ đồ thị hàm số
[2.3. Ví dụ]
Ví dụ mô tả một bài toán dựng hình: vẽ trung trực của một đoạn thẳng được người dùng nhập vào khi chạy chương trình. Kịch bản của đoạn mô phỏng này như sau:
· Người dùng nhấn chuột để xác định điểm thứ nhất, nhấn tiếp chuột để xác định điểm thứ hai
· Đánh dấu và ký hiệu hai điểm A, B vừa nhập
· Mô phỏng việc dùng thước kẻ và bút chì để vẽ một đoạn thẳng giữa hai điểm AB
· Xuất hiện một compa và đưa compa vào vị trí của điểm A
· Mở rộng compa (khoảng cách 2 đầu compa bằng khoảng 2/3 AB)
· Quay compa một nửa vòng tròn (cung hướng vào điểm B). Trong khi quay compa thì cung tròn cũng sẽ được vẽ theo, nét vẽ phải mảnh và nhạt để thể hiện đây chỉ là vẽ nháp.
· Đưa compa đến điểm B
· Quay compa một nửa vòng tròn (cung hướng vào điểm A)
· Dùng thước kẻ và bút chì để vẽ một đoạn thẳng đi qua 2 giao điểm của 2 cung tròn, độ dài của đoạn thẳng này là một giá trị hợp lý. Đó chính là đường trung trực của đoạn thẳng AB.
· Đánh dấu điểm M là giao điểm của đường trung trực với đoạn thẳng AB
· Ký hiệu góc M vuông
· Ký hiệu M là trung điểm của AB
· Xóa các nét cung tròn đã vẽ
Ta sẽ mã hóa kịch bản mô phỏng trên thành ngôn ngữ VS như sau:
function main
appear Text, 8.25, 0.5, “Hãy vẽ một đoạn thẳng”, 2
input_line &ax, &ay, &bx, &by
disappear Text
appear Point, ax, ay, “A”, below
appear Point, bx, by, “B”, below
create_line ax, ay, bx, by
radius = sqrt((ax-bx)^2 + (ay-by)^2) / 3 * 2
get_angle &angle, ax, ay, bx, by
set_paper Draft
appear Compa
move Compa, ax, ay, angle-90
call Compa.OpenCompa, radius
rotate_compa Compa, radius, angle+90
move Compa, bx, by, angle+90
rotate_compa Compa, radius, angle+270
disappear Compa
mx = (ax + bx) / 2
my = (ay + by) / 2
angle = angle + 90
get_point &cx, &cy, mx, my, angle, 4
set_paper Paper
create_line cx, cy, 2 * mx – cx, 2 * my – cy
appear Point, mx, my, “M”, leftbelow
note_angle 0, “”, bx, by, mx, my, cx, cy
note_edge 0, “”, ax, ay, mx, my
note_edge 0, “”, mx, my, bx, by
end
**Lưu ý:** Một đơn vị tính trong Violet Script được quy định mặc định là 40 pixel, độ rộng của màn hình hiển thị là 660×460 pixel, tức là khoảng 16.5×11.5 đơn vị.
Chương trình này sử dụng các thao tác dựng hình chuẩn (trong file
*Mathtool.vs*) và các đối tượng hình ảnh: thước kẻ, bút chì, compa. Vì vậy, sau khi soạn xong chương trình, ta phải khai báo các dữ liệu này như sau:
Nhấn nút “Đồng ý”, ta sẽ được đoạn mô phỏng dựng đường trung trực của một đoạn thẳng bất kỳ được nhập vào từ con chuột (nhấn, kéo và thả).
*Mô phỏng vẽ đường trung trực bằng compa, thước kẻ, bút chì *
Có thể thấy việc viết một chương trình mô phỏng như trên chỉ đơn giản là mã hóa 1:1 kịch bản mô phỏng thành ngôn ngữ VS.
Rõ ràng việc tạo bài giảng Hình học bằng ngôn ngữ VS sẽ đơn giản hơn nhiều so với các ngôn ngữ lập trình khác. Ví dụ nếu sử dụng C/C++ thì để tạo một bài giảng, có thể phải viết chương trình dài đến hàng nghìn dòng lệnh và hàng chục file dữ liệu, còn nếu dùng ngôn ngữ VS thì chỉ cần vài chục dòng lệnh và không cần file dữ liệu.
[3. Các lệnh trong VS]
[3.1. Các lệnh xử lý đối tượng]
Trong thư viện của trình thông dịch VS môn Hình học có các loại đối tượng hình ảnh như sau:
|
||
||
|
|
|
Point
(điểm)
|
|
Ký hiệu điểm trên hình vẽ
|
|
Ruler
(thước kẻ)
|
|
Sử dụng làm vật kê để vẽ các đoạn thẳng
|
|
Compa
(compa)
|
|
Dùng để vẽ các hình tròn hoặc cung tròn
|
|
Pencil
(bút chì)
|
|
Dùng để vẽ đoạn thẳng hoặc các đường đồ thị
|
|
Protractor
(thước đo góc)
|
|
Dùng để xác định góc trong việc vẽ góc
|
|
TSquare
(ê-ke)
|
|
Dùng để vẽ đoạn thẳng vuông góc với một đoạn thẳng có sẵn
|
|
Measurer
(thước đo)
|
|
Dùng để đo cạnh hoặc góc
|
|
Có hình dạng là thước kẻ hoặc thước đo góc tùy ý người sử dụng
|
|
Burin
(dao cắt)
|
|
Dùng để cắt các đa giác
|
|
|
|
|
|
Để sử dụng các loại đối tượng của VS cũng như các đối tượng được nạp từ thư viện bên ngoài, ngôn ngữ VS cung cấp các lệnh sau:
|
||
||
|
|
|
appear
xuất_hiện
|
|
1. Tên đối tượng
2. Tọa độ của đối tượng
3. Tham số đặc trưng 1 (chỉ dùng cho một số đối tượng)
4. Tham số đặc trưng 2 (chỉ dùng cho một số đối tượng)
|
|
Tạo lập và cho xuất hiện một đối tượng tại vị trí X, Y với các tham số cụ thể tùy theo loại đối tượng.
|
|
disappear
biến_mất
|
|
Tên một (hoặc nhiều) đối tượng
|
|
Làm cho các đối tượng biến mất (mờ dần rồi mất hẳn)
|
|
move
dịch_chuyển
|
|
1. Tên đối tượng
2. Tọa độ mới (x, y)
3. Góc quay đối tượng
|
|
Vừa dịch chuyển vừa quay đối tượng tới vị trí mới và góc quay mới. Nếu không nhập góc quay thì góc quay mặc định là 0°.
|
|
|
|
|
|
Ví dụ dưới đây sẽ mô phỏng việc vẽ một điểm bằng bút chì
function main
appear Pencil // Xuất hiện thước kẻ ở vị trí (0,0)
move Pencil, 5, 5 // Đưa bút chì ở vị trí (5, 5)
appear Point, 5, 5, A // Xuất hiện điểm A ở vị trí (5, 5)
delay 12 // Tạm dừng 1 giây
disappear Pencil // Làm biến mất bút chì
end
Mô phỏng vẽ một điểm bằng bút chì
[3.2. Các lệnh xử lý đa giác]
|
||
||
|
|
|
polygon
đa_giác
|
|
Tên đa giác
Vị trí đa giác
Tọa độ các điểm của đa giác
|
|
Tạo một đa giác
|
|
clip
cắt
|
|
Tọa độ của 2 điểm bất kỳ nằm trên đường thẳng cắt
|
|
Cắt tất cả các đa giác trên màn hình theo một đường thẳng
|
|
unify
hợp
|
|
Tên đa giác
Tên các đa giác sẽ được hợp vào đa giác đầu tiên
|
|
Hợp nhiều đa giác thành một đối tượng
|
|
flip
lật
|
|
Tên đa giác
|
|
Lật một đa giác qua trục tung
|
|
|
|
|
|
Phần ví dụ dưới đây là một chương trình hoàn chỉnh, thực hiện việc cắt và ghép các góc của một tam giác để chứng minh tổng của chúng bằng 180°. Khi chạy, người dùng sẽ xác định các đường cắt qua góc thứ nhất và đường cắt qua góc thứ hai, sau mỗi lần cắt thì các mẩu cắt sẽ được ghép vào đúng vị trí cần thiết.
function main
polygon Tamgiac, 8, 6, 0x7F7FFF, -1, -3, 3, 1, -3, 1
input_line &px1, &py1, &px2, &py2
cut_polygon px1, py1, px2, py2
move Tamgiac2, 4, 4, -180
input_line &px1, &py1, &px2, &py2
cut_polygon px1, py1, px2, py2
move Tamgiac12, 10, 4, 180
end
*Mô phỏng cắt một góc của hình tam giác bằng dao cắt *
[3.3. Các lệnh đồ họa]
|
||
||
|
|
|
erase
|
|
Tên đối tượng cần xóa
|
|
Xóa nội dung của đối tượng
|
|
circle
|
|
Tọa độ của tâm
Bán kính đường tròn
|
|
Vẽ đường tròn biết tâm và bán kính.
|
|
line
|
|
Tọa độ 2 điểm đầu mút
|
|
Vẽ đoạn thẳng qua 2 điểm
|
|
note_angle
ký_hiệu_góc
|
|
Kiểu đánh dấu
Giá trị ký hiệu
Ba điểm hoặc 3 tọa độ điểm
|
|
Đánh dấu góc và ký hiệu giá trị của góc
|
|
note_edge
ký_hiệu_cạnh
|
|
Kiểu đánh dấu
Giá trị ký hiệu
Hai điểm hoặc 2 tọa độ điểm
|
|
Đánh dấu cạnh và ký hiệu giá trị của cạnh
|
|
attach_pen
|
|
Đối tượng
Tọa độ điểm được gắn bút
|
|
Gắn vào đối tượng một điểm, mà khi thay đổi vị trí của đối tượng thì điểm này sẽ lưu lại vết
|
|
detach_pen
|
|
Đối tượng
|
|
Gỡ bỏ điểm đã gắn ra khỏi đối tượng
|
|
|
|
|
|
Ví dụ vẽ tam giác qua 3 điểm (x1, y1), (x2, y2), (x3, y3) với đầy đủ ký hiệu cạnh góc
function ShowTriangle x1, y1, x2, y2, x3, y3
poly_line x1, y1, x2, y2, x3, y3, x1, y1
set_paper Paper, 2, 0x003FBF
note_edge 2, “value”, x2, y2, x1, y1
note_edge 1, “value”, x3, y3, x2, y2
note_edge 0, “value”, x1, y1, x3, y3
note_angle 0, “value”, x2, y2, x1, y1, x3, y3
note_angle 2, “value”, x3, y3, x2, y2, x1, y1
note_angle 1, “value”, x1, y1, x3, y3, x2, y2
end
function main
ShowTriangle 2, 7, 7, 7, 3.5, 4
end
[3.4. Các lệnh phục vụ tính toán trong hình học phẳng]
|
||
||
|
|
|
get_point
lấy_điểm
|
|
Tọa độ của kết quả
Tọa độ của điểm gốc
Góc j
Khoảng cách R
|
|
Chuyển từ tọa độ cực sang tọa độ Đề-các (tính tọa độ của điểm biết R và j trong hệ tọa độ cực)
|
|
get_angle
lấy_góc
|
|
Góc j (kết quả)
Tọa độ của điểm
Tọa độ của điểm gốc
Kiểu vẽ đoạn thẳng
|
|
Lấy góc j (trong hệ tọa độ cực) từ tọa độ của một điểm so với điểm gốc
|
|
get_perpendicular
|
|
Tọa độ điểm kết quả
Tọa độ điểm
Tọa độ của hai điểm nằm trên đường thẳng
|
|
Tính vị trí của chân đường vuông góc hạ từ một điểm xuống một đường thẳng
|
|
get_intersection1
|
|
Tọa độ điểm kết quả
Tọa độ 2 điểm trên đường thẳng thứ nhất
Tọa độ 2 điểm trên đường thẳng thứ hai
|
|
Tính giao điểm giữa hai đường thẳng
|
|
get_intersection2
|
|
Tọa độ điểm kết quả thứ 1
Tọa độ điểm kết quả thứ 2
Tọa độ 2 điểm trên đường thẳng
Tọa độ tâm đường tròn
Bán kính đường tròn
|
|
Tính hai giao điểm của một đường thẳng và một đường tròn
|
|
|
|
|
|
[3.5. Các lệnh chờ đợi]
|
||
||
|
|
|
delay
trễ
|
|
Thời gian trễ
|
|
Dừng (trễ) một khoảng thời gian
|
|
wait_click
đợi_nhấn
|
|
Tên các nút đồ họa đang chờ được nhấn
|
|
Đợi cho đến khi người dùng click vào nút đồ họa trên màn hình. Nếu lệnh không có tham số nghĩa là chờ đến khi nhấn nút Next và nút Back.
Các nút đồ họa có thể được nạp từ file ngoài bằng lệnh load_movie
|
|
|
|
|
|
[3.6. Các lệnh phục vụ xử lý tương tác]
|
||
||
|
|
|
set_drag
kéo_thả
|
|
1. Đối tượng cần thao tác
2. Thao tác (true) hay không (false)
|
|
Thiết lập một đối tượng là có thể kéo thả được hay không
|
|
input_line
nhập_đoạn
|
|
Tọa độ 2 điểm đầu mút đoạn thẳng
|
|
Nhập một đoạn thẳng (2 điểm) bằng cách nhấn vào kéo chuột
|
|
input_point
|
|
Tọa độ điểm
|
|
Nhập một điểm bằng cách nhấn chuột
|
|
input_data
|
|
Tiêu đề hộp nhập
Tiêu đề và tham số thứ 1
Tiêu đề và tham số thứ 2
…
|
|
Hiện ra một hộp thoại cho phép nhập một hoặc nhiều tham số từ bàn phím
|
|
|
|
|
|
[3.7. Các lệnh điều khiển hệ thống]
|
||
||
|
|
|
parallel
song_song
|
|
Không
|
|
Thiết lập chế độ thực hiện các lệnh là song song
|
|
sequence
tuần_tự
|
|
Không
|
|
Thiết lập chế độ thực hiện các lệnh là tuần tự
|
|
Fscommand
|
|
1. command
2. param
|
|
Thực hiện lệnh fscommand của Flash Action Script.
|
|
|
|
|
|
## 3.8. Các lệnh trong thư viện Hình học
**1) create_line x1, y1, x2, y2 **
Mô phỏng vẽ một đoạn thẳng bằng thước kẻ và bút chì từ điểm (x1, y1) đến điểm (x2, y2)
**2) create_corner x1, y1, angle, len **
Mô phỏng vẽ một góc bằng thước đo độ, thước kẻ, bút chì. Đầu tiên đưa thước đo độ đến vị trí của một đường nằm ngang, tâm thước là (x1, y1), lấy một điểm ở góc angle, rồi kẻ từ tâm đi qua điểm đó một đoạn có độ dài là len.
**3) rotate_compa Compa, radius, angle **
Quay đối tượng Compa một góc angle từ vị trí hiện tại, còn radius là độ mở của Compa (phải giống như ở lệnh call Compa.Open,… trước đó)
**4) create_arc x1, y1, radius, start, end **
Mô phỏng vẽ một cung tròn tâm (x1, y1), bán kính radius (được xác định bằng compa và thước kẻ), từ góc start đến góc end.
**5) cut_polygon x1, y1, x2, y2 **
Mô phỏng cắt bằng dao cắt đối với tất cả các hình đa giác được tạo bằng lệnh polygon
[4. Các bài toán mẫu]
[4.1. Giới thiệu]
Các bài toán mẫu dưới đây là các ví dụ hoàn chỉnh viết bằng ngôn ngữ VS, giúp cho người đọc hiểu được ý tưởng cơ bản của việc lập trình, đồng thời cho thấy các quy tắc chung để tạo lập một chương trình VS. Người dùng hoàn toàn có thể sử dụng và phát triển các bài tập mẫu này theo những ý tưởng riêng của mình.
Các bài tập mẫu được trình bày ngắn gọn và dễ hiểu, với mục đích cho thấy khả năng tạo các bài giảng sinh động bằng VS là rất dễ dàng. Tất nhiên, những khả năng thực sự mà VS làm được còn lớn hơn nhiều so với những những gì thể hiện trong các ví dụ ở đây, mà thậm chí ngay cả tác giả của ngôn ngữ lập trình cũng chưa thể khám phá ra hết được.
[4.2. Vẽ đồ thị hàm số]
Trong chương trình học cấp 2 và cả cấp 3 đều có các bài tập vẽ đồ thị hàm số. Để giải quyết một bài tập này sẽ không hề đơn giản (phải tính đạo hàm, vi phân, khảo sát sự biến thiên hàm số,…), vậy mà cũng chỉ quanh quẩn ở một số dạng hàm số cơ bản. Tuy nhiên, với một ngôn ngữ lập trình bình thường, ta có thể vẽ được đồ thị bất kỳ mà không cần phải tính toán đạo hàm, vi phân,… Với VS, việc vẽ đồ thị còn dễ dàng hơn nhiều.
Ví dụ dưới đây sẽ vẽ đồ thị hàm số y = (x-2)*(x-1)*x*(x+1)*(x+2), nghĩa là một đồ thị cắt trục hoành tại các điểm -2, -1, 0, 1 và 2.
function main
line 0, y0 = 6, 16, y0
line x0 = 8, 0, x0, 12
set_paper Paper, 3, 0xFF00FF
appear Pencil
attach_pen Pencil
for x from -2.2 to 2.4 step 0.05
y = (x-2)*(x-1)*x*(x+1)*(x+2)
set_pos Pencil, x0 + x, y0 – y
delay 1
next
end
[4.3. Bài toán quỹ tích] **Bài toán 1**: Cho một điểm A cố định nằm trong đường tròn tâm O, kẻ đường thẳng qua A cắt đường tròn tại P. Tìm quỹ tích trung điểm M của OP khi P chuyển động trên đường tròn.
function main
set_paper Paper, 2, 0xBF00BF
appear Point, ox=8, oy=6, “O”, right
appear Point, ax=8, ay=8, “A”, left
circle ox, oy, 4
appear Point, 0, 0, “M”
attach_pen PointM
for angle from 135 to 135-360 step -2
get_point &px, &py, ox, oy, angle, 4
appear Point, px, py, “P”
set_pos PointM, (px+ax)/2, (py+ay)/2
set_paper Draft, 2, 0x0000BF
erase
line ax, ay, px, py
note_edge 2, “”, M, P
note_edge 2, “”, M, A
delay 1
next
end
**Bài 2: Đường Cycloide **
Đường quỹ tích được sinh ra khi một vòng tròn chạy xung quanh một vòng tròn khác. Trong phần chương trình dưới đây 3 biến số R1, R2 và L có thể được sửa đổi tùy ý sẽ tạo ra vô vàn những loại đường cycloide khác nhau.
function main
R1 = 2.0
R2 = 0.8
L = 2.0
set_paper Draft, 2, 0
circle x0=8.25, y0=5.75, R1
set_paper Wheel, 2, 0x0000FF
set_fill 0x7FBFFF, 50
circle 0, 0, R2
line 0, -R2, 0, R2
line -R2, 0, L*R2, 0
circle L*R2, 0, 0.1
set_paper Paper, 3, 0xFF0000
attach_pen Wheel, L*R2, 0
for t from 0 to 720 step 2
get_point &x, &y, x0, y0, t, R1+R2
set_pos Wheel, x, y, t*(R1+R2)/R2
delay 1
next
disappear Wheel
disappear Draft
end
*Mô phỏng cách vẽ đường Cycloide *
Một trong những dạng đường Cycloide
[4.4. Tam giác Napoleon]
Từ 3 cạnh của 1 tam giác bất kỳ vẽ ra phía ngoài 3 tam giác đều. Tâm của 3 tam giác đều này sẽ là đỉnh của một tam giác đều gọi là tam giác Napoleon.
Phần chương trình dưới đây sẽ vẽ tam giác Napoleon. Người dùng có thể kéo thả các đỉnh của tam giác ban đầu để thấy tam giác Napoleon biến đổi như thế nào.
function vẽ_hình
set_paper Draft, 3, 0x0000FF
erase
get_pos &x3, &y3, PointA
get_pos &x1, &y1, PointB
get_pos &x2, &y2, PointC
poly_line x1, y1, x2, y2, x3, y3, x1, y1
set_paper Draft, 2
set_fill 0x7FBFFF, 50
get_angle &angle, x1, y1, x3, y3
get_point &x, &y, x1, y1, angle+60, sqrt((x3-x1)^2+(y3-y1)^2)
poly_line x3, y3, x, y, x1, y1
cx1 = (x3 + x + x1) / 3
cy1 = (y3 + y + y1) / 3
get_angle &angle, x3, y3, x2, y2
get_point &x, &y, x3, y3, angle+60, sqrt((x3-x2)^2+(y3-y2)^2)
poly_line x3, y3, x, y, x2, y2
cx2 = (x3 + x + x2) / 3
cy2 = (y3 + y + y2) / 3
get_angle &angle, x2, y2, x1, y1
get_point &x, &y, x2, y2, angle+60, sqrt((x2-x1)^2+(y2-y1)^2)
poly_line x2, y2, x, y, x1, y1
cx3 = (x1 + x + x2) / 3
cy3 = (y1 + y + y2) / 3
end_fill
set_paper Draft, 3, 0xFF0000
set_fill 0xFF3F3F, 75
poly_line cx1, cy1, cx2, cy2, cx3, cy3, cx1, cy1
end
function main
appear Point, ax=7, ay=3, “A”, above
appear Point, bx=5, by=6, “B”, leftbelow
appear Point, cx=11,cy=6, “C”, rightbelow
set_drag PointA, true, vẽ_hình
set_drag PointB, true, vẽ_hình
set_drag PointC, true, vẽ_hình
vẽ_hình
end
*Tam giác Napoleon *
[4.5. Dựng tam giác biết 3 cạnh]
Đây là một bài rất cơ bản trong dựng hình: Dựng một tam giác biết độ dài 3 cạnh mà chỉ dùng thước kẻ và compa.
function main
input_data “Nhập 3 cạnh”, “AB”, lenAB, “AC”, lenAC, “BC”, lenBC
angleB = arccos((lenAB^2 + lenBC^2 – lenAC^2)/(2*lenAB*lenBC))
get_point &ax, &ay, 4, 7, angleB, lenAB
DrawTriangle 4, 7, 4+lenBC, 7, ax, ay, B, C, A
end
function DrawTriangle x1, y1, x2, y2, x3, y3, a1, a2, a3
create_line2 x1, y1, x2, y2
appear Point, x1, y1, a1, below
appear Point, x2, y2, a2, below
note_edge -1, value, x2, y2, x1, y1
delay 12
set_paper Draft
create_arc x1, y1, lenAB, 0, 90
create_arc x2, y2, lenAC, 90, 180
appear Point, x3, y3, a3, above
delay 12
set_paper Paper
create_line x1, y1, x3, y3
note_edge -1, value, x1, y1, x3, y3
create_line x3, y3, x2, y2
note_edge -1, value, x3, y3, x2, y2
delay 12
erase Draft
end
Đoạn mô phỏng này có sử dụng thư viện các thao tác dựng hình chuẩn (chính là file Mathtool.vs) được cung cấp kèm theo Violet, và các đối tượng hình ảnh như sau:
*Các thư viện mã nguồn và hình ảnh sử dụng trong bài toán dựng hình *
[4.6. Mô phỏng con lắc lò xo]
Để mô phỏng một con lắc lò xo co giãn, có thể sử dụng một ảnh lò xo, sau đó co giãn ảnh. Tuy nhiên kỹ thuật này sẽ làm cho độ dày của dây lò xo thay đổi nên không đúng thực tế. Để tạo một chiếc lò xo co giãn đẹp, ta phải lập trình và tạo ra một đối tượng riêng cho VS.
Trong Macromedia Flash, tạo một file mới, click chuột vào frame duy nhất trên timeline, sau đó mở hộp soạn thảo Action Script (nhấn F9), gõ đoạn mã sau vào:
function DrawSpring(len) {
clear();
lineStyle(3, 0, 100);
for (var i = 0; i<20; i++) {
lineTo((i%2*2-1)*15, (i+0.5)*len/20);
}
lineTo(0, len);
}
Dịch file này thành file swf, trong file thông tin của chương trình dịch VS, khai báo tên đối tượng là Lò_xo và chỉ đường dẫn đến file swf. Sau đó viết chương trình VS như sau:
function main
set_paper Giado, 8, 0x7F7F7F
poly_line 5, 10, 6, 10, 6, 1, 10, 1, 10, 10, 11, 10
appear Spring, 8, 1
set_paper Sphere
sphere 0, 0.6, 0.6, 0x0000FF, 0xBFBFFF
for t from 0 to 100000
len = 6 + sin(t*15)
set_pos Sphere, 8, len + 1
call Spring.DrawSpring, len
delay 1
next
end
Kết quả chạy chương trình trên như sau. Con lắc lò xo sẽ dao động điều hòa với lò xo co giãn mà độ dày của sợi dây lò xo không thay đổi.
*Mô phỏng con lắc lò xo đạng dao động điều hòa *
## Trả lời Hủy trả lời

WARC-Identified-Payload-Type: application/xhtml+xml

Link: <http://wp.me/pTLu0-12>; rel=shortlink


markdown:
Theo quy hoạch chung, huyện Quốc Oai sẽ có tổng diện tích đất tự nhiên khoảng 14.700 ha, bao gồm toàn bộ diện tích của 20 xã và 1 thị trấn hiện tại. Dự báo đất xây dựng đô thị đến năm 2030 khoảng 3.400ha (gồm cả đất thuộc đô thị vệ tinh Hòa Lạc trong ranh giới của huyện khoảng 2.500ha) và đất khu vực nông thôn khoảng 13.300ha.
Quy mô dân số dự báo toàn huyện Quốc Oai đến năm 2030 khoảng 304.000 người (gồm cả dân số thuộc đô thị vệ tinh Hòa Lạc trong ranh giới của huyện), trong đó dân số khu vực đô thị khoảng 169.000 người, dân số khu vực nông thôn khoảng 135.000 người.
Mục tiêu, nhiệm vụ quy hoạch chung nhằm xây dựng huyện Quốc Oai trở thành đô thị sinh thái, văn hóa lịch sử, phát triển nông nghiệp công nghệ cao và một phần đô thị vệ tinh Hòa Lạc, đồng thời định hướng phát triển là đô thị khoa học, công nghệ và đào tạo có chức năng hỗ trợ đô thị trung tâm và công nghiệp, dịch vụ, y tế, đào tạo. Đây cũng là trung tâm nghiên cứu nông nghiệp công nghệ cao, du lịch sinh thái và tâm linh, hỗ trợ phát triển cho khu vực nông thôn nằm trong hành lang xanh của Thành phố.
[quy hoạch](https://cafeland.vn/tags/quy-hoạch/), [quy hoạch chung](https://cafeland.vn/tags/quy-hoạch-chung/)

Vary: Accept-Encoding

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Pragma: no-cache


text:
Hình minh họa
Dự án bất động sản thế chấp ngân hàng - Hiểu sao cho đúng?
Kể từ khi Sở TN-MT Tp.HCM công bố danh sách 77 dự án nhà ở và Hà Nội công bố 34 dự án đang thế chấp ngân hàng lập tức nhận được sự quan tâm rất lớn của dư luận và giới đầu tư bất động sản. Nhiều chủ đầu tư dự án cho rằng đợt công bố này chưa đầy đủ, gây ảnh hưởng đến doanh nghiệp, thị trường. Về phía người mua nhà khi biết đến thông tin trên cũng tỏ ra khá thận trọng vì lo ngại rủi ro.
Tọa đàm sẽ đánh giá sâu hơn về những ảnh hưởng của việc công bố thông tin dự án thế chấp trong thời gian qua đến giao dịch trên thị trường bất động sản và tâm lý người mua cũng như kiến nghị cách công bố thông tin rõ ràng hơn để tránh ảnh hưởng đến tâm lý chung của thị trường.
Tại sao dự án chưa xong móng vẫn bán chạy “ào ào”?
Có không ít dự án bất động sản chưa xây dựng phần móng nhưng đã được chủ đầu tư mở bán rình rang, thậm chí các sản phẩm được bán gần hết chỉ trong buổi mở bán đầu tiên.
Theo quy định của Luật Kinh doanh bất động sản 2014, chủ đầu tư dự án bất động sản muốn bán căn hộ hình thành trong tương lai thì buộc phải xây dựng xong phần móng. Tuy nhiên, trên thị trường hiện nay có không ít dự án chưa làm móng nhưng vẫn được mở bán rầm rộ.
Công khai dư án thế chấp theo những tiêu chí nào?
Đồng thuận với việc công bố thông tin các dự án bất động sản thế chấp ngân hàng nhưng ai công bố, hình thức công bố như thế nào, tiêu chí ra sao… là những băn khoăn được các doanh nghiệp đặt ra.
Ngay sau khi vụ việc chấn động tại chung cư The Harmona (quận Tân Bình) xảy ra, nhằm đảm bảo quyền lợi của người mua nhà và tăng tính minh bạch của thị trường bất động sản, Sở Tài Nguyên và Môi trường TP.HCM đã công khai danh sách 77 dự án bất động sản đang thế chấp ngân hàng. Động thái này ngay lập tức gây ra những ảnh hưởng trái ngược trên thị trường. Đặc biệt, có nhiều doanh nghiệp phải cuống cuồng “kêu oan” vì bị người mua xếp vào nhóm “ năng lực kém” vì có tên trong danh sách.
TP.HCM: Nhiều giải pháp chống ngập cho sân bay Tân Sơn Nhất
Xử lý hệ thống thoát nước xum quanh khu vực sân bay, bố trí hệ thống máy bơm, xây hồ điều điết trong sân bay là những phương án sẽ được triển khai để “cứu” sân bay Tân Sơn Nhất thoát khỏi cảnh ngập úng sau những cơn mưa lớn.
Theo lãnh đạo Cảng Hàng không quốc tế Tân Sơn Nhất, nguyên nhân dẫn đến tình trạng sân bay bị ngập là do các mương thoát nước xung quanh sân bay đang bị ách tắc dòng chảy. Hiện nay, hệ thống thoát nước chính của sân bay có 3 hướng. Phía Bắc, mương nước thoát ra kênh Hy Vọng rồi đổ vào kênh Tham Lương hoạt động tương đối tốt. Hướng Đông Nam của sân bay có hồ điều tiết trước cửa nhà ga, nước thoát ra kênh Nhật Bản hơi chậm. Phía Tây Nam, nơi đậu máy bay thoát nước qua kênh A41 thì rất tệ.
Cận cảnh những khu đất “vàng” bạc phận
Nhiều khu đất sở hữu vị trí vô cùng đắc địa ngay tại trung tâm thành phố nhưng phải chịu cảnh “đắp chiếu” suốt nhiều năm. Trong thời gian tới, nếu không chịu “cử động” có thể những dự án này sẽ bị thu hồi.
Mặc dù được thành phố phê duyệt chủ trương đầu tư từ nhiều năm nhưng hiện có rất nhiều dự án có vị trí tại các khu đất “vàng” vẫn án binh bất động, khu đất bị sử dụng sai mục đích. Có trường hợp dự án đã được triển khai nhưng lại dang dở, trở thành “điểm trừ” ảnh hưởng không nhỏ tới mỹ quan và không gian đô thị khu vực trung tâm.
Hạn chế xe máy ảnh hưởng đến quyết định đầu tư nhà đất?
"Từng bước hạn chế phương tiện cá nhân, định hướng đến năm 2025 dừng hoạt động xe máy cá nhân" là một phần dự thảo chương trình hiện đại hóa đô thị của thành ủy Hà Nội. Theo đó, Hà Nội định hướng đến 2025 sẽ dừng hoạt động xe máy cá nhân trong nội đô.
Chủ trương cấm xe gắn máy để tránh ùn tắc tại Hà Nội hiện nay vẫn nhận được nhiều ý kiến phản biện trái chiều. Tuy nhiên việc cấm xe gắn máy là chủ trương đã thực hiện thành công tại nhiều nước Châu Á và đem lại yếu tố tích cực trong việc bảo vệ môi trường cũng như xây dựng môi trường đô thị hiện đại. Vấn đề chỉ là lộ trình thực hiện và việc hoàn thiện hệ thống phương tiện giao thông công cộng.
Mường Thanh Khánh Hòa phớt lờ quyết định rút phép
Công trình tổ hợp khách sạn - căn hộ cao cấp Mường Thanh Khánh Hòa bị Sở Xây dựng Khánh Hòa ra quyết định rút giấy phép xây dựng, đồng thời đưa ra nhiều biện pháp buộc chủ đầu tư dừng thi công...
Trong khi đó, theo ông Lê Thanh Thản, Chủ tịch Tập đoàn Mường Thanh, chủ đầu tư đã bán căn hộ từ tầng 41 - 47 từ khi mở móng, chứ không phải xây tới đâu bán tới đó. Bây giờ tỉnh Khánh Hòa rút giấy phép không cho xây tiếp thì số nhà đầu tư đã “trót” mua các tầng “vượt” ấy không biết sẽ phải xử lý thế nào.

markdown:
*Hình minh họa* **Dự án bất động sản thế chấp ngân hàng - Hiểu sao cho đúng?** **K**ể từ khi Sở TN-MT Tp.HCM công bố danh sách 77 dự án nhà ở và Hà Nội công bố 34 dự án đang thế chấp ngân hàng lập tức nhận được sự quan tâm rất lớn của dư luận và giới đầu tư bất động sản. Nhiều chủ đầu tư dự án cho rằng đợt công bố này chưa đầy đủ, gây ảnh hưởng đến doanh nghiệp, thị trường. Về phía người mua nhà khi biết đến thông tin trên cũng tỏ ra khá thận trọng vì lo ngại rủi ro.
Tọa đàm sẽ đánh giá sâu hơn về những ảnh hưởng của việc công bố thông tin dự án thế chấp trong thời gian qua đến giao dịch trên thị trường bất động sản và tâm lý người mua cũng như kiến nghị cách công bố thông tin rõ ràng hơn để tránh ảnh hưởng đến tâm lý chung của thị trường.
**Tại sao dự án chưa xong móng vẫn bán chạy “ào ào”?**
Có không ít dự án bất động sản chưa xây dựng phần móng nhưng đã được chủ đầu tư mở bán rình rang, thậm chí các sản phẩm được bán gần hết chỉ trong buổi mở bán đầu tiên.
Theo quy định của Luật Kinh doanh bất động sản 2014, chủ đầu tư dự án bất động sản muốn bán căn hộ hình thành trong tương lai thì buộc phải xây dựng xong phần móng. Tuy nhiên, trên thị trường hiện nay có không ít dự án chưa làm móng nhưng vẫn được mở bán rầm rộ.
**Công khai dư án thế chấp theo những tiêu chí nào?**
Đồng thuận với việc công bố thông tin các dự án bất động sản thế chấp ngân hàng nhưng ai công bố, hình thức công bố như thế nào, tiêu chí ra sao… là những băn khoăn được các doanh nghiệp đặt ra.
Ngay sau khi vụ việc chấn động tại chung cư The Harmona (quận Tân Bình) xảy ra, nhằm đảm bảo quyền lợi của người mua nhà và tăng tính minh bạch của thị trường bất động sản, Sở Tài Nguyên và Môi trường TP.HCM đã công khai danh sách 77 dự án bất động sản đang thế chấp ngân hàng. Động thái này ngay lập tức gây ra những ảnh hưởng trái ngược trên thị trường. Đặc biệt, có nhiều doanh nghiệp phải cuống cuồng “kêu oan” vì bị người mua xếp vào nhóm “ năng lực kém” vì có tên trong danh sách.
**TP.HCM: Nhiều giải pháp chống ngập cho sân bay Tân Sơn Nhất**
Xử lý hệ thống thoát nước xum quanh khu vực sân bay, bố trí hệ thống máy bơm, xây hồ điều điết trong sân bay là những phương án sẽ được triển khai để “cứu” sân bay Tân Sơn Nhất thoát khỏi cảnh ngập úng sau những cơn mưa lớn.
Theo lãnh đạo Cảng Hàng không quốc tế Tân Sơn Nhất, nguyên nhân dẫn đến tình trạng sân bay bị ngập là do các mương thoát nước xung quanh sân bay đang bị ách tắc dòng chảy. Hiện nay, hệ thống thoát nước chính của sân bay có 3 hướng. Phía Bắc, mương nước thoát ra kênh Hy Vọng rồi đổ vào kênh Tham Lương hoạt động tương đối tốt. Hướng Đông Nam của sân bay có hồ điều tiết trước cửa nhà ga, nước thoát ra kênh Nhật Bản hơi chậm. Phía Tây Nam, nơi đậu máy bay thoát nước qua kênh A41 thì rất tệ.
**Cận cảnh những khu đất “vàng” bạc phận**
Nhiều khu đất sở hữu vị trí vô cùng đắc địa ngay tại trung tâm thành phố nhưng phải chịu cảnh “đắp chiếu” suốt nhiều năm. Trong thời gian tới, nếu không chịu “cử động” có thể những dự án này sẽ bị thu hồi.
Mặc dù được thành phố phê duyệt chủ trương đầu tư từ nhiều năm nhưng hiện có rất nhiều dự án có vị trí tại các khu đất “vàng” vẫn án binh bất động, khu đất bị sử dụng sai mục đích. Có trường hợp dự án đã được triển khai nhưng lại dang dở, trở thành “điểm trừ” ảnh hưởng không nhỏ tới mỹ quan và không gian đô thị khu vực trung tâm.
**Hạn chế xe máy ảnh hưởng đến quyết định đầu tư nhà đất?**
"Từng bước hạn chế phương tiện cá nhân, định hướng đến năm 2025 dừng hoạt động xe máy cá nhân" là một phần dự thảo chương trình hiện đại hóa đô thị của thành ủy Hà Nội. Theo đó, Hà Nội định hướng đến 2025 sẽ dừng hoạt động xe máy cá nhân trong nội đô.
Chủ trương cấm xe gắn máy để tránh ùn tắc tại Hà Nội hiện nay vẫn nhận được nhiều ý kiến phản biện trái chiều. Tuy nhiên việc cấm xe gắn máy là chủ trương đã thực hiện thành công tại nhiều nước Châu Á và đem lại yếu tố tích cực trong việc bảo vệ môi trường cũng như xây dựng môi trường đô thị hiện đại. Vấn đề chỉ là lộ trình thực hiện và việc hoàn thiện hệ thống phương tiện giao thông công cộng.
** Mường Thanh Khánh Hòa phớt lờ quyết định rút phép**
Công trình tổ hợp khách sạn - căn hộ cao cấp Mường Thanh Khánh Hòa bị Sở Xây dựng Khánh Hòa ra quyết định rút giấy phép xây dựng, đồng thời đưa ra nhiều biện pháp buộc chủ đầu tư dừng thi công...
Trong khi đó, theo ông Lê Thanh Thản, Chủ tịch Tập đoàn Mường Thanh, chủ đầu tư đã bán căn hộ từ tầng 41 - 47 từ khi mở móng, chứ không phải xây tới đâu bán tới đó. Bây giờ tỉnh Khánh Hòa rút giấy phép không cho xây tiếp thì số nhà đầu tư đã “trót” mua các tầng “vượt” ấy không biết sẽ phải xử lý thế nào.