VB.NET kao hobi - Tablica Mnozenja kao igra

Učlanjen(a)
05.01.2018
Poruka
18
Pokusavam da odradim jedan ovakav projekat pa me zanima par stvari ...

- Kakva je situacija sa koriscenjem slika, zvukova, animacija sa interneta koji su "Free Download". Treba li da se napise odakle je skinuto, ko je autor ili nije potrebno ako je free ?

- Moze li forma da se rotira za 180 stepeni ?

- Kako da se ovo napise malo krace
Module Module3
Public Sub Pozicija1()
Form1.Label2.Left = 60
Form1.Label3.Left = 165
Form1.Label4.Left = 265
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija2()
Form1.Label2.Left = 60
Form1.Label3.Left = 165
Form1.Label4.Left = 365
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija3()
Form1.Label2.Left = 60
Form1.Label3.Left = 265
Form1.Label4.Left = 165
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija4()
Form1.Label2.Left = 60
Form1.Label3.Left = 265
Form1.Label4.Left = 365
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija5()
Form1.Label2.Left = 60
Form1.Label3.Left = 365
Form1.Label4.Left = 165
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija6()
Form1.Label2.Left = 60
Form1.Label3.Left = 365
Form1.Label4.Left = 265
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija7()
Form1.Label2.Left = 165
Form1.Label3.Left = 60
Form1.Label4.Left = 265
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija8()
Form1.Label2.Left = 165
Form1.Label3.Left = 60
Form1.Label4.Left = 365
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija9()
Form1.Label2.Left = 165
Form1.Label3.Left = 265
Form1.Label4.Left = 60
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija10()
Form1.Label2.Left = 165
Form1.Label3.Left = 265
Form1.Label4.Left = 365
Form1.Label5.Left = 60
End Sub
Public Sub Pozicija11()
Form1.Label2.Left = 165
Form1.Label3.Left = 365
Form1.Label4.Left = 60
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija12()
Form1.Label2.Left = 165
Form1.Label3.Left = 365
Form1.Label4.Left = 265
Form1.Label5.Left = 60
End Sub
Public Sub Pozicija13()
Form1.Label2.Left = 265
Form1.Label3.Left = 60
Form1.Label4.Left = 165
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija14()
Form1.Label2.Left = 265
Form1.Label3.Left = 60
Form1.Label4.Left = 365
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija15()
Form1.Label2.Left = 265
Form1.Label3.Left = 165
Form1.Label4.Left = 60
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija16()
Form1.Label2.Left = 265
Form1.Label3.Left = 165
Form1.Label4.Left = 365
Form1.Label5.Left = 60
End Sub
Public Sub Pozicija17()
Form1.Label2.Left = 265
Form1.Label3.Left = 365
Form1.Label4.Left = 60
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija18()
Form1.Label2.Left = 265
Form1.Label3.Left = 365
Form1.Label4.Left = 165
Form1.Label5.Left = 60
End Sub
Public Sub Pozicija19()
Form1.Label2.Left = 365
Form1.Label3.Left = 60
Form1.Label4.Left = 165
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija20()
Form1.Label2.Left = 365
Form1.Label3.Left = 60
Form1.Label4.Left = 265
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija21()
Form1.Label2.Left = 365
Form1.Label3.Left = 165
Form1.Label4.Left = 60
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija22()
Form1.Label2.Left = 365
Form1.Label3.Left = 165
Form1.Label4.Left = 265
Form1.Label5.Left = 60
End Sub
Public Sub Pozicija23()
Form1.Label2.Left = 365
Form1.Label3.Left = 265
Form1.Label4.Left = 60
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija24()
Form1.Label2.Left = 365
Form1.Label3.Left = 265
Form1.Label4.Left = 165
Form1.Label5.Left = 60
End Sub
Public Sub PozicijaRnd()
Dim rnd As New Random
Dim Pozicija As Integer = rnd.Next(1, 25)
Select Case Pozicija
Case 1
Pozicija1()
Case 2
Pozicija2()
Case 3
Pozicija3()
Case 4
Pozicija4()
Case 5
Pozicija5()
Case 6
Pozicija6()
Case 7
Pozicija7()
Case 8
Pozicija8()
Case 9
Pozicija9()
Case 10
Pozicija10()
Case 11
Pozicija11()
Case 12
Pozicija12()
Case 13
Pozicija13()
Case 14
Pozicija14()
Case 15
Pozicija15()
Case 16
Pozicija16()
Case 17
Pozicija17()
Case 18
Pozicija18()
Case 19
Pozicija19()
Case 20
Pozicija20()
Case 21
Pozicija21()
Case 22
Pozicija22()
Case 23
Pozicija23()
Case 24
Pozicija24()
End Select
End Sub
End Module

Radjeno na: Windows 10 Home 64bit, Visual Studio 2019, Net Framework 3.5

Da se ne spetljam sa postavljanjem slika - ako nekog zanima kako bi sve to trebalo da izgleda, moze da pogleda ovde : https://tablicamnozenja.zyrosite.com/

