Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

[Matlab] Gra "Papier kamień nożyce"

#1
[Matlab] Gra "Papier kamień nożyce"
Witam 
Nie znam się kompletnie na programowaniu ,a musze napisać na zaliczenie program w matlabie ,który będzie polegał na grze w papier kamien nozyce czyli tzw marynarza. Ktoś mógłby mi pomóc w tym ? 
 System operacyjny: windows_eight Przeglądarka: chrome
#2
RE: [Matlab] Gra "Papier kamień nożyce"
Witam, czy to ma być na zasadzie, że program losuje gest (papier/kamień/nożyce), po czym użytkownik wprowadza swój typ, a następnie porównywane są oba i mamy albo dogrywkę, albo zwycięzcę? Czy to ma być zwykły skrypt (dane wprowadzane z wiersza poleceń)?
Kod:
clc
koniec = 0;
stany = {'papier', 'kamień', 'nożyce'};
typy = [0 1 -1; -1 0 1; 1 -1 0];
rng('shuffle');
while koniec == 0
    komp = randi(3);
    gracz = input('Podaj swój typ (1 - papier, 2 - kamień, 3 - nożyce ');
    while gracz ~= 1 && gracz ~= 2 && gracz ~= 3
        gracz = input('Podaj swój typ (1 - papier, 2 - kamień, 3 - nożyce ');
    end
    if komp == gracz
        disp([stany{komp} ' kontra ' stany{komp} ' - dogrywka'])
    else
        koniec = 1;
        if typy(komp, gracz) == 1
            disp([stany{komp} ' kontra ' stany{gracz} ' - wygrywa MATLAB'])
        else
            disp([stany{komp} ' kontra ' stany{gracz} ' - wygrywasz'])
        end
    end
end
 System operacyjny: linux_ubuntu Przeglądarka: firefox
#3
RE: [Matlab] Gra "Papier kamień nożyce"
Dziękuje bardzo za pomoc .

Co do programu... nie dostałam konkretnych wytycznych jak ma działać - niech więc zostanie tak jak jest.

Mam jeszcze pytanko :
Czy ten program można delikatnie przerobić(dodać więcej stanów) , tak aby powstała Nam gra w karty ,a dokładnie w wojnę ? Pytam ponieważ koleżanka dostała taki program , a nie chce zaśmiecać forum zakładając nowy temat.
 System operacyjny: windows_eight Przeglądarka: chrome
#4
RE: [Matlab] Gra "Papier kamień nożyce"
Wojnę raczej inaczej by wypadało zrobić, bo stanów byłoby zbyt wiele. Wystarczy jedynie znać starszeństwo kart i odpowiednio rozpisać pętlę dotyczącą rozgrywki (dopisywanie kart graczowi, który wziął karty bądź wygrał wojnę).
 System operacyjny: linux_ubuntu Przeglądarka: firefox
#5
RE: [Matlab] Gra "Papier kamień nożyce"
W wojnie ja bym przypisał każdej karcie cyfrę (od 2 do 14, gdzie 14 to by był as). Następnie bym losował karty i porównywał ich siłę. Gracz, który ma silniejszą kartę, dodaje karty do swojego stanu posiadania (a przegrany odejmuje). W przypadku podobnych wartości robi się drugie losowanie itd... Oczywiście należy pamiętać, że są cztery kolory. Utworzyć dwie tablice z kartami i na nich operować.
Pozdrawiam.
Ajgor
 System operacyjny: windows_ten Przeglądarka: chrome
#6
RE: [Matlab] Gra "Papier kamień nożyce"
Ale w wojnę się gra inaczej - tasuje się talię 52 kart i rozdaje po równo (czyli po 26), a następnie ściąga się ze stosu górną kartę i jeśli jest silniejsza, to karty wędrują na spód stosu gracza (tak - to jest raczej kolejka aniżeli stosOczko ). W przypadku równych kart toczy się wojna (ja znałem tylko odmianę, że jedną kartę kładło się zakrytą a na nią kartę odkrytą, która rozstrzygała (bądź nie) wynik) i karty wędrują do zwycięzcy. I tak dalej aż do wyczerpania się komuś kart.
 System operacyjny: linux_ubuntu Przeglądarka: firefox
#7
RE: [Matlab] Gra "Papier kamień nożyce"
No i o tym pisałem. Od 2 do 14 to daje 13 kart. Razy cztery kolory - masz 52 karty Wesoły Tworzysz dwie tablice i losowo rozkładasz karty w tych tablicach. Następnie losujesz (jak chcesz, to możesz brać po kolei) karty i je porównujesz. DOKŁADNIE tak miałem to na myśli. Tylko napisałem skrótem.
Pozdrawiam.
Ajgor
 System operacyjny: windows_ten Przeglądarka: chrome
#8
RE: [Matlab] Gra "Papier kamień nożyce"
Skoro tak, to nie było wpisu Wesoły A wracając do tematu - do symulacji tasowania talii kart można posłużyć się funkcją randperm, która zwróci wektor losowo uporządkowanych liczb od 1 do n, a następnie połowę tablicy przypisać jednemu graczowi, a drugą połowę drugiemu graczowi. Teraz wystarczy napisać procedurę gry.
 System operacyjny: linux_ubuntu Przeglądarka: firefox
Programy: Polecane / Nowe / Inne




Podobne wątki ([Matlab] Gra "Papier kamień nożyce")
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [ Matlab] metodaHooke-Jeavese znajdz jej minimum piotrek132 0 6825 11.12.2016, 13:12
Ostatni post: piotrek132
  Matlab - prośba o pomoc w rozwiązywaniu zadań szefusik 3 7323 20.04.2015, 19:12
Ostatni post: ptrick
  Matlab - nie działająca funkcja REPEAT Spain2010 0 6990 19.01.2015, 22:49
Ostatni post: Spain2010

Skocz do:


Wybrane wątki ([Matlab] Gra "Papier kamień nożyce")
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Menu wysuwane z boku patryk67 1 7086 07.08.2019 12:43
Ostatni post: aht
  Visual Basic Excel l.całkowitą przedstawić w postaci szesnastkowej fugaz 4 8957 18.06.2019 21:36
Ostatni post: fugaz
  Nauka do Olimpiady Informatycznej? piotr0905 1 8473 08.06.2019 16:50
Ostatni post: wlisik
Ściana Prosta gra w Builder C++ Kiranek1 1 8393 31.05.2019 15:20
Ostatni post: Szachista
  Menu (Nie widoczne długie opisy) wanhelsing 5 10482 28.04.2019 19:31
Ostatni post: koneton
  Skrypt usuwający pliki sylwiaa1 2 4339 28.04.2019 15:20
Ostatni post: sylwiaa1
  Środowisko do assemblera Physicist 4 9730 21.04.2019 14:04
Ostatni post: Ajgor
  VBA excel dmjs 6 9911 17.04.2019 10:20
Ostatni post: ptrick
  C++ - sens pogłębiania nauki gbr 5 9642 25.03.2019 12:53
Ostatni post: koneton
  Klasa wewnętrzna w C++ Physicist 4 9310 23.03.2019 18:28
Ostatni post: Physicist
  Ruby on Rails - tutoriale luciussulla 0 8437 23.03.2019 16:49
Ostatni post: luciussulla
Big Grin Czy dostane sie technikum informatycznego klaudiusz20046 6 11842 21.03.2019 01:28
Ostatni post: UnableToSee
  [C#] Program do moderacji czatów gier wiktrom12 0 8916 07.03.2019 15:33
Ostatni post: wiktrom12
  Mój pierwszy projekt - Pomoc rafal12999 1 9366 07.02.2019 22:01
Ostatni post: Szachista
  pomoc projekt scilab piesel18 2 10790 04.02.2019 09:03
Ostatni post: piesel18