Skocz do zawartości

Saper...


Subaru

Rekomendowane odpowiedzi

Sapera tak ale ten drugi program co używa swojego pliku nie bierze tego, tak napisałem z małej litery i też nie zjadł =/

ogólna struktura tego drugiego programu wygląda tak

#include <PA9.h>

int main()
{
    ...
    while(1)
    {
         ...
    }

}

While(1) jest po to by podtrzymywać program by się nie zakończył (od zakańczania jest jakaś dziwna linijeczka odwołania do procesora o wyłączenie)

Odnośnik do komentarza
Udostępnij na innych stronach

While(1) jest po to by podtrzymywać program by się nie zakończył (od zakańczania jest jakaś dziwna linijeczka odwołania do procesora o wyłączenie)
Do czego jest tutaj użyte while to nietrudno się domyślić, ale dlaczego nie zainkludowałeś iostream? Przecież to się nie zrobi samo z siebie ;) Chyba że jest w PA9.h

 

Odnośnik do komentarza
Udostępnij na innych stronach

int main()
{
     ...
    int a = 1;
     while(a)
     {
          if(warunek spełniony)
                    a = 0;
          else {}
     }
}

bez żadnego odnoszenia się do procesora o wyłączenie :)

Odnośnik do komentarza
Udostępnij na innych stronach

FC4B - szczerze nie próbowałem takiej metody ale nie wiem czy by poszła, konkretniej ta strkutura jest na konsolę i myślę, że raczej spowoduje zwiechę niżeli wyłączenie, aczkolwiek można przy czymś takim umieścić polecenie wyłączenia po za główną while i wtedy ma to sens :D

WalDo - nie dam głowy, ale jak wpisuję samo sleep to konsola mówi mmm...jak to szło...

main.c:18: warning: implicit declaration of function 'sleep'
main.c:18: undefined reference to `sleep'
collect2: ld returned 1 exit status

Man jako takiego do tego nie ma, bowiem to się wypakowuje i potem tylko w jakiś plik ukryty w katalogu domowym wpisuje 3 linijki odwołujące się do tego by polecenia make działały na podstawie plików makefile będących w katalogu projektu (taki plik de facto maly nie jest ale też nie jakiś specjalnie długi)

Znalazłem tylko do tego PA9 póki co tylko WaitFor ale to chyba nie zaskoczy przy naliczaniu bowiem while(1) jest wykonywane 60 razy na sekunde więc licznik +1 by dodawał +60 w ciągu sekundy tak naprawdę

Zapytam może na forach związanych z tym może coś będą wiedzieć i podzielę się informacjami :)

Co do sapera, wymyśliłem takie coś:

Uczyliśmy się niedawno o tablicach (które poniekąd znałem ale nie stosowałem raczej) i było o tablicach wielowymiarowych i wpadło mi do głowy, że są używane by coś określać np w położeniu XY, może takie właśnie tablice mogłyby być użyte do określania pól pola minowego??? byłoby tych pól tylko 5x5 póki co więc nawet pamięci zbytnio się nie obciąży

 

O znalazłem takie coś

void Timer(void){
if(PA_RTC.Seconds > 58)//ends at 59
{
timer++;
}
if(timer > 3){//about 3 mins
//code to execute
}
}

Wygląda na to, że teoretycznie do jednej minuty można spokojnie zejść ^_^ ciekawe czy dałoby się niżej...

RTC to Reat Time Clock gdyby coś, taki normalny zegarek w tej konsoli (czego brak jej poprzednikowi a bardzo mi było potrzebne >_<)

 

EDIT #zzz

Tak chyba mnie pogięło, żeby całą noc to robić...

No ale znalazłem rozwiązanie zzz

if (warunek)
PA_VBLCounterStart(counter);

if (PA_VBLCounter[a]>120)
PA_OutputText(1, 2, 17, "Nalewanie wody");

Warunkiem może być np. wciśnięcie klawisza odpowiedzialnego za dany napój

Wtedy licznik zaczyna zasuwać jak opętany (i o to chodzi) bowiem wyciska 60 dodań w ciągu sekundy więc reszta to czysta matematyka

dalej mamy warunek sprawdzający czy owy licznik (bo to on tak naprawdę się zwiększa) jest większy od 120 czyli ma ponad 2 sekundy

jeśli tak to ma wyrzucić napis, że właśnie leje wodę

Uwaga, dane jest > a nie = bowiem wtedy myśli (i zgłasza jako ostrzeżenie), że zostało użyte jako wartość true i wtedy nici ze sprawdzania

Potem to już matematyka dodać kolejne warunki dla dodawania napoju mieszania itd...zostanie jeszcze mała kosmetyczka ale to się zrobi w ciągu minut prób i błędów...

No to jeden problem mamy za sobą, zostało jeszcze życzenie specjalne nauczycielki (mleko do kawy jako opcja >_<) ale to już chyba wiem jak rozwiązać B)

Wracamy więc do Sapera i pytania o tablice wielowymiarowe :D

<sprawdza zegarek> 5:25??? O_O

Odnośnik do komentarza
Udostępnij na innych stronach

Taak to ma sens...i wtedy chyba będzie łatwo odwoływać się do konkretnego pola z przedziału 5x5 :)

Co do klas, no fakt ułatwiają życie i przyjżę się im przez ten wolny czas (sobota niedziela)

Mam więcej ogólnie czasu bo profesorka wyjechała na tydzień i dopiero po nowym roku będziemy mieli następne zajęcia :(

No to zjem coś i biorę się do pracy ^_^

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...