Giter Club home page Giter Club logo

puzzle-challenge's Introduction

#A Puzzling World

This challenge focuses on using Pygame's mixer to add music and sound effects. The provided code allows the user to select a regional world map, creates a jigsaw puzzle from the image and allows the user to connect pieces to assemble the puzzle.

Github repo: https://github.com/reddit-pygame/puzzle-challenge

Reddit Challenge post: https://www.reddit.com/r/pygame/comments/3s9m2j/challenge_a_puzzling_world/

##How It Works

The puzzle is created by taking subsurfaces from the map image, centering them onto a larger surface and overlaying the correct puzzle piece. The pieces were were similarly created from resources\graphics\puzzle.png. The black portions were done manually in paint.net.

The user can grab or place a piece or section of pieces by left-clicking the mouse. Placing a piece or section next to a neighboring piece or section joins the pieces/sections (when the puzzle is completed there will be a single PuzzleSection object that contains all the puzzle pieces).

##Controls

Left-click Grab/place pieces

F Toggle fullscreen

ESC Exit

###Challenge

Add music: There are two songs in prepare.MUSIC, "sombrero" and "tropical". When one song finishes the next song should start playing.

Add sound: There is a Sound object (prepare.SFX["connect"]) which should be played whenever pieces or sections are joined together.

##Some Links

pygame.mixer.Sound

pygame.mixer.music

itertools.cycle

OpenGameArt

freesound.org

##Achievements

Get Off My Lawn - Allow the user to turn music off

A Poor Beautician - Implement a timer that displays how long the user has been working on the puzzle. The timer should start when the user picks a map and stop when the puzzle is complete.

Sweet Sound of Success - Find a sound effect to play when the user completes the puzzle.

puzzle-challenge's People

Contributors

iminurnamez avatar

Watchers

James Cloos avatar Adrian avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.