mening kichik slot mashinasi yordami (looplar, usullar, agar/boshqa)

By 08.09.2021 08.09.2021

5 javoblar - 6202 marta ko'rilganlar - Oxirgi xabar: 2007 yil 7-aprel - 19:07 gacha baho berish mavzusi:

# 1 BudLight412

  • Xabarlar: 16
  • Qo'shilgan: 28-yanvar, 07-yanvar

mening kichik slot mashinasi yordami (looplar, usullar, agar/boshqa)

menga kimdir mening avtomat o'yinimda yordam berishi mumkinmi? Men buni qilishga harakat qilaman, shuning uchun foydalanuvchi boshlang'ich garovni 25 ga bo'linishi kerak (bu qism to'g'ri ishlaydi) va keyin foydalanuvchi istalgan raqamga garov tikishi mumkin, agar u boshlang'ichdan past bo'lsa va undan yuqori bo'lsa. 25 sentdan Men uni ko'p qismini ishga tushirishim mumkin, o'yin oxirida muammolarga duch kelmoqdaman;

1-chi.

Agar foydalanuvchi yana o'ynashni xohlaysizmi degan savolga "no" ni kiritsa, mening o'yinim foydalanuvchilarning natijalariga qarab, agar "if" qatorini o'tishi kerak. Mening muammoim shuki, agar men "yo'q" deb kiritsam, o'yin to'g'ri xabarni ko'rsatsa-da, u ko'rsatilgandan so'ng u o'yinni qayta boshlaydi, men uni tugatishim kerak

2-chi.

mening o'yinim raqamli garov nolga etganidan keyin to'xtaydi va agar foydalanuvchi noldan past bo'lsa, garovni davom ettirishiga yo'l qo'ymaydi deb o'ylayman. garchi garov mening tikishim qat'iy nazar davom etsa va

(Men bu halqa muammosi deb o'ylayman, lekin men looplar bilan qo'rqaman) Yordam bering !!

Javoblar:mening kichik slot mashinasi yordami (halqalar, usullar, agar/boshqa)

21-son

  • Xabarlar: 185
  • Ro'yxatdan o'tgan: 03-07-fevral

Re: Mening kichik slot mashinasi yordami (looplar, usullar, agar/boshqa)

Mana bu sizning muammoning menga tushgan qismi:



Siz istagan narsa keyingi uchta gapni qamrab oladigan birinchi if ifodangiz. Shunday qilib,

agar (input.equals ("no"))

bo'lsa, unda (yutuqlar>raqam)

va agar (yutuqlar == raqam)

