تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 5 از 5

نام تاپيک: انجمن بازی نویسان

  1. #1
    پروفشنال vandu's Avatar
    تاريخ عضويت
    Jan 2006
    محل سكونت
    کامبادن
    پست ها
    678

    پيش فرض انجمن بازی نویسان

    سلام به همه برنامه نویسای عزیز!
    از این به بعد در این پست می خوایم بازی هایی که خودمون نوشتیم رو قرار بدیم؛ بازی هایی هر چند ساده و مبتدی (ولی با ارزش) که هر کدوم هم واسه سازنده اش و هم واسه بقیه اعضا، خیلی خیلی محترمه.
    شما دوست عزیزی که می خوای بازی ساخت خودت رو تو این پست قرار بدی، بدون که:
    1) بازی هایی که تو می سازی ممکنه خیلی ساده و یا به نظر خودت حتی خیلی احمقانه باشن، ولی به نظر من هر بازی به هر شکلی که هست یه گوشه ناچیزی از تواناییهای سازنده اش رو نشون می ده و برای من و سایر اعضا خیلی با ارزشه.
    2) اگه می خوای شروع کنی به بازی نویسی حتما لازم نیست یه چیزی مثل GTA بسازی، می تونی از بازی های خیلی ساده ای مثل "گل یا پوچ" شروع کنی. بهر حال بیل گیتس هم یه روزی برنامه نویسی بلد نبود!
    3) می تونی مشکل خودت رو تو ساخت بازی با بقیه اعضا مطرح کنی و مطمئن باش که یه روزی هم بقیه سوالشون رو از تو می پرسن.
    4) اگه می خوای به کسی تو ساخت بازی کمک کنی، لطفا از اون چیزی که می دونی دریغ نکن! حتی اگه شده یه تیکه کد رو براش بنویسی این کار رو انجام بده و مطمئن باش که تو همه چیز رو نمی دونی!
    5) شاید به نظر بعضی ها این اتلاف وقت باشه که یه عده بشینن و شروع کنن به ساخت بازی های مبتدی! ولی خب بهرحال باید از یه جایی شروع کرد. در ضمن برنامه نویسی که فقط نوشتن بانک اطلاعاتی و ... نیست!
    6) اگه بازی ساخت خودت رو تو این پست بذاری مطمئن باش که ضرر نکردی چون:
    الف) فرومی که توش هستی بازدیدکننده های زیادی داره. همینطور که تو اومدی، بقیه هم میان. پس لااقل این خوبی رو داره که بازی ات (اگه قابلیتش رو داشته باشه) خیلی زود معروف شه!
    ب) کسانی هستن که بعد از دیدن بازی ات راجع به اون نظر بدن. این نظرات مطمئنا به دردت می خوره.
    ج) بعد یه مدت اگه سطح پایین تری از اعضای این انجمن داشته باشی یا قیدش رو میزنی، یا اینکه سعی می کنی خودت رو به بقیه برسونی. مسلمه که اگه راه دوم رو انتخاب کنی، بعد از یه مدت عضوی از یک گروه بازی نویسی ماهر میشی!

    نکاتی که تو ساخت بازی بهتره بهش توجه کنی:
    1) لطفا سورس کد بازی رو در این پست قرار نده. اول اون رو Compile کن بعد EXE شدش رو (در نهایت فشردگی) واسه ما بذار (که یه وقت زبونم لال کسی با کارهای تو معروف نشه).
    2) قبل از قرار دادن فایل EXE توجه کن که ویروس (و امثالهم!) بهش نچسبیده باشن.
    3) حتما توی برنامه ات یه نشونی از خودت بذار. مثلا همین Username تو P30WORLD که برای ما هم آشناتره و هم مطمئن تر!
    4) بازی که می نویسی حتما نباید 32 بیتی و تحت ویندوز باشه. می تونی اگه بازی خوبی تو محیط داس مثل Qbasic, Pascal, C++ ,Assembly و... نوشتی، تو پست قرار بدی.
    5) سعی کن حجم کار (این اوایل) خیلی زیاد نباشه (ترجیحا زیر 500 کیلوبایت) و اینکه همراه بازی یه توضیحاتی رو هم راجع به نحوه اجرا و... واسه بقیه تو پست بنویسی.
    6) اگه بازی رو تو زبانی مثل VB نوشتی و از Component ها استفاده کردی (یا مثلا با دات نت نوشتی و FrameWork می خواد) حتما توضیح بده و اگه فایل مورد نیاز حجم کمی داره، اون رو هم ضمیمه فایل EXE کن. اصلا می تونی واسه اش Setup بسازی یا هر کاری که دلت خواست!
    7) سعی نکن با کارهای کس دیگه ای کلاس بذاری! چون خواهی نخواهی بعد یه مدت همه می فهمن.
    8) یه چیزی هست که کارت رو (در نهایت سادگی) خیلی با ارزش می کنه: نوآوری و خلاقیت!

    خب مثل اینکه زیادی حرف زدم!
    به امید همکاری شما...

  2. #2
    در آغاز فعالیت
    تاريخ عضويت
    Jul 2006
    پست ها
    13

    پيش فرض كمك در Game programming

    دوستان من تا كنون بازي هاي زيادي رو نوشتم فعلا در حد توضيح مي تونم بهتون كمك كنم تا چند وقت ديگه همه بازي هامو پك مي كنم و براتون مي ذارم :
    نمونه بازي هايي كه نوشتم :
    j2se :
    شبيه سازي Age of empires
    tetris
    snake
    battle ship
    minesweeper
    بازي چتر بازها
    j2me :
    tetris
    snake
    و ... كه نمونه بعضي از اين ها رو با پاسكال و وي بي هم دارم .

  3. #3
    در آغاز فعالیت
    تاريخ عضويت
    Sep 2006
    پست ها
    11

    پيش فرض

    با سلام من مدت زيادي(در حدود 3 سال) پيگير نوشتن بازي 3 بعدي بوده ام و ِdirectx رو هم زيرو رو كردم يه دمو هم تهيه كردم. ولي كار game با يك تفر و دو نفر نميشه. مشكل اصلي من هم يك طرااح 3 بعدي خوب و يك ايده و داستان هست.
    اگر شد دمو رو هم ميذارم روي سايتم. به نظر من نوشتن بازي ممكن هست ولي گروه خوب نياز داره.
    (چند تا بازي دو بعدي هم دارم كه اگه شد اونا رو هم upload مي كنم )

  4. #4
    اگه نباشه جاش خالی می مونه sm_315's Avatar
    تاريخ عضويت
    Sep 2006
    پست ها
    255

    14 snake.pas

    جون هرکی که دوست داری دستور نوشتن snake توسط پاسکال رو به من بده

  5. #5
    در آغاز فعالیت
    تاريخ عضويت
    Jan 2008
    پست ها
    16

    پيش فرض

    man kheili paye i kar mikonam bazi ba basic minevisam age kesi in hame payas mitoone codo dashte bashe
    albate hamchinam bedone zahmat nabood
    INPUT "NUMBERS"; N
    Screen 9
    Cls
    z = 0.3
    drift = 25
    i = 1

    dt = 0.01
    l = 10
    blocks = 40
    t1 = Timer
    gas = 0.1
    Dim x(N, 510)
    Dim y(N, 510)
    Dim m(100, 100)
    x(1, 0) = 100
    y(1, 0) = 100

    For i = 3 To N
    x(i, 0) = (i - 2) * 50
    y(i, 0) = (i - 2) * 50
    Next

    ASA$(1) = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X"
    ASA$(2) = "X XX X"
    ASA$(3) = "X XX X"
    ASA$(4) = "X XX X X X X X"
    ASA$(5) = "X XX X X X"
    ASA$(6) = "X XX X X X"
    ASA$(7) = "X XX X X X"
    ASA$(8) = "X XX X X XX X X"
    ASA$(9) = "X XX X X X X"
    ASA$(10) = "X XX X X X"
    ASB$(1) = "X X X X X X"
    ASB$(2) = "X X XXXX X X X"
    ASB$(3) = "X X X X X X"
    ASB$(4) = "X XX X X X"
    ASB$(5) = "X X X X X"
    ASB$(6) = "X X X X X X"
    ASB$(7) = "X X XX X X X"
    ASB$(8) = "X X X X X X"
    ASB$(9) = "X XX X X X X"
    ASB$(10) = "X X X X X X"
    Asc$(1) = "X X X X X X"
    Asc$(2) = "X X X X X"
    Asc$(3) = "XX X X X X"
    Asc$(4) = "X X X X X X"
    Asc$(5) = "X X X X X X"
    Asc$(6) = "X XXXXXXX X X X"
    Asc$(7) = "X X X X X"
    Asc$(8) = "X X X X X"
    Asc$(9) = "X X XXXX X X"
    Asc$(10) = "X X X X"
    ASD$(1) = "X X X X"
    ASD$(2) = "X X X X"
    ASD$(3) = "X XXXXXXXX X"
    ASD$(4) = "X X"
    ASD$(5) = "X X"
    ASD$(6) = "X X"
    ASD$(7) = "X X"
    ASD$(8) = "X X"
    ASD$(9) = "X X"
    ASD$(10) = "X X"
    ASE$(1) = "X X"
    ASE$(2) = "X X"
    ASE$(3) = "X X"
    ASE$(4) = "X X"
    ASE$(5) = "X X"
    ASE$(6) = "X X"
    ASE$(7) = "X X"
    ASE$(8) = "X X"
    ASE$(9) = "X X"
    ASE$(10) = "X X"
    ASF$(1) = "X X"
    ASF$(2) = "X X"
    ASF$(3) = "X X"
    ASF$(4) = "X X"
    ASF$(5) = "X X"
    ASF$(6) = "X X"
    ASF$(7) = "X X"
    ASF$(8) = "X X"
    ASF$(9) = "X X"
    ASF$(10) = "X X"
    ASG$(1) = "X X"
    ASG$(2) = "X X"
    ASG$(3) = "X X"
    ASG$(4) = "X X"
    ASG$(5) = "X X"
    ASG$(6) = "X X"
    ASG$(7) = "X X"
    ASG$(8) = "X X"
    ASG$(9) = "X X"
    ASG$(10) = "X X"
    ASH$(1) = "X X"
    ASH$(2) = "X X"
    ASH$(3) = "X X"
    ASH$(4) = "X X"
    ASH$(5) = "X X"
    ASH$(6) = "X X"
    ASH$(7) = "X X"
    ASH$(8) = "X X"
    ASH$(9) = "X X"
    ASH$(10) = "X X"
    ASI$(1) = "X X"
    ASI$(2) = "X X"
    ASI$(3) = "X X"
    ASI$(4) = "X X"
    ASI$(5) = "X X"
    ASI$(6) = "X X"
    ASI$(7) = "X X"
    ASI$(8) = "X X"
    ASI$(9) = "X X"
    ASI$(10) = "X X"
    ASJ$(1) = "X X"
    ASJ$(2) = "X X"
    ASJ$(3) = "X X"
    ASJ$(4) = "X X"
    ASJ$(5) = "X X"
    ASJ$(6) = "X X"
    ASJ$(7) = "X X"
    ASJ$(8) = "X X"
    ASJ$(9) = "X X"
    ASJ$(10) = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X"
    For i = 1 To 100
    For j = 1 To 10
    If Mid$(ASA$(j), i, 1) = "X" Then m(i, j) = 1
    Next
    Next
    For i = 1 To 100
    For j = 1 To 10
    If Mid$(ASB$(j), i, 1) = "X" Then m(i, j + 10) = 1
    Next
    Next
    For i = 1 To 100
    For j = 1 To 10
    If Mid$(Asc$(j), i, 1) = "X" Then m(i, j + 20) = 1
    Next
    Next
    For i = 1 To 100
    For j = 1 To 10
    If Mid$(ASD$(j), i, 1) = "X" Then m(i, j + 30) = 1
    Next
    Next
    For i = 1 To 100
    For j = 1 To 10
    If Mid$(ASE$(j), i, 1) = "X" Then m(i, j + 40) = 1
    Next
    Next
    For i = 1 To 100
    For j = 1 To 10
    If Mid$(ASF$(j), i, 1) = "X" Then m(i, j + 50) = 1
    Next
    Next
    For i = 1 To 100
    For j = 1 To 10
    If Mid$(ASG$(j), i, 1) = "X" Then m(i, j + 60) = 1
    Next
    Next
    For i = 1 To 100
    For j = 1 To 10
    If Mid$(ASH$(j), i, 1) = "X" Then m(i, j + 70) = 1
    Next
    Next
    For i = 1 To 100
    For j = 1 To 10
    If Mid$(ASI$(j), i, 1) = "X" Then m(i, j + 80) = 1
    Next
    Next
    For i = 1 To 100
    For j = 1 To 10
    If Mid$(ASJ$(j), i, 1) = "X" Then m(i, j + 90) = 1
    Next
    Next
    s$ = INPUT$(2)



    1

    direction:

    s$ = ""
    s$ = INKEY$


    If s$ = "4" Then
    alfa(1) = alfa(1) + 0.1

    If vx(1) ^ 2 + vy(2) ^ 2 > drift Then
    x(1, i(1)) = x(1, 0) - l * Sin(alfa(1) + 0.5)
    y(1, i(1)) = y(1, 0) - l * Cos(alfa(1) + 0.5)
    x(1, i(1) + 1) = x(1, 0) - l * Sin(alfa(1) - 0.5)
    y(1, i(1) + 1) = y(1, 0) - l * Cos(alfa(1) - 0.5)
    i(1) = i(1) + 2
    If i(1) > 500 Then i(1) = 1
    End If
    End If

    If s$ = "a" Then
    alfa(2) = alfa(2) + 0.1

    If vx(2) ^ 2 + vy(2) ^ 2 > drift Then
    x(2, i(2)) = x(2, 0) - l * Sin(alfa(2) + 0.5)
    y(2, i(2)) = y(2, 0) - l * Cos(alfa(2) + 0.5)
    x(2, i(2) + 1) = x(2, 0) - l * Sin(alfa(2) - 0.5)
    y(2, i(2) + 1) = y(2, 0) - l * Cos(alfa(2) - 0.5)
    i(2) = i(2) + 2
    If i(2) > 500 Then i(2) = 1
    End If
    End If


    If s$ = "6" Then
    alfa(1) = alfa(1) - 0.1

    If vx(1) ^ 2 + vy(2) ^ 2 > drift Then
    x(1, i(1)) = x(1, 0) - l * Sin(alfa(1) + 0.5)
    y(1, i(1)) = y(1, 0) - l * Cos(alfa(1) + 0.5)
    x(1, i(1) + 1) = x(1, 0) - l * Sin(alfa(1) - 0.5)
    y(1, i(1) + 1) = y(1, 0) - l * Cos(alfa(1) - 0.5)
    i(1) = i(1) + 2
    If i(1) > 500 Then i(1) = 1
    End If
    End If

    If s$ = "d" Then
    alfa(2) = alfa(2) - 0.1

    If vx(2) ^ 2 + vy(2) ^ 2 > drift Then
    x(2, i) = x(2, 0) - l * Sin(alfa(2) + 0.5)
    y(2, i) = y(2, 0) - l * Cos(alfa(2) + 0.5)
    x(2, i + 1) = x(2, 0) - l * Sin(alfa(2) - 0.5)
    y(2, i + 1) = y(2, 0) - l * Cos(alfa(2) - 0.5)
    i(2) = i(2) + 2
    If i(2) > 500 Then i(2) = 1
    End If
    End If



    'ax = 0
    'ay = 0


    If s$ = "8" Then If gas(1) < l / 10 Then gas(1) = gas(1) + 0.1
    If s$ = "w" Then If gas(2) < l / 10 Then gas(2) = gas(2) + 0.1


    If s$ = "2" Then If gas(1) > -0.2 Then gas(1) = gas(1) - 0.1
    If s$ = "s" Then If gas(2) > -0.2 Then gas(2) = gas(2) - 0.1


    shooot:
    If s$ = "5" And (vx(1) <> 0 Or vy(1) <> 0) Then
    shot(1) = 1
    xshot(1) = x(1, 0)
    yshot(1) = y(1, 0)
    vxshot(1) = 1.7 * l * Sin(alfa(1))
    vyshot(1) = 1.7 * l * Cos(alfa(1))
    End If

    t2 = Timer
    If t2 - t1 > dt Then

    moves:

    For i = 1 To N
    ax(i) = Sin(alfa(i)) * gas(i)
    ay(i) = Cos(alfa(i)) * gas(i)

    x(i, 0) = x(i, 0) + vx(i)
    y(i, 0) = y(i, 0) + vy(i)

    vx(i) = vx(i) * 9 / 10
    vy(i) = vy(i) * 9 / 10

    vx(i) = vx(i) + ax(i)
    vy(i) = vy(i) + ay(i)

    If shot(i) = 1 Then
    xshot(i) = xshot(i) + vxshot(i)
    yshot(i) = yshot(i) + vyshot(i)
    End If
    Next



    crash:


    For i = 1 To N
    For j = 1 To N

    If i <> j Then

    'acrossb = SQR((vx(i) ^ 2 + vy(i) ^ 2) * (vx(j) ^ 2 + vy(j) ^ 2) - (vx(i) * vx(j) + vy(i) * vy(j)) ^ 2)

    'IF shot(j) = 1 AND (x(i, 0) - xshot(j)) ^ 2 + (y(i, 0) - yshot(j)) ^ 2 < l ^ 2 THEN PRINT "crash": INPUT a


    If (x(i, 0) - x(j, 0)) ^ 2 + (y(i, 0) - y(j, 0)) ^ 2 < l ^ 2 Then
    vx(i) = vx(i) + z * (x(i, 0) - x(j, 0))
    vx(j) = vx(j) + z * (x(j, 0) - x(i, 0))
    vy(i) = vy(i) + z * (y(i, 0) - y(j, 0))
    vy(j) = vy(j) + z * (y(j, 0) - y(i, 0))

    End If
    End If

    Next

    If m((x(i, 0) + blocks / 2) \ blocks, (y(i, 0) + blocks / 2) \ blocks) = 1 Then vx(i) = vx(i) + 0.02 * (x0 + ((x(i, 0) + blocks / 2) \ blocks) * blocks): vy(i) = vy(i) + 0.02 * (((y(i, 0) + blocks / 2) \ blocks) * blocks)
    Next






    graphic:


    'screen moving
    x0 = 300 - x(1, 0)
    y0 = 150 - y(1, 0)

    Cls
    For i = 1 To N
    For j = 1 To 500 Step 2
    PSet (x0 + x(i, j), y0 + y(i, j)), 4
    If (x(i, j) - xg(i)) ^ 2 + (yg(i) - y(i, j)) ^ 2 < 700 Then Line (x0 + xg(i), y0 + yg(i))-(x0 + x(i, j), y0 + y(i, j)), 4
    xg(i) = x(i, j)
    yg(i) = y(i, j)
    Next
    For j = 2 To 500 Step 2
    PSet (x0 + x(i, j), y0 + y(i, j)), 4
    If (x(i, j) - xg(i)) ^ 2 + (yg(i) - y(i, j)) ^ 2 < 700 Then Line (x0 + xg(i), y0 + yg(i))-(x0 + x(i, j), y0 + y(i, j)), 4
    xg(i) = x(i, j)
    yg(i) = y(i, j)
    Next
    Print x(i, 0), y(i, 0), vxshot(1), vyshot(1)


    If shot(i) = 1 Then
    andaze = Sqr(vxshot(i) ^ 2 + vyshot(i) ^ 2)
    Line (x0 + xshot(i) - (vxshot(i)), y0 + yshot(i) - (vyshot(i)))-(x0 + xshot(i) + (vxshot(i)), y0 + yshot(i) + (vyshot(i))), 5
    End If

    Line (x0 + x(i, 0) - l * Sin(alfa(i) + 0.5), y0 + y(i, 0) - l * Cos(alfa(i) + 0.5))-(x0 + x(i, 0) - l * Sin(alfa(i) - 0.5), y0 + y(i, 0) - l * Cos(alfa(i) - 0.5))
    Line (x0 + x(i, 0) - l * Sin(alfa(i) + 0.5), y0 + y(i, 0) - l * Cos(alfa(i) + 0.5))-(x0 + x(i, 0) + l * Sin(alfa(i) - 0.5), y0 + y(i, 0) + l * Cos(alfa(i) - 0.5))
    Line (x0 + x(i, 0) + l * Sin(alfa(i) - 0.5), y0 + y(i, 0) + l * Cos(alfa(i) - 0.5))-(x0 + x(i, 0) + l * Sin(alfa(i) + 0.5), y0 + y(i, 0) + l * Cos(alfa(i) + 0.5))
    Line (x0 + x(i, 0) - l * Sin(alfa(i) - 0.5), y0 + y(i, 0) - l * Cos(alfa(i) - 0.5))-(x0 + x(i, 0) + l * Sin(alfa(i) + 0.5), y0 + y(i, 0) + l * Cos(alfa(i) + 0.5))
    Next

    Line (x0 + ((x(1, 0) + blocks / 2) \ blocks) * blocks, y0 + ((y(1, 0) + blocks / 2) \ blocks) * blocks)-(x0 + (x(1, 0)), y0 + (y(1, 0)))


    For i = 1 To 100
    For j = 1 To 100
    If m(i, j) = 1 Then Circle (x0 + i * blocks, y0 + j * blocks), blocks / 2, , , , 1

    Next
    Next



    t1 = t2


    End If
    's$ = INPUT$(1)
    GoTo 1




    shayad exe sho ham bezaram

  6. این کاربر از nokhbeh100 بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •