GithubHelp home page GithubHelp logo

acnake's Introduction

A CNAKE

A final project for IM1003 Programming Design at National Taiwan University.

The source codes of the projects are stored in the folder src.

The entire project requires SFML to build this game.

The project is built for learning purpose - mainly C++, SFML, Game Developing, git.

Intro

This game is modified from the traditional snake game.

  • Two players are allowed
  • Multi-points in the map
  • Bombs can be placed to attack others, including yourself
  • Whenever touching a bomb, the length will be cut by 3
  • If you run into obstacles or the length become 0, you lose the game
  • Fair game happened when you run into the other one by head (both of your lengths are equal)

How to Play

Two pre-set snakes are for you and the other person to play:

blue snake yellow-snake

Instructions:

info page1 info page2 info page3

Demo:
start play

Demo video on YouTube here.

To Do

Current Version Game (v1.5):

  • 1. Minor bugs

v2 or later:

  • 1. Settings
    • 1. sound on/off
    • 2. speed
  • 2. place bomb, and your lenth will decrease
  • 3. Single player mode
  • 4. connected through server
  • 5. Even more players
  • 6. Shoot from mouth lol
  • 7. Speed up
  • 8. Larger map

Build

macOS

Pre-requisite:

  • SFML
  • Homebrew

If you don't have the above programs loaded on your mac, make sure to download homebrew first. Type /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" on your terminal prompt.

Download SFML through terminal: Type brew install SFML. (If your user setting doesn't fit the system requirement, i.e. your are not the root user, please follow the instruction on your terminal prompt.)

Download this repository

Go to your project directory by typing cd A-Cnake, then type in make. It will create an extra obj folder to store objects created by the system. You may ignore the folder.

You should be able to run the game by typing ./A\ Cnake. Or, you can follow the instructions shown on your terminal prompt.

Clean

To clean up the project folder, type make clean; such will delete the obj folder, but won't erase the A Cnake executable.

To really remove A Cnake game from your device, type make remove.

Archive

  • 1. win, lose, 平手, play again windows
    • Add player 1 (blue snake) wins
    • Add player 2 (yellow snake) wins
    • Add Fair play
    • Play again button(?)
  • 2. Add sound effects
  • 3. Add pause state (no beautiful UI though, the frame will be paused however.)
  • 4. Instruction window
  • 5. Separate main.cpp into different classes

Contributors

  • Pony
  • Watermelon Man
  • Brian
  • chihong-j
  • Other resources from the Internet (Mostly from SFML-dev.org)

Credits

Background music: ► Music Credit: SUNDANCE Track Name: "Perséphone - Retro Funky (SUNDANCE remix)" Music By: SUNDANCE @ https://soundcloud.com/sundancemusic The SUNDANCE Official Website is HERE - http://lefthandmusic.fr/ Follow SUNDANCE on BandCamp: https://sundancemusic.bandcamp.com/ License for commercial use: Creative Commons Attribution 3.0 Unported (CC BY 3.0) https://creativecommons.org/licenses/... Music promoted by NCM https://goo.gl/fh3rEJ

acnake's People

Contributors

chihong-j avatar

Watchers

 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.