va (yutuqlar

Agar siz hozirda qanday o'rnatgan bo'lsangiz, agar if if birinchi bo'lsa, ikkinchisi if ifoda qilinadi. Buni tuzatish uchun if ifodasini qavslar bilan bloklang:



Bu meni keyingi muammoga olib keladi: System.exit (0) iborasi while tsiklining ichida joylashgan emas. Ko'rib turganimdek, sizning halqangiz hech qachon yolg'on bo'lmaydi, shuning uchun mohiyatan sizda cheksiz tsikl mavjud. Bunga qarshi kurashishning uchta usuli mavjud.

1- while

operatoringizni o'zgartirishingiz mumkin 2- if blokidagi 'break' iborasini ishlatishingiz mumkin

3- siz hali while while rejimida bo'lganingizda dasturdan chiqishingiz mumkin

Bu takliflar yaxshilikning pasayishi uchun. Shunday qilib, ideal holda, nima qilishni xohlasangiz, while loopingizni oxir-oqibat yolg'onga aylantiradigan narsaga aylantiring. Bu qanday vaziyat bo'lishi mumkinligini bilish uchun kodingizni ko'rib chiqmadim, shuning uchun sizga tez va tartibsiz yo'l beraman.

Ko'pincha, tsikldan chiqish uchun tanaffusdan foydalanish Java-da yomon ko'riladi. Ammo, men hozirda C ni o'rganmoqdaman va mening professorim buni qilishga undaydi, shunday qilib:

Pastki qismdagi if ifoda siz foydalanuvchidan davom etishni xohlaysizmi yoki yo'qmi deb so'raysiz. Agar ular "yo'q" deyishsa, siz yana ko'chadan o'tishni xohlamaysiz. Buni darhol amalga oshirishning usuli quyidagicha yozishdir:

break;

Shunday qilib, siz o'z vaqtingiz davridan chiqib ketasiz va undan keyin keladigan kodni ishga tushirasiz. Ya'ni:

System.exit (0);

Bu chiroyli va oson tuzatish:



Endi bu ideal emas, lekin bu ishni tugatadi.

Kelajakda while loopingizni tuzatishni xohlashingiz mumkin. Men quyidagi shartni qo'shishni taklif qilaman:



Bu, asosan, if iborangiz bilan bir xil ishni bajaradi, chunki u tsiklning takrorlanishiga yo'l qo'ymaydi, ammo men sizni shu bilan o'ynashga qoldiraman.

Ushbu xabar keemstomonidan tahrirlangan : 2007 yil 27-mart - 16:53

# 3 capty99

  • Xabarlar: 10,081
  • Ro'yxatdan o'tgan: 26-aprel-01

Re: Mening kichik slot mashinasi yordami (looplar, usullar, agar/boshqa)

№ 4 BudLight412

  • Xabarlar: 16
  • Qo'shilgan: 28-yanvar, 07-yanvar

Re: Mening kichik slot mashinasi yordami (looplar, usullar, agar/boshqa)

Katta rahmat, bu menga yordam berdi, endi menda yana ikkita muammo bor.

1-chi.

garovim nolga etganida, o'yin to'xtashini istayman, faqat qaytadan boshlanadi.

2-chi.

Boshqa narsa shundaki, mening balansim $ 1.00, lekin mening pul tikishim $ 2.00 deb o'ylayman, men o'yinni ochishini istayman va foydalanuvchidan balansga (yutuqlarga) teng bo'lmagan yoki unga teng bo'lmagan boshqa raqamni kiritishini so'rayman. ochiladi, lekin agar men balansdan yuqori raqamni kiritsam, dastur yana o'ynashni xohlaymanmi degan savolga qaytadi. Men shuni xohlaymanki, agar men bo'shliqdan yuqori raqamni kiritsam, dastur mendan kichikroq raqamni kiritishni so'rab qoladi. Bundan tashqari, agar men balansga teng raqamni kiritmoqchi bo'lsam va yo'qotsam, dasturni birinchi muammomda aytilganidek tugatishni xohlayman.

input = JOptionPane.showInputDialog ("balansingiz: $"+formatter.format (yutuqlar)+"\ nQanchasini tikishni xohlaysiz?");

bet = Double.parseDouble (kirish);

/ * Slotlarni o'ynash uchun while tsiklini e'lon qilish * /

while (bet>= .25 && bet
<

// uyalar uchun tasodifiy raqamlarni aniqlash

sign1 = (Math.abs (questions.nextInt ()) )% 6);

sign2 = (Math.abs (questions.nextInt ())%6);

sign3 = (Math.abs (questions.nextInt ())%6);

JOptionPane.showMessageDialog (null, sign1 + "-" + sign2 + "-" + sign3);



// Natijalar

balansini olish uchun usulni chaqirish = updateBalance (sign1, sign2, sign3, garov);

// Umumiy yutuqlar

hisobini yuritish + = qoldiq;

agar (

garov >yutuqlar) // BU MENGA YORDAM KERAK KIRISH = JOptionPane.showInputDialog ("Sizning qoldiqingiz" "formatter.format (yutuqlar) +" tomonidan $ .25 ");

if (yutuqlar>0)

input = JOptionPane.showInputDialog ("Sizning balansingiz $"+formatter.format (yutuqlar)+"\ nQayta o'ynashni xohlaysizmi?", "ha yoki yo'q");

if (input.equals ("no"))

<

if (yutuqlar>raqam)

JOptionPane.showMessageDialog (null, "O'ynaganingiz uchun tashakkur \ nSiz $ yutdingiz"+formatter.format (yutuqlar soni));

agar (yutuqlar == raqam)

JOptionPane.showMessageDialog (null, "Siz o'ynaganingiz uchun tashakkur \ nSizni sindirib tashladingiz");

agar (yutuqlar
JOptionPane.showMessageDialog (null, "Siz o'ynaganingiz uchun tashakkur \ nSiz $" + formatter.format (raqamli yutuqlar) + "ni asl pul tikishingizdan $" + formatter.format (raqam)) yo'qotgansiz;

tanaffus;

>

>

System.exit (0);

>

5 -raqam 21

  • Xabarlar: 185
  • Ro'yxatdan o'tgan: 03-07-fevral

Re: Mening kichik slot mashinasi yordami (looplar, usullar, agar/boshqa)

Xo'sh, men buni siz uchun yozmayman. Ammo men sizga yana bir oz ko'proq ko'rsatma beraman. Ishoning, agar buni o'zingiz hal qilsangiz, oxir-oqibat bunga loyiq bo'ladi.

Shunday qilib, bu sizning muammolaringiz:

Katta rahmat, bu menga yordam berdi, endi menda yana ikkita muammo bor.

1-chi.

garovim nolga etganida, o'yin to'xtashini istayman, faqat qaytadan boshlanadi.

2-chi.

Boshqa narsa shundaki, mening balansim $ 1.00, lekin mening pul tikishim $ 2.00 deb o'ylayman, men o'yinni ochishini istayman va foydalanuvchidan balansga (yutuqlarga) teng bo'lmagan yoki unga teng bo'lmagan boshqa raqamni kiritishini so'rayman. ochiladi, lekin agar men balansdan yuqori raqamni kiritsam, dastur yana o'ynashni xohlaymanmi degan savolga qaytadi. Men shuni xohlaymanki, agar men bo'shliqdan yuqori raqamni kiritsam, dastur mendan kichikroq raqamni kiritishni so'rab qoladi. Bundan tashqari, agar men balansga teng raqamni kiritmoqchi bo'lsam va yo'qotsam, dasturni birinchi muammomda aytilganidek tugatishni xohlayman.

Qachonki sizda shunday narsa bo'lsa, buning uchun sizga ikkita narsa kerak bo'ladi:

1.) Men bu holatni shu paytgacha yozgan kodim bilan qanday ta'riflay olaman?

2.) Bu holat qachon yuz beradi?

