Skip to main content

A dinosaur game made with pygame

Project description

You are a dinosaur, and you have to dodge the meteors by moving the mouse. If a meteor hits you, you lose a life. Hopefully, you always can eat a ham to recover some lives.

I made this game to learn how to use pygame in my 2nd year of my studies. I recently updated it to support Python 3, and to polish a bit the project (mainly translating the comments and code into English).

I also left the original one in first_version folder just for the old times :D

I recently uploaded the application to https://pypi.org/ to learn how to publish Python packages.

Installation

This app is uploaded in https://pypi.org/. To install and run it, you just need to (you may want to run it on a virtualenv):

pip install dinosaur-pygame
dinosaur_pygame  # The game is installed as a script, just needs to run that command for the game to start.

Local Development

You may need to install some prerequisites to make pygame work. Once they are installed, to install the project:

make install
# `make clean` can be run to reset the project to a clean state

To run the application:

make run

To install the package and check if it works before publishing the new version into https://pypi.org/:

make install_package  # This will run the game as a console script after the package has been built.
dinosaur_pygame  # manually checks if it runs properly in the console. Run this with your venv activated.

Good starting documentation for pypi packages: https://packaging.python.org/tutorials/packaging-projects/ and https://python-packaging.readthedocs.io/en/latest/command-line-scripts.html#the-console-scripts-entry-point.

To publish the new package in test pypi

This will upload the package to test pypi. This is a good way of testing if the package will work before publishing it into the real pypi.

make upload_package_to_test_pypi  # it requires the test token
python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps dinosaur-pygame=={VERSION}
dinosaur_pygame  # Run the app

To publish the new package in pypi

Once every change have been thoroughly tested, we can upload the new version into the real https://pypi.org/.

A new version will be needed (setup.py), as existing versions in pypi cannot be modified.

make upload_package_to_pypi  # it requires the token
pip install dinosaur-pygame  # a version can be specified by dinosaur-pygame=={VERSION}
dinosaur_pygame  # runs the app

Art

For the new version, I got the images from https://opengameart.org/:

Author: Alberto Morales

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dinosaur-pygame-0.0.7.tar.gz (108.5 kB view details)

Uploaded Source

Built Distribution

dinosaur_pygame-0.0.7-py3-none-any.whl (112.3 kB view details)

Uploaded Python 3

File details

Details for the file dinosaur-pygame-0.0.7.tar.gz.

File metadata

  • Download URL: dinosaur-pygame-0.0.7.tar.gz
  • Upload date:
  • Size: 108.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.3

File hashes

Hashes for dinosaur-pygame-0.0.7.tar.gz
Algorithm Hash digest
SHA256 8a3dd6b8fe6cfdc000adfede2cc665c9fa247ddbfee33af07218ef6d1c124739
MD5 ec2a1e0bed4fab744f74d3f4f9b12617
BLAKE2b-256 512f20b96ddf17cbaba1d2e4dd898a56f2d58679ee6401107e02cfa18aa5e65e

See more details on using hashes here.

File details

Details for the file dinosaur_pygame-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: dinosaur_pygame-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 112.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.3

File hashes

Hashes for dinosaur_pygame-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b7c74be3fa7709eaf56392fe301ac3c910d241e44d37abee9b8d7f86626efc5f
MD5 0e2acb72ac7c2754d441735284981a8d
BLAKE2b-256 92742451ef10bd597b84d02415572a8b8c26ffe7f9187466330628b6e5f91099

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page