Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: Cách tính tuổi trong game như thế nào?

  1. #1
    Ngày gia nhập
    06 2011
    Bài viết
    121

    Mặc định Cách tính tuổi trong game như thế nào?

    mình đang làm 1 game nhỏ nhưng bị bí chỗ này
    Cứ 1 ngày thì lên 1 tuổi nhưng mình gặp rắc rối chỗ 24h,
    VD:
    tạo nhân vật vào 22h00 ngày 1/1/2011 lúc này nhân vật 1 tuổi
    khi 1h00 ngày 2/1/2011 nó đã lên 2 tuổi chứ không phải vào 22h00 ngày 2/1/2011, ai giúp mình với

  2. #2
    Ngày gia nhập
    02 2009
    Bài viết
    84

    Trích dẫn Nguyên bản được gửi bởi chitviv Xem bài viết
    mình đang làm 1 game nhỏ nhưng bị bí chỗ này
    Cứ 1 ngày thì lên 1 tuổi nhưng mình gặp rắc rối chỗ 24h,
    VD:
    tạo nhân vật vào 22h00 ngày 1/1/2011 lúc này nhân vật 1 tuổi
    khi 1h00 ngày 2/1/2011 nó đã lên 2 tuổi chứ không phải vào 22h00 ngày 2/1/2011, ai giúp mình với
    Vậy thì tính tuổi bằng ngày hiện tại- ngày tạo,tính ngày thôi đừng tính thời gian giờ phút :d
    Càng học càng thấy mình thiếu nhiều kiến thức.........

  3. #3
    Ngày gia nhập
    12 2010
    Bài viết
    67

    Trích dẫn Nguyên bản được gửi bởi bimtocsieuquay Xem bài viết
    Vậy thì tính tuổi bằng ngày hiện tại- ngày tạo,tính ngày thôi đừng tính thời gian giờ phút :d
    mình thấy đúng đó, nếu vẫn mún tính theo giờ thì lưu giờ lúc tạo lại rùi trừ ra (vẫn là tính theo ngày nhá, nhưng cộng trừ giờ ra để chính xác đến mức giờ)

  4. #4
    Ngày gia nhập
    06 2011
    Bài viết
    121

    Trích dẫn Nguyên bản được gửi bởi cudang9005 Xem bài viết
    mình thấy đúng đó, nếu vẫn mún tính theo giờ thì lưu giờ lúc tạo lại rùi trừ ra (vẫn là tính theo ngày nhá, nhưng cộng trừ giờ ra để chính xác đến mức giờ)
    ngày trước - ngày sau thì dễ rồi, nhưng mà như mình post lúc đầu,
    ngày tạo 11h59 ngày 1/1/1900
    sau đó 1p, thì nó đã qua 2/1/1900
    chỉ cần 1p nó đã lên 1 tuổi thì không hay

    thuật toán giờ - giờ + ngày - ngày đúng thì hơi khó, mong mấy bạn giúp đở

  5. #5
    Ngày gia nhập
    12 2010
    Bài viết
    67

    mình giải thuật linh tinh thế này, hy vọng giúp bạn nghĩ ra điều gì đó nhĩ... Àk, mình nghĩ nên sử dụng chế độ 24h cho dễ...
    - Tuổi = ngày hiện tại - ngày tạo (tất nhiên giá trị này nhỏ nhất là = 0 - khi đó là 0 tuổi)

    - Nếu tuổi > 0, Tiếp tục biện luận về giờ: Tuổi += giờ hiện tại >= giờ tạo ? 0 : -1; Ý nghĩa: nếu mà giờ hiện tại nhỏ hơn giờ tạo (tức là vẫn chưa đủ ngày, thì lại trừ ra 1 tuổi vì đã cộng vào khi biện luận theo ngày, còn nếu đã đủ hoặc nhìu hơn thì kệ vì đã cộng rùi). Không biết thế này có đúng ko ?
    Hy vọng giúp đc bạn, thân!

  6. #6
    Ngày gia nhập
    08 2009
    Nơi ở
    TP Cần Thơ - Lộ 91B
    Bài viết
    212

    Mặc định Cách tính tuổi trong game như thế nào?

    - Tính tuổi theo ngày à.
    - Làm thế này
    Code:
           int hour = (DateTime.Now - [ Ngày giờ tạo nhân vật ] ).Hour ;
           int Age = hour/24 ;

  7. #7
    Ngày gia nhập
    06 2011
    Bài viết
    121

    Trích dẫn Nguyên bản được gửi bởi cudang9005 Xem bài viết
    mình giải thuật linh tinh thế này, hy vọng giúp bạn nghĩ ra điều gì đó nhĩ... Àk, mình nghĩ nên sử dụng chế độ 24h cho dễ...
    - Tuổi = ngày hiện tại - ngày tạo (tất nhiên giá trị này nhỏ nhất là = 0 - khi đó là 0 tuổi)
    theo thuật toán của bạn thì ngay dòng đầu tiên đã vướn vào vấn đề của mình là nếu qua ngày mà thời gian chưa đủ 24h thì nó vẫn lên 1 tuổi

    Trích dẫn Nguyên bản được gửi bởi cudang9005 Xem bài viết
    mình thấy đúng đó, nếu vẫn mún tính theo giờ thì lưu giờ lúc tạo lại rùi trừ ra (vẫn là tính theo ngày nhá, nhưng cộng trừ giờ ra để chính xác đến mức giờ)
    ngày trước - ngày sau thì dễ rồi, nhưng mà như mình post lúc đầu,
    ngày tạo 11h59 ngày 1/1/1900
    sau đó 1p, thì nó đã qua 2/1/1900
    chỉ cần 1p nó đã lên 1 tuổi thì không hay

    thuật toán giờ - giờ + ngày - ngày đúng thì hơi khó, mong mấy bạn giúp đở

  8. #8
    Ngày gia nhập
    05 2011
    Bài viết
    299

    nó wa ngày nhưng thời gian chưa đủ 24h nên nó vẫn có tuổi = 0. bạn chưa hiểu à ?
    Programming tutorials and source code examples

    Trong nhà không vợ không con
    Uống bia gặm thịt sao ngon thế này
    Nhậu nhẹt không bị la rầy
    Một tuần ta cứ bảy ngày " nâng ly "....

  9. #9
    Ngày gia nhập
    02 2011
    Nơi ở
    Vô Gia Cư
    Bài viết
    269

    Có j đâu mà gọi là thuật toán đơn giản thế này thôi bạn à. Khi bạn tạo nhân vật bạn phải lưu thời điểm tạo nhân vật vào một biến T nào đó, nhớ là lưu đầy đủ (tức là cấu trúc sẽ như thế này 7/20/2011 7:33:34 PM).

    Thực hiện việc kiểm tra bằng cách
    Code:
    if((DateTime.Now - T).Hours%24 == 0) Tuoinhanvat++;

  10. #10
    Ngày gia nhập
    12 2010
    Bài viết
    67

    Trích dẫn Nguyên bản được gửi bởi latuine Xem bài viết
    - Tính tuổi theo ngày à.
    - Làm thế này
    Code:
           int hour = (DateTime.Now - [ Ngày giờ tạo nhân vật ] ).Hour ;
           int Age = hour/24 ;
    kiểu làm của bạn hơi bị nhầm lẫn rùi đó vì đằng nào Age cũng chỉ có giá trị là từ 0 (hoặc -1) đến 1, ko khác đy được đâu. Cái biến hour của bạn trả về kết quả ko nằm ngoài vùng -24 đến 24, mà chia làm tròn int nữa thì ...

Các đề tài tương tự

  1. Web game:choigameonline.biz-Chơi game online, game vui, game mini, game flash
    Gửi bởi timkiemvn002 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 27-08-2014, 11:08 AM
  2. Game Cách lưu thông tin người chơi trong các game như thế nào?
    Gửi bởi itbk trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 25-10-2012, 07:07 PM
  3. Game Cách tương tác với Web Game trong C# như thế nào ?
    Gửi bởi MacVuong trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 24-07-2012, 05:46 PM
  4. Trả lời: 0
    Bài viết cuối: 28-02-2012, 09:41 PM
  5. Làm thế nào để các nhân vật trong game có thể di chuyển
    Gửi bởi honey trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 32
    Bài viết cuối: 19-10-2008, 06:32 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn