<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem mastermind</title>
<link>https://forum.pasja-informatyki.pl/tag/mastermind</link>
<description>Powered by Question2Answer</description>
<item>
<title>Zabawa z canvas i JavaScript - gra Mastermind</title>
<link>https://forum.pasja-informatyki.pl/577586/zabawa-z-canvas-i-javascript-gra-mastermind</link>
<description>

&lt;p&gt;To jest wątek ogłoszony w ósmym odcinku kursu JavaScript:&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=w4Ok_nL5WvY&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/watch?v=w4Ok_nL5WvY&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Można tutaj postować własne wersje gry w Mastermind, wykonane z wykorzystaniem canvas w HTML 5 lub korzystające z bibliotek okołocanvasowych lub WebGLowych.&lt;/p&gt;



&lt;p&gt;Pliki do odcinka można pobrać tutaj:&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://miroslawzelent.pl/pliki/kurs_js8.zip&quot; rel=&quot;nofollow&quot;&gt;https://miroslawzelent.pl/pliki/kurs_js8.zip&lt;/a&gt;&lt;/p&gt;</description>
<category>Nasze projekty</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/577586/zabawa-z-canvas-i-javascript-gra-mastermind</guid>
<pubDate>Thu, 05 Jan 2023 15:03:34 +0000</pubDate>
</item>
<item>
<title>MasterMind - Gra</title>
<link>https://forum.pasja-informatyki.pl/494813/mastermind-gra</link>
<description>

&lt;p&gt;Czy ktoś z was grał w MasterMinda? Ja mam super wspomnienia z dzieciństwa jeśli chodzi o tą grę, więc postanowiłem ją odwzorować. Póki co to gra nie jest przystosowana na urządzenia mobilne, ale w niedalekiej przyszłości rówież tym się zajmę. Zapraszam do zagrania.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;http://gamemastermind.000webhostapp.com/&quot; rel=&quot;nofollow&quot;&gt;MasterMind&lt;/a&gt;&lt;/p&gt;</description>
<category>Nasze projekty</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/494813/mastermind-gra</guid>
<pubDate>Thu, 18 Jun 2020 17:14:46 +0000</pubDate>
</item>
<item>
<title>Mastermind - gra w Visual Basic</title>
<link>https://forum.pasja-informatyki.pl/248478/mastermind-gra-w-visual-basic</link>
<description>

&lt;p&gt;Witam,&lt;/p&gt;



&lt;p&gt;Dostałem ostatnio na zadanie domowe, stworzenie prostej gry w Mastermind w Visual Basic. Myślałem, że zadanie będzie proste i bez problemu sobie z nim poradzę, ale nic bardziej mylnego, siedzę nad kodem od 2 dni i nie mam pomysłu jak ta gra powinna działać. Treść zadanie brzmi tak: &quot;Mastermind. Wygeneruj losową liczbę 4 cyfrową. Gracz musi wpisywać 4 cyfrowe liczby dopóki nie odgadnie losowo wygenerowanej liczby. Po każdej nieudanej próbie, gra powinna wypisać ile numerów było prawidłowych, lecz nie podawać ich pozycji&quot; Tu pojawia się pewna niejasność, gdyż wiem, że w grze Mastermind podaje się ilość liczb 'prawidłowych - na swoich miejscach' i 'prawidłowych - nie na swoich miejscach'. Dlatego zakładam, że ma to wyglądać właśnie w ten sposób. Kontynuując &quot;Na koniec gra powinna pogratulować graczowi i powiedzieć ile prób im zajęło odgadnięcie tego numeru&quot;&lt;/p&gt;



&lt;p&gt;To była podstawowa część zadania, do tego są jeszcze 3 rozszerzenia.&lt;/p&gt;



&lt;p&gt;1. Pozwolić graczowi wybrać łatwy tryb gry, w którym gra podawałaby dokładnie, która cyfra w 4 cyfrowej liczbie jest poprawna.&lt;/p&gt;



&lt;p&gt;2. Pozwolić graczowi wybrać trudny tryb gry, który generowałby 5 cyfrową liczbę zamiast 4 cyfrowej.&lt;/p&gt;



&lt;p&gt;3. Po zakończeniu gry zapytać o imię gracza i zapisać ich punkty w tabeli. Po uruchomieniu gry pokazywać tabelę z najlepszymi wynikami, żeby dodać do gry element rywalizacji.&lt;/p&gt;



&lt;p&gt;Co do rozszerzeń to raczej nie widzę z nimi żadnego problemu i mam już pomysł jak je&amp;nbsp;zrobić. Problem pojawił się w podstawowej części zadania.&amp;nbsp;Napisałem kod z interfejsem (menu, input, output itd.) i zacząłem zastanawiać się nad mechaniką gry. Dużym ograniczeniem okazała się funkcja InStr(string, szukany_znak), gdyż wyszukuje ona pierwszą literę/liczbę w danym stringu i podaje jej pozycję. A jak wiemy losowo wygenerowana liczba może składać się np. z samych 2 (2222). W przypadku kiedy gracz wpisze &quot;1234&quot;, algorytm sprawdzający, uzna, że 1 cyfra jest poprawna, ale nie na swoim miejscu, gdyż pierwsza 2 na jaką natrafi będzie na 1 pozycji, a nie na 2. Myślałem nad ograniczeniem algorytmu tylko do cyfr na pozycji równej lub większej niż ta sprawdzana, tzn. Jeżeli gracz wpisuje &quot;1234&quot;, algorytm sprawdza cyfrę 2, to 'kod&quot;/losowa liczba &quot;2222&quot; będzie sprawdzana tylko od drugiej 2 &quot;X222&quot;. Tutaj też pojawił się problem&amp;nbsp;gdyż działało by to jedynie w przypadku losowej liczby&amp;nbsp;składającej&amp;nbsp;się z tych samych cyfr.&lt;/p&gt;



&lt;p&gt;Pod spodem zamieszczam kod, który już napisałem. Wiem, że jest on niepoprawny, ale już tak długo myślę nad tym rozwiązaniem, że trochę się już pogubiłem w tym co piszę. Dlatego liczę na czyjąś pomoc, może nie w rozwiązaniu, bo nie chcę dostać gotowej odpowiedzi na to zadanie, ale np. naprowadzeniu na pewien tok myślenia nad rozwiązaniem. Część odpowiedzialna za rozgrywkę to Sub PlayGame().&lt;/p&gt;



