Thông báo

Collapse
No announcement yet.

Game xe tăng sử dụng ic 8051 code asm

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Game xe tăng sử dụng ic 8051 code asm

    XE TĂNG ĐẠI CHIẾN, không còn xa lạ gì đối với tuổi thơ của thế hệ những 8x, còn những 9x ít nhiều cũng chơi qua hoặc xem người khác chơi, hôm nay viết game này để tìm lại cái tôi của ngày hôm qua, tìm về những ngày xưa.
    Các bạn chơi thử rồi phản hồi lại mình nhé để mình khắc phục những tiềm ẩn không mong muốn.
    Lần trước mình đã giới thiệu về game này trên diễn đàn rồi nhưng thời gian gần đây mới có điều kiện để hoàn thiện.
    Click image for larger version

Name:	xe tang dai chien.jpg
Views:	1
Size:	100.1 KB
ID:	1417033

    Game khá đơn giản vì mình chỉ tạo những hàm random bằng cách sử dụng timer0 kết hợp với 1 thanh ghi. Một số hàm va trạm xử lý bằng cách tính toán tọa độ của những xe tăng và tọa độ của những viên đạn, còn lại là phần của LCD thì đơn giản rồi. Vì ma trận hơi hẹp lên mình không biểu diễn hết khả năng đồ họa, phiên bản tiếp theo mình sẽ viết cho ma trận 16x16 xe tăng của quân ta sẽ phải bảo vệ cơ quan sở chỉ huy và bên quân địch có sự xuất hiện của boss.xe tang dai chien.zip

    nguyễn sĩ tú CNT48DH đhhh
    phone: 0969132917

  • #2
    sao thỉnh thảng reset là bi đơ vậy bạn?

    Comment


    • #3
      viết ct gioi nhây
      không thể làm những gì bạn muốn,hãy làm những gì bạn có thể làm .Đời không như mơ

      Comment


      • #4
        Đúng rồi. chương trình thỉnh thoảng reset là bị đơ, nguyên nhân là do khi reset chương trình sẽ nhẩy về địa chỉ 0000H mà không reset toàn bộ thanh ghi. Chỉ cần đưa các thanh ghi về #0 sau khai báo là được.

        nguyễn sĩ tú CNT48DH đhhh
        phone: 0969132917

        Comment


        • #5
          cậu này hay viết code game nhỉ
          Gia Công Mạch In - SDT 098.999.2470

          Comment


          • #6
            bạn viết code siêu thật đó, bạn cho mình hỏi hàm radom là sao? và mình dùng nó mục đích gì? mình thấy lạ lạ quá
            không tiếp nhận cuộc gọi qua điện thoại vì đi làm toàn tập, tính khí thất thường, hay nóng võ công lại cao

            Comment


            • #7
              Nguyên văn bởi 01642555134 Xem bài viết
              bạn viết code siêu thật đó, bạn cho mình hỏi hàm radom là sao? và mình dùng nó mục đích gì? mình thấy lạ lạ quá
              Tức là khi xe tăng của quân địch đi được vài bước hoặc đâm vào thành thì nó sẽ phải rẽ hướng khác để đi, và như vậy phải random 1 hướng bất kì cho nó, hoặc khi xe tăng địch bị chết thì sau khoảng thời gian t nó sẽ hồi sinh và vị trí của nó cũng phải random bất kì ở 4 góc và còn nhiều điều nữa cũng cần random... thời gian t cũng là random nếu mình muốn, mình hoàn toàn có thể viết hàm thông minh thay cho hàm random nhưng như vậy xe tăng địch sẽ rất khôn ta khó mà tiêu diệt được nó va game sẽ mất vui.
              Last edited by tiensitu86; 01-05-2013, 16:44.

              nguyễn sĩ tú CNT48DH đhhh
              phone: 0969132917

              Comment


              • #8
                mình hiễu rùi, ramdom nghĩ là tự ngẫu xuất hiện ngẫu nhiên, nhưng làm sao mình tạo dc hàm radom bằng asm, v2 ứng dụng nó trong cái khác,?
                không tiếp nhận cuộc gọi qua điện thoại vì đi làm toàn tập, tính khí thất thường, hay nóng võ công lại cao

                Comment


                • #9
                  Mình tạo hàm random bằng cách sử dụng ngắt timer0 kết hợp với 1 thanh ghi. cụ thể trong chương trình này mình dùng thanh ghi R3. Thời gian tràn của timer0 mình cho khoảng chừng 2^16us. Khi có sự kiện ngắt timer0 thì R3 tự động tăng lên 1, đến khi nào bằng 4 thì lại cho R3 trở về 0, và quá trình đó cứ lặp đi lặp lại, mình chọn R3 tối đa bằng 4 là vì có 4 hướng để xe tăng rẽ, và có 4 góc để xe tăng xuất hiện... VD khi R3=0: rẽ trái, R3=1:rẽ phải,R3=2 lên trên, R3=3: xuông dưới. Vì R3 thay đổi liên tục lên không cần biết R3=? chỉ cần biết khi nào cần hướng đi thì gọi nó, trong ASM dùng CJNE để kiêm tra R3 còn trong c dùng câu lệnh if.
                  Màn hình của ma trận khi viết chương trình là lằm ngang sau khi viết song mình xoay thành dọc, và xoay cả phím. lên left, right, up, down cũng xoay theo.
                  Last edited by tiensitu86; 02-05-2013, 19:54.

                  nguyễn sĩ tú CNT48DH đhhh
                  phone: 0969132917

                  Comment


                  • #10
                    Xe tăng mình điều khiển chỉ bắn được từng viên đạn 1, bạn có làm cho bắn đc nhiều viên hơn không? Thanh ghi r3 có nhất thiết phải thay đổi trong timer0, mình thay đổi nó trong chương trình chính có đc ko? VD: sau mỗi vòng lặp thì r3 tăng lên 1 và bằng 4 thì cho =0.
                    Last edited by luanxa; 08-05-2013, 18:47.

                    Comment


                    • #11
                      Hi bạn,

                      Tôi rất ấn tượng với những gì bạn làm được qua project này. Hi vọng có thể hợp tác với bạn.

                      Bạn có thể tham khảo: http://www.dientuvietnam.net/forums/...n-dung-166052/

                      Comment


                      • #12
                        Nguyên văn bởi tiensitu86 Xem bài viết
                        XE TĂNG ĐẠI CHIẾN, không còn xa lạ gì đối với tuổi thơ của thế hệ những 8x, còn những 9x ít nhiều cũng chơi qua hoặc xem người khác chơi, hôm nay viết game này để tìm lại cái tôi của ngày hôm qua, tìm về những ngày xưa.
                        Các bạn chơi thử rồi phản hồi lại mình nhé để mình khắc phục những tiềm ẩn không mong muốn.
                        Lần trước mình đã giới thiệu về game này trên diễn đàn rồi nhưng thời gian gần đây mới có điều kiện để hoàn thiện.
                        [ATTACH=CONFIG]65016[/ATTACH]

                        Game khá đơn giản vì mình chỉ tạo những hàm random bằng cách sử dụng timer0 kết hợp với 1 thanh ghi. Một số hàm va trạm xử lý bằng cách tính toán tọa độ của những xe tăng và tọa độ của những viên đạn, còn lại là phần của LCD thì đơn giản rồi. Vì ma trận hơi hẹp lên mình không biểu diễn hết khả năng đồ họa, phiên bản tiếp theo mình sẽ viết cho ma trận 16x16 xe tăng của quân ta sẽ phải bảo vệ cơ quan sở chỉ huy và bên quân địch có sự xuất hiện của boss.[ATTACH]65017[/ATTACH]
                        Bạn viết cái này mất bao lâu?
                        |

                        Comment


                        • #13
                          Nguyên văn bởi minhtinh Xem bài viết
                          Bạn viết cái này mất bao lâu?
                          khi mình viết code thời gian không được liên tục bạn ạ, vì mình còn phải làm nhiều việc khác nữa, vừa phân tích giải thuật vừa viết code khoảng gần 3 tuần.

                          nguyễn sĩ tú CNT48DH đhhh
                          phone: 0969132917

                          Comment


                          • #14
                            Nguyên văn bởi luanxa Xem bài viết
                            Xe tăng mình điều khiển chỉ bắn được từng viên đạn 1, bạn có làm cho bắn đc nhiều viên hơn không? Thanh ghi r3 có nhất thiết phải thay đổi trong timer0, mình thay đổi nó trong chương trình chính có đc ko? VD: sau mỗi vòng lặp thì r3 tăng lên 1 và bằng 4 thì cho =0.
                            Bắn được 1 viên đạn hay nhiều viên cũng thế thôi bạn ạ, mình chỉ muốn làm game sao cho nó đơn giản nhất thôi, một viên đạn khi được kích hoạt thì cần khởi động gần 20 ô nhớ và bit nhớ để kiểm soát hoạt động của nó. Đây chỉ là 1 chương chình điện toán đơn giản để test thôi, nó quá kồng kềnh và còn rất nhiều lỗi, có nhiều giải thuật khác hay hơn nhiều. Mình khẳng định không cho R3 vào chương trình chính để tạo random được đâu mình thử ngay từ khi bắt đầu viết chương trình

                            nguyễn sĩ tú CNT48DH đhhh
                            phone: 0969132917

                            Comment


                            • #15
                              Nguyên văn bởi phamthaihoa Xem bài viết
                              Hi bạn,

                              Tôi rất ấn tượng với những gì bạn làm được qua project này. Hi vọng có thể hợp tác với bạn.

                              Bạn có thể tham khảo: http://www.dientuvietnam.net/forums/...n-dung-166052/
                              Không biết chỗ bác yêu cầu tuyển dụng như thế nào, em đã đọc thông tin ở đường link trên, thú thật trình độ tiếng anh của em còn gà lắm, như đọc datasheet chẳng hạn thì e phải dùng phần mềm để tra từ mới, giao tiếp thật thành thạo thì em chịu. Em học công nghệ thông tin lên dành nhiều thời gian cho php và c#, điện tử và kỹ thuật vi xử lý chỉ là những môn học của khoa. Nói chung là em biết vẽ mạch, phân tích thiết kế hệ thống, giải thuật điện toán và viết chương trình thôi, nếu chỗ bác cần một người như vậy thì em làm được.
                              Last edited by tiensitu86; 10-05-2013, 09:59.

                              nguyễn sĩ tú CNT48DH đhhh
                              phone: 0969132917

                              Comment

                              Về tác giả

                              Collapse

                              tiensitu86 Tìm hiểu thêm về tiensitu86

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X