Na ekranie wyświetlane są cztery zdjęcia i tajemnicze podpowiedzi. Zdjęcia są powiększonymi fragmentami naszej szkoły, np. ułamek kredy na tablicy, wycinek płytki w ubikacji, część dywanu w gabinecie dyrektora, itp. Będziesz musiał szybko wybrać to właściwe. Wyniki indywidualne i klasowe są zapisywane, a statystyki prezentowane na szkolnym telebimie. HTML, CSS, JS, PHP,… 500 zdjęć, 2000 wierszy kodu, 60000 znaków.
30 letnie doświadczenie w tworzeniu programów komputerowych, ale zupełny brak praktyki w PHP, to mieszanka wybuchowa, która zmusiła mnie do wielogodzinnego szukania za pomocą „googla” nawet najprostszych rozwiązań. Wymiana danych poprzez pliki tekstowe, a nie - jak by to wypadało – w oparciu o system bazodanowy. Jeśli jeszcze raz zabiorę się za aplikację, to powstanie wersja na smartfona.
Fragment programu odpowiedzialny za: wczytanie poprzednich wyników, zapisanie wylosowanych fotek, sprawdzanie odliczania czasu, sprawdzanie współrzednych klikniętego obrazka i zapisywanie wyników...
//odejmować po 10 sekundach czy nie liczyć $odejmowac = false; //wczytanie wyników do tablicy //WYNIKI.TXT ilosc odświeżen ; ilosc klikniec ; ilosc poprawnych $fil = fopen('wyniki.txt', 'r'); $linia=fread($fil,1024); $wyniki=explode(';',$linia); fclose($fil); //zapisane poprzednio losowanie odczytujemy $losy1 = file('losy.txt'); $losy2 '; $wyniki[0]=$wyniki[0]+1; //a może jednak zlicza wszystko nawet niekliknięte po 10 sekundach i na minus if ($odejmowac == true) {$wyniki[1] = $wyniki[1] + 1;} //tak można sprawdzać który jest kliknięty for ($pp = 1; $pp <= 4; $pp++) { $x = 'xx'.$pp.'_x'; $y = 'xx'.$pp.'_y'; //gdy kliknięto w obrazek if (isset($_POST[$x])) { //zwiększamy tylko licznik klikniętych //gdy samo się odświeży po 10 sekundach - nie liczymy if ($odejmowac == false) {$wyniki[1] = $wyniki[1] + 1;} //gdy poprawny wynik zwiekszamy licznik poprawnych if ($losy1[$pp] == $losy1[0]){ $wyniki[2] = $wyniki[2] + 1;} //wyzerować to co było zapełnione $_POST=array(); //też nie działa } } //zapisanie wyników do tablicy $fil = fopen('wyniki.txt', 'w'); $linia=implode(';',$wyniki); fwrite($fil,$linia); fclose($fil); $_POST=array();//nie zeruje POST i cały czas pamięta poprzedni wynik!!
I cały kod dla zainteresowanych
Wacław Libront