Найти - Пользователи
Полная версия: Сравните программу на Python и Java.
Начало » Python для новичков » Сравните программу на Python и Java.
1 2 3 4 5
panama555
Привет!
Пол года назад я написал игровую программу на Python (копия игры “Lines”).
Я выкладывал её здесь на форуме для получения советов и тестирования.
В феврале я решил сравнить языки программирования: Python и какой-нибудь компилируемый современный язык. Выбрал Java. Пришлось почитать книжки для ознакомления с этим языком.
В результате я написал такую же программу “Lines” на Java.
Выкладываю обе программы (Python и Java) для того, чтобы вы попробовали, сравнили и высказали своё мнение.
1) чувствуется ли отличие из-за разных языков или нет?
2) где меньше возни с установкой?
3) обнаружены ли какие-нибудь ошибки?
4) просто советы
Спасибо
panama555
Это версия для Python
panama555
Это версия для Java 1.8
Striver
Питоновская версия у меня запустилась (я аж удивился, оказывается у меня pygame уже присутствовал). Вроде, играть получается, но долго не пытался играть (меня в этих Lines всегда быстро убивали).

Вот что выдало при попытке запуска java-версии:
 >java -jar Lines1.jar
Exception in thread "main" java.awt.HeadlessException
	at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
	at java.awt.Window.<init>(Window.java:536)
	at java.awt.Frame.<init>(Frame.java:420)
	at java.awt.Frame.<init>(Frame.java:385)
	at javax.swing.JFrame.<init>(JFrame.java:189)
	at com.pumaex.GameField.<init>(GameField.java:54)
	at com.pumaex.LinesLauncher.main(LinesLauncher.java:5)
так что тут требуется пояснить, как нужно правильно запускать.

вот что у меня выдаёт на запрос версии явы, если это важно:
 >java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

panama555
Привет!
Версия подходящая.
Объясняю как нужно запускать:
1)раскрыть архив
2)jar-файл и dat-файл скопировать в одну любую папку.
3)выполнить jar-файл (двойной клик)
Если вы всё сделали так и у вас не запускается, то нужно разбираться.
Striver
Конечно, в в теме “Python для новичков” обсуждать явапроблемы как-то нехорошо, ну да пусть…

Заяндексил ошибку, которая у меня вылазит, выяснилось, что в OpenJDK нужной библиотеки просто нету.
Запустил через Java SE.
Играть получается, но выглядит так, как будто все надписи-шрифты внизу разъехались, в питоновской версии всё аккуратнее смотрится. Если что, у меня Fedora Linux.
panama555
Первое, что бросилось в глаза:
видимо у вас не установлен шрифт “Arial Narrow” и поэтому цифры не вмещаются.
Первый раз пишу такую программу - не ожидал, что шрифты нужно устанавливать вместе с программой.
Сделаю и исправлю.
Второе:
оказалось, что в linux другая толщина рамки окна. Из-за этого картинка заднего фона справа и внизу не влезает в окно. Вот как с этим бороться я пока что не знаю. Нужно будет разбираться.
panama555
Striver
Если что, у меня Fedora Linux.

Просьба. Запустите на Linux вот эту версию. В ней вы можете использовать стрелки ВПРАВО и ВНИЗ для расширения окна. Посчитайте на сколько пикселей нужно сдвинуть границу вправо и на сколько вниз - пока не появится белый фон. Я не могу это сделать - линукса нет!
AD0DE412
Striver
, выяснилось, что в OpenJDK нужной библиотеки просто нету
если стоят разные версии java вы можете выбрать версию по умолчанию в системе
командой (ну на ubuntu по крайней мере и да из под root -а конечшна)
 update-alternatives --config java
Striver
Просьба. Запустите на Linux вот эту версию. В ней вы можете использовать стрелки ВПРАВО и ВНИЗ для расширения окна.
Запустил. Полной уверенности нет, но кажется так:

- Вправо: нужно добавить 4, с пятого появляется белое
- Вниз: нужно добавить 5, с шестого появляется белое

Бардак со шрифтами никуда не делся.

Что такое большой ноль внизу? Если это “выстрелы”, то это совсем неочевидно, да и мне это число кажется менее важным, чем собственно набранное количество в этой игре очков. Хотя я это уже не свою епархию лезу…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB