Чтобы проверить, существует ли каталог в скрипте оболочки, вы можете использовать следующее:
if [ -d "$DIRECTORY" ]; then
# Control will enter here if $DIRECTORY exists.
fi
Или проверить, существует ли каталог:
if [ ! -d "$DIRECTORY" ]; then
# Control will enter here if $DIRECTORY doesn't exist.
fi
Однако, как указывает Jon Ericson , последующие команды могут не работать должным образом, если вы не принимаете во внимание, что символическая ссылка на каталог также пройдет эту проверку. Например. запускать это:
ln -s "$ACTUAL_DIR" "$SYMLINK"
if [ -d "$SYMLINK" ]; then
rmdir "$SYMLINK"
fi
Вызвать сообщение об ошибке:
rmdir: failed to remove `symlink': Not a directory
Таким образом, возможно, что символьные ссылки обрабатываются по-разному, если последующие команды ожидают каталоги:
if [ -d "$LINK_OR_DIR" ]; then
if [ -L "$LINK_OR_DIR" ]; then
# It is a symlink!
# Symbolic link specific commands go here.
rm "$LINK_OR_DIR"
else
# It's a directory!
# Directory command goes here.
rmdir "$LINK_OR_DIR"
fi
fi
Особо обратите внимание на двойные кавычки, используемые для обертывания переменных, причина этого объясняется 8jean в другом ответе .
Если переменные содержат пробелы или другие необычные символы, вероятно, это приведет к сбою сценария.
(источник: freecol.org )
FreeCol - на основе Sid Meier Колонизация .
Это непосредственно не отвечает на Ваш вопрос, но если Вы когда-нибудь решаете, что хотите попытаться писать игру в JavaFX, сайт JavaFX имеет набор примера кода , включая несколько игр (с текущей записи).
Интересно, был ли http://sourceforge.net/projects/creepsmash/ хорошим выбором. Это было создано командой студентов информатики для моделирования "реального" проекта коммерческого стиля. Таким образом они использовали вещи как управление версиями, инструменты сборки и поблочное тестирование. Вероятно, лучший проект изучить с того времени большинство, так как это было его целью. Все же игра довольно интересна, и много людей играет ее для забавы. Не уверенный, сколько из его документации находится на английском языке, все же.
Помогло бы, указали ли Вы, какую игру Вы хотите создать - игровой тип и хотите ли Вы пойти 2-е или 3-и.
, Но отвечать на Ваш вопрос: взгляните на Легкую Библиотеку Java игры ( http://lwjgl.org/ ) существует список проектов на их веб-сайте, которого некоторые - открытый исходный код.
Вы могли сделать хуже, чем использование Крылатый дракон как пример . Существует добавленная премия, которую Вы запускаете с чего-то, что прибывает в основном из ума Steve Yegge .
Вы могли посмотреть Jake 2, который является переопределением механизма Quake 2 в Java. Это могло быть хорошей начальной точкой для 3D игры.