LINUX.ORG.RU

Scheme Game


0

1

Доброго время суток. Изучаю Scheme, возник вопрос - есть ли для него аналог pygame? Сейчас на последнем пишу игру (Top-Down RPG про зомби), есть желание в целях углубления в Scheme перенести проект на него.

З.Ы.: Цпп+что-то не предлагать. По работе нужен python, ruby и PHP, С++ мне никуда не уперся. Си знаю, но не хочу возиться с ним. Цель написания игры - именно получение знаний, повышение общего скилла, ну и «джаст фо фан».

З.Ы.Ы: быть может подобные библиотеки есть для Haskell? Если да - то какие, в чем их преимущества перед аналогами «схемы»?

Для хаскеля — http://hackage.haskell.org/package/SDL. Сам я хаскель не люблю, поэтому не советую :)

Для схемы в общем случае решения нет. Вы какую реализацию используете? Разной сырости биндинги SDL есть для Chicken, Guile, Ikarus. Для Gambit было даже что-то объектно-ориентированное. Можете взглянуть сюда: https://github.com/sthilaid/space-invaders и сюда: http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Dumping_Grounds

В целом для схемы обычно проще написать биндинги самому, если есть хоть начальное знание SDL.

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

Можно подробнее о том, что такое Kawa, в чем его преимущество перед Scheme, использую сам Racket (есть ли кстати для него какие-то биндинги? знание SDL на уровне использования pygame/rubygame, т.е. низкое). Если использовать Clojure - нельзя ли добиться нужного результата?

i_overdose
() автор топика
Ответ на: комментарий от i_overdose

Я с Racket мало имел дело, но насколько знаю, сколько-нибудь приемлемых SDL-биндингов для него нет.

В Clojure смысла не вижу, потому что это другой диалект Лиспа, а Kawa — это реализация именно Схемы на JVM. http://www.gnu.org/software/kawa/

buddhist ★★★★★
()
Ответ на: комментарий от i_overdose

Да не за что :) Я, например, на досуге пытаюсь пилить на Схеме рогалик и вяло пишу биндинги к ncurses.

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

>Чуть не забыл про свой аватар. Можете взять Kawa и вызывать из нее любые java-методы.

я раньше про kawa ничего не слышал, можете сказать, по производительности kawa сильно уступает джаве?

anonymous
()
Ответ на: комментарий от anonymous

Ну, в общем, вы уже сами ответили :) Да, ситуация примерно такая, как там и показано.

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

Чуть не забыл про свой аватар. Можете взять Kawa…

Блин, вот оно как. А я все думал, че это за лямбда-каша.

power
()
Ответ на: комментарий от buddhist

В любом случае я не вижу в этом ни капли красоты. А я очень ценю красоту синтаксиса ) OCamL/F#/Haskell/Python красивые ) А сколько не смотрю на эти скобки, кроме головной боли ничего не получаю.

nCdy
()
Ответ на: комментарий от nCdy

F# не очень то красивый. Это начинаешь понимать, когда приходится делать постоянные typecast, чтобы ублажить его систему типов.

Norgat ★★★★★
()
Ответ на: комментарий от nCdy

Нет. Это проявление убогости компилятора F#, который (надеюсь что пока что) сделан хуже, чем сишарповский.

Это хорошо видно в косяках вывода типов в операторах |>, <|, при работе с числами (где тайпкаст очевиден, но его приходится делать руками) или при работе с Linq to XML, где так же приходится ручками прописывать конструкторы.

Norgat ★★★★★
()
Ответ на: комментарий от nCdy

> AAAAA ! Оно страшнее PERL-а ... на вкус и цвет конечно, но https://github.com/sthilaid/space-invaders/blob/master/match.scm - Это же ужас ) Разбросанные скобки и слова. Как вы с этим работаете ?

Там табы и пробелы вперемешку, при то что у автора этого поделия ширина табов в редакторе 2 пробела. Поэтому и выглядит жутко. Что бы насладиться красотой кода, который невозможно достичь ни в одном другом языке кроме лиспа, добавь в каком-нибудь фаербаге или стайлише следующий стиль -moz-tab-size: 2.

nozh
()
Ответ на: комментарий от nCdy

> Это же ужас ) Разбросанные скобки и слова. Как вы с этим работаете ?

Говнокод можно писать на любом языке. Сюрприз!

anonymous
()
Ответ на: комментарий от nozh

Вот оно что. Но всё равно мне плохо от тучи закрывающихся скобок.

nCdy
()
Ответ на: комментарий от nCdy

Дело субъективное. Мне вот Haskell кажется клинописью :)

buddhist ★★★★★
()
Ответ на: комментарий от nozh

> Там табы и пробелы вперемешку

Да ты хоть сто раз отформатируй, говнокодом эта мешанина кдаров кадаров не перестанет быть.

anonymous
()
Ответ на: комментарий от nCdy

> OCamL/F#/Haskell/Python красивые )

Это пистон то красивый? Более убогого синтаксиса еще поискать. А у лиспа нет синтаксиса, поэтому он и выглядит лучше всех.

anonymous
()
Ответ на: комментарий от anonymous

> Это пистон то красивый? Более убогого синтаксиса еще поискать.

А конкретнее ?..

nCdy
()
Ответ на: комментарий от power

Угу, видел игрушки на ракете, подумал как раз таки что он на SDL, либа на которой они написаны сильно уступает во возможностям SDL'у?

i_overdose
() автор топика
Ответ на: комментарий от anonymous

А чем собственно синтаксис Python хуже того же паскаля, оберона, ейльфиля, бэсика и подобных?

i_overdose
() автор топика
Ответ на: комментарий от i_overdose

> Я как понимаю CL сильно от схемы отличается?

Общая у них только кличка - «лисп». CL более ориентирован на решение realworld задач.

anonymous
()
Ответ на: комментарий от grouzen

А не подскажите учебник по CL на вроде «Teach Yourself Scheme in Fixnum day»? Просто хотелось бы книгу найти в которой лаконично изложено все необходимое, чтобы можно было сразу начинать писать. Может быть есть книга по CL+SDL?

i_overdose
() автор топика
Ответ на: комментарий от i_overdose

Такич книг я не знаю, а уже тем более по CL + SDL.

grouzen ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.