Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Men grafik ruletka qildim. Agar siz tugmani bossangiz, rulet aylana boshlaydi. Agar siz yana bossangiz, rulet aylanishni to'xtatadi va signal beradi!
1 -qadam: O'chirish
Biz faqat simli karnay va tugmani ishlatamiz.
Dasturda simlarning pin raqamlari yozilgan.
tugma = obniz.wired ("Tugma", {signal: 6, gnd: 7}); karnay = obniz. simli ("Karnay", {signal: 0, gnd: 1});
2 -qadam: Ruletka tasvirini aylantirish
HTML -da siz "CSS -ni o'zgartirish" dan foydalanishingiz mumkin. Masalan, bu tasvirni 90 daraja aylantirish kodi.
document.getElementById ("rulet"). style = "aylantirish: aylantirish (90 daraja);";
Sekin aylanishni boshlash va to'xtatish uchun har bir kvadrat uchun aylanish tezligi uchun var tezligini qo'shing.
tezlik = 0 bo'lsin; deg = 0 bo'lsin; rotate funktsiyasi () {deg += tezlik; document.getElementById ("rulet"). style = "aylantirish: aylantirish ("+deg+"deg);";
}
setInterval (aylantirish, 10);
3 -qadam: ovozli signal
Ruletkada hech qanday o'zgarish yo'qligini xohlaysizmi? Bu bilan siz 440 gigagertsli 10 militsionerda signal berishingiz mumkin.
spiker.play (440); kuting obniz.wait (10); spiker.stop ();
Ruletka raqami o'zgarganini shunday bilish mumkin.
if (Math.floor ((deg + tezlik) / (360 / 7.0)) - Math.floor (deg / (360 / 7.0))> = 1) {onRouletteChange (); }
Shunday qilib, bu aylantirish va signal berish kodidir.
tezlik = 0 bo'lsin; deg = 0 bo'lsin; funktsiya rotate () {// agar qiymat o'zgarganda } deg += tezlik; document.getElementById ("rulet"). style = "aylantirish: aylantirish ("+deg+"deg);";
}
setInterval (aylantirish, 10);
onRouletteChange () {asinxronizatsiya funktsiyasi
if (! spiker) {qaytish;} spiker.play (440); kuting obniz.wait (10); spiker.stop (); }
4 -qadam: bosilgan tugmachadan boshlang
Tugma holatini bilish uchun var buttonState qo'shing va joriy tugma holatining qiymatini o'rnating.
button.onchange = funksiya (bosildi) {buttonState = bosildi; };
Bundan tashqari, rulet.phase -ning hozirgi holati uchun var fazasini qo'shing, shulardan biri o'rnatiladi.
const PHASE_WAIT_FOR_START = 0; const PHASE_ROTATE = 1; const PHASE_STOPPING = 2; const PHASE_STOPPED = 3;
Masalan, faza PHASE_WAIT_FOR_START va keyingi bosqichga o'tishni xohlasangiz.
agar (faza == PHASE_WAIT_FOR_START) {tezlik = 0; agar (buttonState) {faza = PHASE_ROTATE; }}
Rulettani tezlashtirish uchun var tezligini o'zgartiring.
agar (faza == PHASE_ROTATE) {tezlik = tezlik+0,5; }
Rulettani tezlashtirish uchun var tezligini o'zgartiring.
:
agar (faza == PHASE_STOPPING) {tezlik = tezlik-0,2; }
Bu ruletning tarkibiy qismi. Keling!
5 -qadam: Dastur
Iltimos, dastur uchun bu erga qarang