Svaki komentar i kritika dobrodosli :)

Pozdrav
 
Član
Učlanjen(a)
07.12.2011
Poruka
464
Učlanjen(a)
05.01.2018
Poruka
18
Kao prvo da se odma naglasi da ce ovo sto radim (ako se zavrsi) biti FREE - nema naplacivanja nema zarade!

Za pozadinu igre sam izabrao majmune iz razloga jer su zanimljivi i smesni ("majmunska posla") i lako prihvatljivi kao likovi za najmladju populaciju. U igri ima par smesnih situacija ... u jednom od zadataka se za tacan odgovor dobijaju banane i nakon odredjenog broja se pakuju u korpu koja se dalje koristi za neke druge stvari ... itd itd da sad ne otkrivam cega sve ima. Znam da igre ovakvog tipa danas skoro niko i ne primecuje ali bi tebalo malo da se odmori od pucacina i horora!

Ovako sam ja krenuo sa igrom - sto uopste ne mora da znaci da ce tako i da bude na kraju. Kompletna prica moze da se promeni - od praistorije pa sve do svemirskih brodova. Jedina bitna stvar je da su zadaci vezani za tablicu mnozenja.

I kao sto rekose da slike i zvukovi koji su free download ustvari i nisu free za dalju distribuciju - da ne dodje do nekih komplikacija sa vlasnickim pravima - najbolje je da se sve to odradi "svojerucno".

Tako da ... ako je neko zainteresovan, ima viska slobodnog vremena i raspolozen da radi graficki deo igre i da privedemo kraju ovaj projekat ... dobrodosli ...

I jos jednom da napomenem - Od Para Nema Nista! :)


Pozdrav.
 
Član
Učlanjen(a)
21.09.2009
Poruka
243
Pokusavam da odradim jedan ovakav projekat pa me zanima par stvari ...

- Kakva je situacija sa koriscenjem slika, zvukova, animacija sa interneta koji su "Free Download". Treba li da se napise odakle je skinuto, ko je autor ili nije potrebno ako je free ?

- Moze li forma da se rotira za 180 stepeni ?

- Kako da se ovo napise malo krace
Module Module3
Public Sub Pozicija1()
Form1.Label2.Left = 60
Form1.Label3.Left = 165
Form1.Label4.Left = 265
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija2()
Form1.Label2.Left = 60
Form1.Label3.Left = 165
Form1.Label4.Left = 365
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija3()
Form1.Label2.Left = 60
Form1.Label3.Left = 265
Form1.Label4.Left = 165
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija4()
Form1.Label2.Left = 60
Form1.Label3.Left = 265
Form1.Label4.Left = 365
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija5()
Form1.Label2.Left = 60
Form1.Label3.Left = 365
Form1.Label4.Left = 165
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija6()
Form1.Label2.Left = 60
Form1.Label3.Left = 365
Form1.Label4.Left = 265
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija7()
Form1.Label2.Left = 165
Form1.Label3.Left = 60
Form1.Label4.Left = 265
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija8()
Form1.Label2.Left = 165
Form1.Label3.Left = 60
Form1.Label4.Left = 365
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija9()
Form1.Label2.Left = 165
Form1.Label3.Left = 265
Form1.Label4.Left = 60
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija10()
Form1.Label2.Left = 165
Form1.Label3.Left = 265
Form1.Label4.Left = 365
Form1.Label5.Left = 60
End Sub
Public Sub Pozicija11()
Form1.Label2.Left = 165
Form1.Label3.Left = 365
Form1.Label4.Left = 60
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija12()
Form1.Label2.Left = 165
Form1.Label3.Left = 365
Form1.Label4.Left = 265
Form1.Label5.Left = 60
End Sub
Public Sub Pozicija13()
Form1.Label2.Left = 265
Form1.Label3.Left = 60
Form1.Label4.Left = 165
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija14()
Form1.Label2.Left = 265
Form1.Label3.Left = 60
Form1.Label4.Left = 365
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija15()
Form1.Label2.Left = 265
Form1.Label3.Left = 165
Form1.Label4.Left = 60
Form1.Label5.Left = 365
End Sub
Public Sub Pozicija16()
Form1.Label2.Left = 265
Form1.Label3.Left = 165
Form1.Label4.Left = 365
Form1.Label5.Left = 60
End Sub
Public Sub Pozicija17()
Form1.Label2.Left = 265
Form1.Label3.Left = 365
Form1.Label4.Left = 60
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija18()
Form1.Label2.Left = 265
Form1.Label3.Left = 365
Form1.Label4.Left = 165
Form1.Label5.Left = 60
End Sub
Public Sub Pozicija19()
Form1.Label2.Left = 365
Form1.Label3.Left = 60
Form1.Label4.Left = 165
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija20()
Form1.Label2.Left = 365
Form1.Label3.Left = 60
Form1.Label4.Left = 265
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija21()
Form1.Label2.Left = 365
Form1.Label3.Left = 165
Form1.Label4.Left = 60
Form1.Label5.Left = 265
End Sub
Public Sub Pozicija22()
Form1.Label2.Left = 365
Form1.Label3.Left = 165
Form1.Label4.Left = 265
Form1.Label5.Left = 60
End Sub
Public Sub Pozicija23()
Form1.Label2.Left = 365
Form1.Label3.Left = 265
Form1.Label4.Left = 60
Form1.Label5.Left = 165
End Sub
Public Sub Pozicija24()
Form1.Label2.Left = 365
Form1.Label3.Left = 265
Form1.Label4.Left = 165
Form1.Label5.Left = 60
End Sub
Public Sub PozicijaRnd()
Dim rnd As New Random
Dim Pozicija As Integer = rnd.Next(1, 25)
Select Case Pozicija
Case 1
Pozicija1()
Case 2
Pozicija2()
Case 3
Pozicija3()
Case 4
Pozicija4()
Case 5
Pozicija5()
Case 6
Pozicija6()
Case 7
Pozicija7()
Case 8
Pozicija8()
Case 9
Pozicija9()
Case 10
Pozicija10()
Case 11
Pozicija11()
Case 12
Pozicija12()
Case 13
Pozicija13()
Case 14
Pozicija14()
Case 15
Pozicija15()
Case 16
Pozicija16()
Case 17
Pozicija17()
Case 18
Pozicija18()
Case 19
Pozicija19()
Case 20
Pozicija20()
Case 21
Pozicija21()
Case 22
Pozicija22()
Case 23
Pozicija23()
Case 24
Pozicija24()
End Select
End Sub
End Module

