Slot Maşını Java Kodları Halında/üçün

Proqramla bağlı problemim var. İnternetə baxdım və oxşar bir çoxunu gördüm, baxmayaraq ki, iki sinif yoxdur (bir sürücü və proqramçı tərəfindən müəyyən edilmiş). Tapşırıq budur. Bir slot maşınını simulyasiya edən bir Java proqramı yaradın. Proqram işləyərkən aşağıdakıları etməlidir: 1. İstifadəçidən slot maşınına girmək istədiyi pul miqdarını daxil etməsini xahiş edir. Bir menyu qurmaq üçün Scanner sinifindən istifadə edərək kodu necə yazırsınız (yəni bir şey üçün 1, bir şey üçün 2 və s.) Sonra istifadəçini seçin. Java.util idxal edin .; sinif Əsas ictimai boşluq ekran menyusu System.out.println ('1) Seçim 1 2) Seçim 2 3) Seçim 3'); System.out.print ('Seçim. Java - Bir menyu sistemini idarə etmək üçün bir müddətlik döngədən istifadə edin. Başlanğıc cont =' n '' ni cont = 'y' olaraq dəyişdirin və while loopunu yoxlayın (cont.equals ('y) ')).Bu sürətli bir düzəlişdir, səmərəlilik və standartlara uyğunlaşmaq üçün edilə biləcək bir çox dəyişiklik var, amma ətraflı danışmayacağam. İstifadəçi istək sətri böyük hərflərin daxil edilməsini təklif edir, lakin kod yalnız kiçik hərfləri yoxlayır. Enums istifadə edirsinizsə CardValue lazım deyil; isBlackjack nəfəs kəsən kompleksdir. Enums istifadə etmək bu kodu fantastik şəkildə asanlaşdıracaq.

Oyun nə qədər sadə və mürəkkəb olursa olsun, Java işi edə bilər!

Bu yazıda, Java proqramlaşdırmasına yeni başlayanlar sadə, lakin tam işlək bir slot maşınını necə qura biləcəyinə nəzər salaq. Slot maşınları uzun müddətdir var, amma əyləncə dəyəri bir az da azalmır. 1996 -cı ildə dünyaya onlayn kazino oyunu təklif edən ilk veb sayt olan InterCasino hələ də mövcuddur və slot oyunları tez -tez yenilənir. Əlavə olaraq, Amerika Oyun Assosiasiyasına görə, slotlar oyun pulunun təxminən 62% - 90% -ni meydana gətirərək maşınları kazinoların pul inəyi halına gətirir. Bu faktları nəzərə alaraq, gələcəkdə milyonlarla kazino oyun həvəskarının bəyənə biləcəyi öz slot maşınınızı yaratmaq istəmirsinizmi? Java əsaslı slot oyunları yaratmaqla maraqlanırsınızsa, aşağıdakı kod sizin üçün faydalı ola bilər.

Yuxarıdakı kod üçün bir YouTube istifadəçisi olan M ajestic'e təşəkkürlər. Oyunun yaradılmasında istifadə etdiyi şəkillər burada.

Bu günə qədər uğur qazansanız, məni də izləyə bilərsiniz:

Bir neçə il əvvəl Java proqramlaşdırma öyrənərkən özümü və proqramlaşdırma bacarıqlarımı Java -da oyun yazaraq sınamağı düşünürdüm. İndi buna 'oyun proqramlaşdırması' deməyəcəyəm, çünki oyun proqramlaşdırması etdiyimdən daha çox şeydir. Əslində etdiklərim mənim üçün bir sınaq idi. Buna görə də köhnə Nokia E50 telefonumda oynadığım bir oyunu Slot Oyunu yazmağa qərar verdim.

Telefonumda oynadığım bu slot oyunu həqiqətən sadə idi. Hər birində fərqli maddələr olan yalnız 3 yuva var idi. Siz təkan idi Spinslots fırlatmaq üçün düyməsini iki və ya üç slots eyni idi, əgər pul kiçik bir məbləğ qazana bilər. Əlbəttə ki, 3 yuva 2 -dən daha yaxşı idi. Belə bir oyun yaratmaq həqiqətən çətin deyil, amma yeni başlayanlar üçün başlamaq daha yaxşıdır. Xatırladığım kimi, yəqin ki, başqalarına deyə biləcəyim ilk proqram idi: "Baxın nə etdim!"

Buna görə əvvəlcə yalnız konsol olaraq, sonra da GUI istifadə edərək (o vaxt NetBeans istifadə etdiyimi xatırlayıram) üzərində işləməyə başladım. Etdiyim ilk şey, hansı şəkillərdən (əslində şəkillərdən deyil, adlarından) istifadə edəcəyimə qərar vermək idi. Bu kod xəttini yazdım:

İstifadəçinin iki və ya üç simvola uyğun gələcəyi təqdirdə qazanacağı "pul" məbləğinin nə olacağına da qərar verdim:

Bundan sonra, simvollar sırasındakı elementlərdən birini təsadüfi seçməyi təklif edən kodu yazmağa davam etdim. Bu Math.random () metodundan istifadə etməklə və ya Random nümunəsində nextInt () metoduna zəng etməklə və ya əvvəlində etdiyim səhv üsulla edilə bilər:

Əlbəttə ki, tezliklə Math.random () çağırmağa keçdim və serialım üçün indeks olaraq istifadə edə biləcəyim bir nömrəni əldə etmək üçün bu kod blokunu yazdım:

Dəyişən seçim, serialdan təsadüfi bir maddə almaq üçün istifadə edə biləcəyim təsadüfi indeks idi (unutmayın ki, Math.random () 0.0 ilə 1.0 arasında ikiqatqaytarır )

Beləliklə, təsadüfi 3 element seçdikdən sonra, onları konsolda çap etdim, heç birinin, iki və ya üç uyğunluğun olmadığını və əgər varsa, verilən əmsalla qazanılan pulun miqdarını hesabladım. Yaxşı bir başlanğıc idi; Yalnız UI haqqında düşünmək məcburiyyətində qaldım və UI dizaynını yudumlayıram. Ancaq bunun üçün ehtiyac duyduğum, planlaşdırdığım kimi kodlaşdırmağı bacardığım həqiqətən sadə bir dizayn idi.

Məhsulların yuvalarda göstərilməsi üçün onları googled və 12 -ni tək bir sprite ilə tapdım. Mən sprite yüklədim və bəzən həqiqətən sehrli ola biləcək köhnə foto tənzimləmə proqramımı başladım; Microsoft Paint! Şəkillərin 122x114 piksel eyni ölçüdə olmasına diqqət edərək sprite -dən şəkillər kəsməyə başladım. Niyə bu sehrli dəyərlər? Sadəcə ona görə ki!

Qalan şey UI idi. NetBeans ilə göndərilən həqiqətən faydalı bir sürükle-buraxılan UI qurucusundan istifadə edə bilərdim, amma bunu özüm etmək istəyirdim. Həqiqətən tanıdığım tək şey GridLayout olduğu üçün hansı tərzdən istifadə edəcəyimi anlamaqda çox çətinlik çəkdim. Hər halda, bunun yanında FlowLayout və BorderLayout istifadə etməyi bacardım. Aralarında bir fərq var, amma bunu göstərə bilmərəm, buna görə də onlar üçün onlayn JavaDoc -u yoxlaya bilərsiniz.

Oyunu qurmağı bacardım və oynamağa başladım. Bahisin vurulma əmsallarının çox yüksək olduğunu başa düşdüm, amma oyunun işlədiyini bildiyim müddətdə əhəmiyyət vermədim.

Mənim pis təcrübələrim

Gördüyünüz kimi, bu sadə oyunun mənbə kodu yalnız bir sənəddədir. Bu artıq etmək istəmədiyim bir şeydir. Bunu etmək üçün daha yaxşı bir yol, kodu mümkün qədər modul etməkdir. UI -ni tətbiqin məntiqindən ayıraraq kiçik modul elementlər quraraq test və ayıklama mərhələsində özünüzə kömək edirsiniz. Dəyişmək istədiyim ilk şey, bütün Slot yuvalarını bölmək, JFrame -i onu çağıran sinifdən uzadır.

Bu, ilk növbədə yalnız UI kodunu ehtiva edəcək Slots.java adlı bir fayl yaratmaqla edilir. Daha sonra fərqli düymə kliklərini dinləyəcək ActionListener yaratmaq (5 fərqli düymə var). Nəhayət, yalnız Slots nümunəsi yaradacaq və onu işə salacaq App.java adlı bir sinif yaratmaq.

Əsasən, App.java belə görünür:

Looplar Yüklənərkən/üçün Slot Maşın Java Kodu

Xatırladığım kimi, SwingUtilities.invokeLater () UI iş parçasını digər mövzulardan ayırmaq üçün istifadə olunur, buna görə də hər hansı bir UI dəyişikliyinə ehtiyac olarsa, tətbiqi dayandırmayacaqlar.

SlotButtonListener kimi bir şey adlandırıla bilən Dinləyici sinfi belə bir şey ola bilər:

Sadə Slot Maşın Java Kodu

Və nəhayət, Slots sinifində yalnız oyunun UI -ni təyin etmək üçün kod olacaqdı. Bütün düymələrdə hərəkət dinləyicisi olaraq SlotButtonListener olardı.

Bu tövsiyələrə əməl edərək kodu dəyişdirmək istəyən hər kəs bunu etməkdə sərbəstdir. İstədiyiniz vaxt çəngəl edə bilərsiniz.

Mənim üçün Java proqramlaşdırma məsləhətiniz varmı? Aşağıda şərh etməkdən çekinmeyin