Giter Site home page Giter Site logo

coms4444-lunch's Introduction

Project 4: Lunch

Course: COMS 4444 Programming and Problem Solving (F2019)
Uni: Columbia University
Instructor: Prof. Kenneth Ross
TAs: Vaibhav Darbari, Chengyu Lin

Steps to run the simulator:

  1. make compile
  2. Update the make file with participating groups.
  3. make run OR `make gui

`Simulator Arguments

-m or --num_monkeys : number of monkeys.

-g or --num_geese: number of geese.

-f : number of family members.

-p or --players : space separated players.

-t or --simulation_time: time for which the simulation runs.

-s or --seed: seed value for random.

-l or --log : enable logging

-v or --verbose : whether a verbose log should be recorded for the games when logging is enabled.

--gui: enable gui

--fps : fps

Description of Important Classes

1) Player: class to be implemented by your player.

Important methods in player class:

init: return a string which represents family to be displayed(for default return empty string). The avatar PNGs should be added to the statics folder and should be named accprding to convention: avatar_1.png, avatar_2.png, etc.
getCommand: return the command to ne executed for this round.

2) Family: Contains properties of other family members.

Important methods in Family class:

get_held_item_type: get the type of food held by the family member.
get_location: get the location of family member.

3) Animal: Contains properties of Animals.

Important methods in Animal class:

get_location: get the location of animal.
which_animal: get the type of animal.
get_max_speed: get the max speed of the animal.
busy_eating: check if animal is busy eating something.

4) PlayerState: Contains player's properties.

Important methods in PlayerState class:

time_to_eat_remaining: time remaining for item in hand to be fully consumed.
is_player_searching: check if player is busy looking inside the bag.
time_to_finish_search: get the time remaining in finishing search inside the bag.
get_time_for_item: get the time remaining for item specified to be fully consumed.
check_availability_item: check if the specified item is available for consumption.

5) Command: Specified command structure

Important methods in Command class:

createMoveCommand: create a MOVE_TO command by specifying a location within bounds.
createRetrieveCommand: create a TAKE_OUT command by specifying the type of food to be taken out.

6) CommandType: Specifies the types of command

7) FoodType: Specifies the types of food items.

This project belongs to Columbia University. It may be freely used for educational purposes.

coms4444-lunch's People

Contributors

vaiv avatar adamsvystun avatar patlkwok avatar kanishkvashisht avatar juand17 avatar adilovesgh avatar jaebahk avatar john-daciuk avatar barryzhan2017 avatar guanguangua avatar hlehv avatar nickbethune avatar ni-chang avatar yalinshi avatar shrestha-pranav avatar shirish57 avatar

Watchers

James Cloos 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.