An open API service indexing awesome lists of open source software.

https://github.com/dulev23/memorygame

Project in C# (Desktop Development) for Visual Programming.
https://github.com/dulev23/memorygame

csharp visual-programming visual-studio

Last synced: 2 months ago
JSON representation

Project in C# (Desktop Development) for Visual Programming.

Awesome Lists containing this project

README

        

# Memory Game
## 1. Вовед на апликацијата
Memory Game е класична игра на концентрација и внимание, која е популарна меѓу сите возрасни групи. Оваа игра е идеална за развивање на когнитивните способности, како што се краткорочната меморија, фокусирањето и брзината на размислување. Играта се состои од парови на картички кои се мешаат и поставуваат на маса со лицето надолу. Играчите наизменично вртат по две картички, со цел да пронајдат парови.

### 1.1. Вовед на кодот
Кодот ја дефинира логиката на играта, која вклучува мешање на картичките, следење на бројот на обиди и управување со времето помеѓу обидите за пронаоѓање парови. Кога играчот ќе кликне на картичка, се проверува дали има веќе кликнати картички и се споредуваат симболите на двете картички. Доколку симболите се исти, картичките остануваат отворени; во спротивно, тие повторно се затвораат по кратко време. Играта завршува кога играчот ќе ги пронајде сите парови, при што се прикажува порака за успех и бројот на обиди потребни за постигнување на целта.

## Интерфејс на почетната страна
![HomeWindow](https://github.com/dulev23/MemoryGame/assets/117026211/3bfedc4e-9292-47a8-a4a5-1275ef2bf8f3)

## 2. Објаснување на ниво
### 2.1. EasyMode
Формата 'EasyMode' во играта 'MemoryGame' е дизајнирана за почетници, обезбедувајќи поедноставен начин на игра со помал број на картички, без временско ограничување за вториот клик.

### Интерфејс на EasyMode
![EasyModeWindow](https://github.com/dulev23/MemoryGame/assets/117026211/a88c41ee-3709-424c-9b1c-a129bdea0ba2)

#### Иницијализација и поставување на картички:
Кога се креира формата, картичките се мешаат и случајно се распределуваат во табелата преку методот 'AssignCards()'. Листата 'cards' содржи пет парови на симболи (10 картички), кои се поставуваат на лабелите во табелата 'tlpImages'.

#### Играње и логика на кликнување:
Играчите кликаат на картичките за да ги откријат симболите. Првата кликната картичка се зачувува во променливата 'firstClicked', а втората во 'secondClicked'. Доколку двете картички имаат исти симболи, тие остануваат откриени. Во спротивно, се започнува тајмер ('timer1'), кој по кратко време ги затвора картичките.

#### Следење на обидите:
Бројот на обиди на играчот се следи преку променливата 'attemptsCount', кој се ажурира секогаш кога играчот ќе направи обид да пронајде пар. Овој број е прикажан на лабелата 'lblAttempts', која се ажурира секогаш кога ќе се направи нов обид.

#### Услови за победа:
Методот WinCondition() проверува дали сите картички се откриени. Доколку се, играчот е известен за победата преку порака која го прикажува бројот на направените обиди. Пораката се прикажува во 'MessageBox', по што формата се затвора.

### 2.2. MediumMode
Формата 'MediumMode' ја има скоро истата имплементација како 'EasyMode' но содржи неколку дополнителни карактеристики и функционалности кои ја прават играта поинтерактивна и предизвикувачка.

#### Интерфејс на MediumMode
![MediumModeWindow](https://github.com/dulev23/MemoryGame/assets/117026211/4dbaaea5-36bb-46ad-b59d-3ff6ed3c5745)

#### Број на картички
'MediumMode' користи повеќе картички (16) со различни симболи.

#### Временско ограничување за втор клик
'MediumMode' има временско ограничување од 5 секунди за вториот клик. Ако играчот не го направи вториот клик во даденото време, картичките се затвораат и бројот на обиди се зголемува.

#### Следење на време
Ова ниво содржи логика за следење на преостанатото време и го прикажува на лабелата 'lblTimeLimit'.

### 2.3 HardMode
Формата 'HardMode' ја има истата имплементација како 'MediumMode'. Се разликуваат само во две карактеристики: тајмерот за кликнување на втората картичка е 2 секунди наместо 5, а бројот на картички е 28 наместо 16.

#### Интерфејс на HardMode
![HardModeWindow](https://github.com/dulev23/MemoryGame/assets/117026211/8b1df4e9-ae7a-4455-85f8-8c4dbd4d0493)

## 3. Пример од завршена игра
![CompletedGameExample](https://github.com/dulev23/MemoryGame/assets/117026211/612b75fc-ea2a-4b30-bed6-cb110c406e34)