&lt;pre class=&quot;brush:vb;highlight:[85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140];&quot;&gt;
Module Module1
    Dim RandomNumber As String
    Dim RandomDigits(4) As String
    Dim numberinput As String
    Dim PlayerString As String
    Dim PlayerDigits(4) As String
    Dim RemainDigits(4) As String
    Dim Number(4) As Boolean


    Sub Main()
        Dim menuselect As Char

        Console.Clear()

        For i = 1 To 4
            Number(i) = False
        Next

        Heading()

        'Menu
        Console.WriteLine(&quot;MAIN MENU&quot;)
        Console.WriteLine(&quot;1.(N)ew Game&quot;)
        Console.WriteLine(&quot;2.(S)elect Mode&quot;)
        menuselect = Console.ReadLine()

        Do Until menuselect = &quot;N&quot; Or menuselect = &quot;S&quot;
            Console.WriteLine(&quot;It's not a correct input&quot;)
            menuselect = Console.ReadLine()
        Loop

        If menuselect = &quot;N&quot; Then
            PlayGame()
        Else
            ModeSelect()
        End If

        Console.ReadLine()
    End Sub

    Sub Heading()
        Console.WriteLine(&quot;************&quot;)
        Console.WriteLine(&quot; MASTERMIND &quot;)
        Console.WriteLine(&quot;************&quot;)
    End Sub

    Sub Generator()
        Dim rand As New Random

        For i = 1 To 4
            RandomDigits(i) = Str(rand.Next(0, 9))
            RandomNumber = RandomNumber &amp;amp; RandomDigits(i)
        Next

    End Sub

    Sub ModeSelect()
        Dim mode As Char

        Console.Clear()

        Heading()

        Console.WriteLine(&quot;Select the game mode:&quot;)
        Console.WriteLine(&quot;1.(E)asy mode - shows which position you have guessed correctly&quot;)
        Console.WriteLine(&quot;2.(H)ard mode - generates 5 digit number&quot;)
        Console.WriteLine()
        Console.WriteLine(&quot;(B)ack to main menu&quot;)
        mode = Console.ReadLine()

        Do Until mode = &quot;E&quot; Or mode = &quot;H&quot; Or mode = &quot;B&quot;
            Console.WriteLine(&quot;It's not a correct input&quot;)
            mode = Console.ReadLine()
        Loop

        If mode = &quot;E&quot; Then
            Play_EasyMode()
        ElseIf mode = &quot;H&quot; Then
            Play_HardMode()
        ElseIf mode = &quot;B&quot; Then
            Main()
        End If
    End Sub

    Sub PlayGame()
        Dim CorrectDigit(4) As Boolean
        Dim MissedDigit(4) As Boolean
        Dim CorrectCount As Integer
        Dim MissedCount As Integer
        Dim NoOfTries As Integer
        Dim DigitPos As Integer

        Generator()


        Do Until CorrectDigit(1) = True And CorrectDigit(2) = True And CorrectDigit(3) = True And CorrectDigit(4) = True
            NumberDigitCheck()

            For i = 1 To 4
                PlayerDigits(i) = Mid(PlayerString, i, 1)
            Next

            For z = 1 To 4
                CorrectDigit(z) = False
                MissedDigit(z) = False
            Next

            CorrectCount = 0
            MissedCount = 0

            For j = 1 To 4
                DigitPos = InStr(RandomNumber, PlayerDigits(j))
                If DigitPos &amp;lt;&amp;gt; 0 Then
                    If Mid(RandomNumber, j, 1) = PlayerDigits(j) Then
                        CorrectDigit(j) = True
                        CorrectCount += 1
                    Else
                        MissedDigit(j) = True
                        MissedCount += 1
                    End If
                End If
            Next

            Console.WriteLine(&quot;You've got &quot; &amp;amp; CorrectCount &amp;amp; &quot; digits correct and on their place&quot;)
            Console.WriteLine(&quot;You've got &quot; &amp;amp; MissedCount &amp;amp; &quot; digits correct but not on their place&quot;)

            NoOfTries += 1
        Loop



        Console.WriteLine(&quot;CONGRATULATIONS, YOU'VE GUESSED THE NUMBER&quot;)
        Console.WriteLine(&quot;It took you &quot; &amp;amp; NoOfTries &amp;amp; &quot; tries to guess it&quot;)

        Console.ReadLine()

        Main()

    End Sub

    Sub NumberDigitCheck()
        Console.WriteLine(&quot;Insert a number:&quot;)
        numberinput = Console.ReadLine()

        Do Until numberinput.Length = 4
            Console.WriteLine(&quot;It's not a 4 digit number&quot;)
            numberinput = Console.ReadLine()
        Loop

        PlayerString = Str(numberinput)
    End Sub

    Sub Play_EasyMode()

    End Sub

    Sub Play_HardMode()

    End Sub

End Module&lt;/pre&gt;



&lt;p&gt;Problem z tym kodem wygląda tak, że w Sub PlayGame() kod jest zdecydowanie niepoprawny i gra niepoprawnie sprawdza numery, które wpisuje gracz. Przykładem błędu może być: Gra losuje liczbę, wpisuję 1234, dostaję odpowiedź, że 1 cyfra jest poprawna na swoim miejscu i 1 jest poprawna nie na swoim miejscu, z czego wnioskuję, że 2 cyfry z zakresu 1-4 są częścią kodu. Następnie dla sprawdzenia wpisuję 0000 i otrzymuję odpowiedź &quot;1 cyfra poprawna na swoim miejscu, 2 poprawne nie na swoim miejscu&quot; co by oznaczało, że 3 zera są częścią kodu. 3 zera + 2 cyfry z zakresu 1-4 = 5 cyfr, więc wyświetlane komunikaty są błędne i kod nie sprawdza liczby tak jak powinien.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Z góry dziękuję wszystkim za odpowiedzi.&amp;nbsp;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/248478/mastermind-gra-w-visual-basic</guid>
<pubDate>Thu, 27 Apr 2017 13:20:15 +0000</pubDate>
</item>
<item>
<title>Dołącz do mojego masterminda!</title>
<link>https://forum.pasja-informatyki.pl/202632/dolacz-do-mojego-masterminda</link>
<description>Witam, mam na imię Patryk mam 16 lat, chodzę do I klasy liceum o profilu informatycznym. Od ponad roku programuję i nadal uczę się programować. Dużo się nauczyłem umiem dobrze 5 podstawowych technologii webowych, bootstrapa i c++. Poszukuję ludzi do mojego &amp;quot;masterminda&amp;quot; Jeśli nie wiesz co to jest obejrzyj to wideo: &lt;a href=&quot;https://www.youtube.com/watch?v=vrlsSdXgnsc&amp;amp;t=0s&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/watch?v=vrlsSdXgnsc&amp;amp;t=0s&lt;/a&gt; . Chciałbym stworzyć grupkę 3-4 osobową, które:&lt;br /&gt;
&lt;br /&gt;
-pasjonują się programowaniem, najlepiej programowaniem webowym(frontend lub backend)&lt;br /&gt;
&lt;br /&gt;
-dobra znajomość języka angielskiego&lt;br /&gt;
&lt;br /&gt;
-mają plany na przyszłość&lt;br /&gt;
&lt;br /&gt;
-są ambitne, odpowiedzialne, można na nich liczyć, inteligentne :)&lt;br /&gt;
&lt;br /&gt;
Dlaczego chciałbym stworzyć mastermind?&lt;br /&gt;
&lt;br /&gt;
Głównie dlatego że praktycznie nikt z mojego otoczenia nie interesuje się programowaniem? Po obejrzeniu tego nagrania, stwierdziłem że trzy głowy do myślenia to nie jedna. Chciałbym się czegoś nauczyć od ciebie i nawzajem. Wymieniać się poglądami, rozmawiać o nowych technologiach, planach na przyszłość, wymieniać się poglądami, szukać inspiracji itp.&lt;br /&gt;
&lt;br /&gt;
Jak wyglądały by spotkania?&lt;br /&gt;
&lt;br /&gt;
Na początku chciałbym abyśmy się najpierw poznali lepiej, więc tych spotkań było by więcej. Rozmowy by trwały mniej więcej 1-2 godzin przez skype lub discord. Obowiązkowo żeby to była rozmowa głosowa niekoniecznie z kamerką, czat odpada. Omawialibyśmy kilka punktów które warto poruszyć.&lt;br /&gt;
&lt;br /&gt;
Jak się zgłosić?&lt;br /&gt;
&lt;br /&gt;
Możesz napisać do mnie na maila: pfilipiak00@gmail.com lub w wiadomości prywatnej na forum</description>
<category>Rozwój zawodowy, nauka, praca</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/202632/dolacz-do-mojego-masterminda</guid>
<pubDate>Sat, 03 Dec 2016 19:28:38 +0000</pubDate>
</item>
</channel>
</rss>