#2 har ikkala holat uchun ham oson: ikkalasi ham sizning vaqt tsiklida sodir bo'ladi. Siz uni while loopiga qo'ygan joyingizni to'g'rilashingiz kerak bo'lishi mumkin, ammo bu siz kichik sinov va xatolar bilan aniqlab olishingiz mumkin bo'lgan tafsilot.

Endi #1 uchun. Siz aytgan narsani yozishga harakat qilib ko'ring psudokod:



Yana bir taklif: Siz hozir qila oladigan eng yaxshi disk raskadrovka - bu dasturni berilgan vaziyatlar bilan qayta -qayta ishga tushirishning o'rniga, miyangizda nazariy vaziyatni o'ylab toping va keyin berilgan vaziyat uchun bajariladigan kodni o'qing.

Bu biroz chalkash tuyulishi mumkin, shuning uchun sizga bir misol keltiray:

- sizning bankingizda $ 400

- so'rov keladi -

siz $ 20 pul tikishni tanladingiz -

while loopiga kirasiz: while (bet>= .25 && garov
yangilandi-

yutuqlar yangilandi

-balans oynada ko'rsatiladi, sizdan boshqa pul tikish so'raladi -

siz yana $ 20 tanladingiz

-tayin o'ynashni xohlaysizmi, deb so'rashadi

- --- siz "ha" qo'ydingiz

.

.

.

Endi har bir qo'shimcha chiziqli bayonot - bu o'yinni o'ynayotgan odam qabul qilishi mumkin bo'lgan qaror. Agar bankda atigi 400 dollar bo'lsa, ular birinchi qaror uchun 20000 dollar tikishni tanlasalar -chi? Keyin qaysi bayonotlar ishga tushirilsa va qanday qaror qabul qilinishi mumkin. Thourgh bilan o'ynaganingizdan so'ng, uni haqiqiy o'yinda sinab ko'ring. $ 20000 miqdoridagi garovni kiriting va nima bo'lishini kutayotganingizni tekshiring.

Bu dasturchilar doimiy ravishda o'zlari bilan o'ynaydigan o'yin: men kutgan narsalar aslida ro'y berdimi?

-Agar shunday bo'lsa, bu ajoyib.

-Agar bunday bo'lmasa, unda nega bunday qilmadi?

Bu disk raskadrovka bilan bog'liq.

Endi bunga yeting. Ko'p muammolarni hal qilishda qaytib keling.