lostm1nd / HackBulgaria

Projects related to the courses at HackBulgaria
1 stars 0 forks source link

Triangles Feedback #20

Open RadoRado opened 10 years ago

RadoRado commented 10 years ago

Евалата за кода! Много добре е написан. :+1:

Има само 1 bug:

  1. Чертаеш нещо и го save-ваш
  2. Dropdown-a не се обновява веднага - трябва да refresh-на, въпреки че рисунката ми в е local storage-a
  3. Refresh-ваш поради 2ра точка
  4. Чертаеш си нещо ново
  5. Зареждаш предния save
  6. И двете картинки ги има на canvas-a

Тук е добра идея, ако някой иска да зареди нещо върху друга рисунка, най-малкото да го пита дали иска да го направи без да е save-нал, а след това да махне старата картинка и да сложи новата.

Това е :+1:

lostm1nd commented 10 years ago

Опитах нещо като undo да направя като пази последните 5 състояния на канваса, обаче нещо не работи и не може да ме върне. Някакви идеи? От друга страна не знам точно как да процедирам с точките, защото лесно мога да махна последната, но ако имам изчертан триъгълник и искам да се върна една стъпка назад, когато имам само 2 точки няма откъде да им взема координатите.

RadoRado commented 10 years ago

Всички точки ги пазиш в стек.

Когато събереш 3 точки - pop-ваш и чертаеш, създаваш триъгълник и го връщаш обратно в стека.

Когато натиснеш Undo - махаш целият триъгълник от стека и го clear-ваш.

Ако искаш да махнеш само последната точка, трябва да пазиш всяка фигура, която чертаеш, да има стек, в който тя си пази точките в поредност.

И ще имаш следните функции:

compose 3 points -> triangle
decompose triangle -> 3 points

Ако искаш цялостен Undo / Redo, това се прави с Command Pattern - http://en.wikipedia.org/wiki/Command_pattern

Виж това - http://gamedevelopment.tutsplus.com/tutorials/let-your-players-undo-their-in-game-mistakes-with-the-command-pattern--gamedev-1391 - ще ти помогне