Git Product home page Git Product logo

code-crush-saga's Introduction

code-crush-saga

웹에서 간단한 3-match 퍼즐 게임을 구현합니다!

스켈레톤 코드

https://codesandbox.io/s/naughty-lamport-t5xgw?file=/src/index.js

기본 스펙

  1. 구글 크롬에서 동작. index.html파일을 열어서 실행

  2. form을 이용하여, width(6 ~ 10), height(6 ~ 10)의 보드가 초기화된다.

  3. Cube의 색은 6가지로 이루어진다.

  4. 유저가 인접한 두 cube를 선택하면, 두 cube의 위치가 바뀐다.

  5. 바뀐 cube의 위치로 인해 3-match가 이루어지면

  • 3 match된 블록들이 파괴된다.
  • 파괴된 블록 수만큼 점수가 늘어난다.
  • 빈 공간에 새로운 블록이 생성된다.
  1. 3-match가 일어나지 않을 때까지 5가 반복되서 수행된다.

감점 요인

  • 기능 오동작(버그)

  • example...

    • 점수판의 미동작
    • 보드 크기 이하 or 이상으로 생성 가능
    • 함수가 무한루프로 동작
    • 인접하지 않은 블록끼리 스왑이 됨
    • 3-match가 제대로 일어나지 않음
    • 블록이 새로 생성되지 않음
    • 새로 생성된 블럭에서 3-match가 일어나지 않음
  • 변수명이 난잡할 경우

  • 함수의 역할이 너무 방대할 경우

  • 쓸모없는 코드들이 필요 이상 작성된 경우

  • 블록 색 판별이 불가능한 등의 채점을 필요 이상으로 방해하는 UI

  • 파일 형식이 잘못된 경우

추가 스펙 (가점)

  1. 처음 입력을 받을 시 cube의 색을 추가로 받는다(5~8)

  2. 처음 생성된 보드에 3 match가 형성이 되지 않는다.

  3. 4-3 이 수행되기 전에, 파괴된 블록 위에 위치한 블록들이 아래로 위치가 재조정된다.

ETC

본인의 학번이름으로 index.html을 포함한 파일을 zip으로 압축하여 제출(2007-11186.zip)

5월 2일 23:59:59까지 제출이며, 5.5일까지 추가로 받을 예정. 딜레이 하루당 5%씩 감점.

질문은 github 이슈를 통해 받습니다.

code-crush-saga's People

Contributors

realcom avatar

Watchers

James Cloos avatar  avatar

code-crush-saga's Issues

제출 파일 관련 질문입니다

교수님 안녕하세요..! 벤창웹 수강하고 있는 김지수입니다.
제출 파일 형식 관련 질문이 있습니다.

  1. 제출 파일 안에는 html, css, js 파일만 들어가면 되는 거 맞을까요?

  2. 제가 추가 구현 1,2까지 구현하고 제출을 했는데, 혹시 추가 구현시 따로 표기해야 하는 사항이 있을까요? 3은 따로 구현하지 않아서요..! 감사합니다 :)

안녕하세요, 벤창웹 수강 중인 강원석입니다! 여쭤볼게 있어서 issue에 올립니다.

swap 함수에서 handle3match를 호출할 때, handle3match에 setTimeout이 걸려있어서 1초 뒤에 실행이 됩니다.
그런데, 제가 swap 함수에 handle3match를 통해 3match가 일어나는지 판단한 후, 만약 3match가 일어나지 않는다면 다시 원래 상태로 되돌리는 코드를 작성하였는데 실행을 해보니까 swap 함수 안에서는 원 상태로 되돌리는 코드까지 전부 실행을 시킨 후, 1초 뒤에 3match가 일어나는지 확인을 합니다.
즉, handle3match가 실행이 완료가 되는 것을 기다리지 않고, 그 다음 줄을 실행시켜버립니다.(확인은 console.log를 활용하여 콘솔창에 출력되는 시간을 비교하여 확인했습니다.)
제가 의도하는대로 실행을 시키고 싶으면 어떻게 코드를 짜야할지 검색을 해도 감이 잘 안잡혀서 질문을 올립니다.

안녕하세요! 벤창웹을 수강하고 있는 김우영이라고 합니다! 다름이 아니라 몇가지 질문사항이 있어 문의드립니다.

프로젝트를 하다가 몇가지 의문점이 생겼는데 아래와 같습니다!

  1. 보드 사이즈에서 width랑 height가 꼭 같을 필요는 없는지 궁금합니다

  2. 인접하지 않은 큐브 선택했을 때 첫번째 큐브부터 다시 선택되게 해야하는지 아니면 두번 째 큐브만 다시 선택하게 하면 되는지 궁금합니다.+인접한 큐브는 선택한 큐브 기준으로 상하좌우라고 생각하면 될까요?

  3. 4match나 5match도 다 없어지게 하면되는건지 궁금합니다(수업시간에 들었던 것 같은데 혹시몰라서 한번 더 질문드립니다!)

  4. 스켈레톤코드에 올려준 함수들을 꼭 사용해야하는지. 아니면 사용 안하고 구현해도 되는지 궁금합니다 + 필요한 함수들을 만들어서 사용해도 되는지 궁금합니다.

  5. 스켈레톤 코드에 올려준 함수들중에 파라미터를 받지 않고 실행하는 함수들이 있는데 파라미터를 받을 수 있게 수정해도 되는지 궁금합니다.

  6. 추가점수에서 처음입력시 cube의 색을 추가로 받는다에서 "5~8" 이 무슨의미인지 모르겠습니다
    또한 이 경우 그냥 텍스트로 큐브색 받으면 되는 것인가요 아니면 선택할 수 있게 하면 되는 것인가요?

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.