Помогите написать змейку на Fasm'e под MS-DOS

Тема в разделе "WASM.BEGINNERS", создана пользователем xSplashx, 23 мар 2009.

  1. xSplashx

    xSplashx New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2009
    Сообщения:
    22
    Добрый вечер.
    Я решил попробывать написать игрушку змейку под MS-DOS на Fasm'e.Но сразу возникла проблема с чего же начать.Я подумал ,что моя змейка,бегающая по экрану,будет представлять некий массив структур,каждый элемент которого,будет являться её кусочком,представленном в виде:
    Код (Text):
    1. struc part x,y
    2. {
    3. .x DB 0
    4. .y DB 0
    5. }
    где x,y координаты на экране этого кусочка,но к сожелению про работу со струрами в Fasm'e ничего не нашёл,кроме их обьявления.А как соорудить массив из структур или список,вообще не знаю.Очень прошу помочь с этим.Если у кого есть другие более рациональные идеи ,как написать змейку,то прошу тоже озвучить.
     
  2. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    Скачай Borland Pascal и там пиши.
     
  3. notme

    notme New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2009
    Сообщения:
    1
    jaja официально заявляю, что ты м*дак ИБО человек спрашивает про фасм так и надо отвечать про фасм, а не рекомендовать написание на других языках, такого моё мнение
     
  4. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    xSplashx
    Не нужны никакие структуры. Заводишь массив(поле) NxM. В этом массиве скажем пустое место будет - 0, голова змея - 1, тело 2, яблоко - 3. По нажатию клавиш лезишь в массив, делаешь в нём изменения, проверки. Когда приходит время - рисуешь всё это.
     
  5. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    xSplashx, подключи win32a.inc и не мучайся. Массив объявлять что-то вроде:
    Код (Text):
    1. struct part
    2.  x db ?
    3.  y db ?
    4. ends
    5.  
    6. label a
    7. rb sizeof.part * 0x20 ; 32 штуки
    8.  
    9. ; Использование:
    10. mov al,[a+sizeof.part*2+part.y] ; mov al,part[2].y
    11. ; или в si, например, у тебя адрес элемента, тогда так:
    12. mov al,[si+part.x]
     
  6. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.914
    xSplashx
    Среди исходников на WASM.RU есть
    Snake gameby asmgges
    Win32 | FASM | 55.51 kb (так же есть версии на GoAsm, NASM, RosAsm)
    Игра в змейку.(Собирать яблочки и расти) Коментарии на французком вроде. Взято с http://asmgges.chez.com/index.htm SNAKE le jeu du serpent qui grandit en mangeant des fruits posant ainsi le problиme de sa taille dans la surface du jeu, le but йtant de faire le meilleur score avec une longueur de serpent maximale. Un principe de jeu ancien, une programmation actuelle. Avec sons, option musique, sйlection de la vitesse, labyrinthe...
    Le code source est abondamment commentй en franзais.