Radjeno na: Windows 10 Home 64bit, Visual Studio 2019, Net Framework 3.5

Da se ne spetljam sa postavljanjem slika - ako nekog zanima kako bi sve to trebalo da izgleda, moze da pogleda ovde : https://tablicamnozenja.zyrosite.com/

Svaki komentar i kritika dobrodosli :)

Pozdrav
Evo jednog primera koda koji generiše Tablicu Množenja kao igru u VB.NET:
Kod:
Imports System

Module Program
    Sub Main()
        Dim random As New Random()
        Dim tablica As Integer(,) = GenerisiTablicu()

        While True
            Dim broj1 As Integer = random.Next(1, 11)
            Dim broj2 As Integer = random.Next(1, 11)
            Dim rezultat As Integer = broj1 * broj2

            Console.WriteLine($"Koliko je {broj1} puta {broj2}?")

            Dim unos As Integer
            If Integer.TryParse(Console.ReadLine(), unos) Then
                If unos = rezultat Then
                    Console.WriteLine("Tačan odgovor!")
                Else
                    Console.WriteLine($"Pogrešan odgovor! Tačan odgovor je {rezultat}.")
                End If
            Else
                Console.WriteLine("Uneli ste neispravan unos. Molimo unesite celobrojni odgovor.")
            End If

            Console.WriteLine("Pritisnite Enter za novi zadatak ili ESC za izlaz.")
            Dim key As ConsoleKeyInfo = Console.ReadKey()
            If key.Key = ConsoleKey.Escape Then
                Exit While
            End If

            Console.WriteLine()
        End While
    End Sub

    Function GenerisiTablicu() As Integer(,)
        Dim tablica(9, 9) As Integer

        For i As Integer = 1 To 10
            For j As Integer = 1 To 10
                tablica(i - 1, j - 1) = i * j
            Next
        Next

        Return tablica
    End Function
End Module

Ovaj kod će generisati slučajne zadatke iz Tablice Množenja, a korisnik treba da unese odgovor na svaki zadatak. Program će proveriti uneti odgovor i ispisati rezultat. Nakon toga, korisnik može pritisnuti Enter za novi zadatak ili ESC za izlaz iz programa.
 
Učlanjen(a)
05.01.2018
Poruka
18
... ideja je bila da prvi deo (main form) bude za ucenje (nema random - uci se redom) a ostale igre su za vezbanje.

Ne znam na kom principu "radi random" i u mom slucaju nije bas nesto radio kako treba. "Postoji mogucnost" da odradi takav randomize i ponovi isto pitanje-odgovor 10 puta :) E sad, da sve brojeve ispitujem i uporedjujem pojedinacno (mozda je prosto - ne znam - nisam probao) nije mi potrebno - bilo mi je lakse i bolje ovako kako sam odradio.
Bitna stvar je da se radi samo misem (sto prostije) - nema tastatura !

Za random zadatke postoji Igra 1 (tacno-netacno gde je namerno zamenjena boja) ko je probao video je koliko boja moze da povuce ruku na pogresnu sranu :)

Ovaj tvoj primer je dobar za upisivanje tacnog odgovora tastaturom - a za sve ostale "klik" (ponudjeni odgovori) kombinacije cini mi se da se mozda malo komplikuje - ne znam - nisam siguran ...

U svakom slucaju hvala za primer

Pozdrav.
 
Natrag
Top