Giter VIP home page Giter VIP logo

theworldshardestgame's Introduction

The world's hardest game

1.Опис на проблемот

Се работи за интересна и едноставна игра чија цел е играчот движејќи го црвеното квадратче да стигне од обележаната почетна до обележаната крајна позиција, притоа избегнувајќи ги топчињата поставени какo препреки. За движење на квадратчето се користат копчињата W за придвижување нагоре, S за надолу, A за лево и D за десно. Главниот проблем на играчот е тоа што при судир на квадратчето со некое од топчињата, го враќа квадратчето на почетната позиција. Играчот не е временски ограничен и цели кон завршување на трите левели со што помал број на судири со топчињата (deaths). Идејата за апликацијата ја добивме од веќе постоечката истоимена игра линк, но имплентацијата ја започнавме од нула и е целосно наша.

2.Решение на проблемот

Решението се состои од 3 класи и 4 форми. Податоците за секое топче се чуваат во класата Ball. Таа содржи:

  • Координати X и Y за позицијата на топчето
  • Променлива Radius за радиусот на топчето
  • Променлива Velocity која ја чува брзината на топчето
  • Променлива Angle за аголот на движење на топчето
  • Објект Bounds од класата Rectangle кој се да ги одреди границите на движење на топчето
  • Две променливи velocityX и velocityY во кои се чува придвижувањето на топчето врз основа на аголот

Класа Square која ги чува информациите за квадратчето и содржи:

  • Координати X и Y кои ни ја чуваат позицијата на квадратчето
  • Енумерација direction за насоката на движење
  • Статични променливи SIDE и VELOCITY за страната и брзината на придвижување на квадратчето соодветно
  • Инстанца од класата Level
  • Променлива Deaths за број на судири на квадратчето со топчињата
  • Променлива BrojLevel која содржи информација за бројот на тековниот левел.
  • Инстанца од класата Timer
  • Два помошни знаменца (flags)

Класата Level содржи:

  • Три објекти од класата Rectangle (Golem1, Start1, End1) кои ни ги означуваат областите на движење на квадратчето
  • Инстанци од класата Ball кои ги означуваат топчињата низ левелите
  • Статична промелива SIZEBALL за големината на топчињата
  • Три статични променливи (VELOCITYLEVEL1, VELOCITYLEVEL2, VELOCITYLEVEL3) кои ни ги чуваат брзините на движење на топчињата за секој левел посебно
  • Три статични променливи (ANGLE45, ANGLE90, ANGLE180) кои чуваат агол на движење на топчињата
  • Променлива BrojLevel која го чува бројот на тековниот левел

Форма StartForm:
          Се појавува при вклучување на апликацијата и содржи мени составено од PictureBox контроли чии Click events не носат на почеток на играта(левел 1), објаснување на правилата или исклучување на апликацијата.

Форма HowToPlay:
         Дава опис на правилата и нуди можност за старт на играта или враќање на почетното мени.

Форма Form1:
         Главната форма служи за исцртување на левелите(настанот Paint) и содржи настани како Кеy_Press и Key_Down кои го контролираат движењето на квадратчето.

3.Опис на класи

Како пример ги земаме двете класи Ball и Level за кои има пишувано коментари за објаснување на променливите и методите.

4.Screenshots од апликацијата

Почетен екран
Почетен екран
How to play форма
How to play picture
Screenshot од првиот левел
Level1
Screenshot од вториот левел
Level2
Screenshot од третиот левел
Level3
Форма за крај на играта
EndForm

theworldshardestgame's People

Contributors

ilijev07 avatar vtaseski avatar antoniot13 avatar

Watchers

 avatar  avatar  avatar

Forkers

antoniot13

theworldshardestgame's Issues

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.