= Имплементација на кориснички сценарија == Корисник ||= ID =||= Use case =|| || u1 || Регистрација на корисник || || u2 || Најава на корисник || || u3 || Преглед на статистика || || u4 || Играње на Влекџек || || u5 || Играње на Рулет || || u6 || Играње на Покер || == Систем ||= ID =||= Функционалности =|| || s1 || Проверка на регистрација || || s2 || Проверка на најава || || s3 || Ажурирање на статистика || || s4 || Започнување на игра || || s5 || Проверка за добивка/изгуба || = Приказ на целосна имплементација на играта Рулет == При пристигнување на /games/roulette При пристигнување на /games/roulette, најпрво од клиентската страна кај играчот се испраќа GET request, во кој се дава сесиското ID на играчот. Еве ја функцијата што го прави тоа. При враќање на резултат со статус успешно, на корисникот му се дозволува влез во играта рулет. Ако статусот е неуспешно, се замолува играчот да се најави пред да започне со играње. [[Image(R1.png)]] Еве ја функцијата на серверската страна во /api/roulette, што препраќа нов GET request до /api/postgre, каде се чуваат сесиите и каде се контактира со базата на податоци. [[Image(R2.png)]] Еве ја функцијата на серверската страна во /api/postgre. [[Image(R3.png)]] Ако целиот овој процес е успешен, корисникот го гледа следниот екран, и може да започне со играње. [[Image(RulletStart.jpg)]] == Ажурирање на состојбата на играта За ажурирање на оно што корисникот го гледа на клиентската страна, тој на интервали од 1 секунда испраќа GET request до /api/roulette, при што му се враќаат обработените податоци што треба да се прикажат на неговиот екран. Ако тој континуирано не добива одговори, му се прикажува информација дека серверот е недостапен. [[Image(R4.png)]] [[Image(R5.png)]] Во следната функција е прикажано како овој повик се обработува на серверот. Функцијата update_state единствено му враќа на корисникот што треба да се прикаже според моменталната состојба на играта (каде ова се чува ќе видите во следната секција). [[Image(R6.png)]] Еве како на интервал од 1 секунда на серверската страна се ажурира состојбата на играта. [[Image(R7.png)]] Еве и како изгледа една пример состојба на играта. [[Image(R8.png)]] == Поставување залог Еве го екранот што корисникот го гледа за да избере колкав залог да постави и на што да се обложи. [[Image(RulletPlaying2.jpg)]] Кога корисникот ќе избере колкав залог сака да постави, и на што да се обложи, праќа барање за обработка на овие податоци на серверот, прикажано на сликата подолу. [[Image(RR1.png)]] Како ова барање се обработува на серверот е прикажано на следната слика. Да напоменеме дека од овде се испраќа и барање до /api/postgre, каде се контактира со базата на податоци и се враќа информација дали играчот има доволно кредити за да го постави овој залог. [[Image(RR2.png)]] Ако се е во ред, играчот го гледа овој екран на кој има информации за тоа на што се обложил и на колкава сума се обложил. [[Image(RulletPlaying1.jpg)]] == Крај на играта и прогласување победници Вака на серверот се прогласуваат победниците. За секој што освоил кредити, се прави request до /api/postgre, каде им се доделуваат освоените кредити. [[Image(RR3.png)]] Потоа, корисникот може да види дали победил или не. Ги согледува информациите, и по одредено време, играта се ресетира и се започнува со нова рунда. [[Image(RulletPlaying3.jpg)]] [[Image(RelletEnd.jpg)]]