Orodha ya maudhui:
- Hatua ya 1: SEHEMU
- Hatua ya 2: SCHEMA
- Hatua ya 3: CODE
- Hatua ya 4: CODE BITMAP
- Hatua ya 5: Asante kwa Kuangalia
Video: Mbio wa Mchezo Toleo la 2: 5 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
Halo kila mtu. Kabla ya toleo hili la mchezo, ı ilichapisha toleo la kwanza la mchezo. Leo, ı nitakuonyesha Toleo la Mbio za Mbio za Nafasi. Wacha tuangalie hatua…
Hatua ya 1: SEHEMU
Hapa kuna orodha ya sehemu ambazo nilikuwa nikifanya mradi huu:
- Arduino UNO
- Moduli ya Joystick
- Wiring Jumper (wa kiume hadi wa kiume na wa kiume kwa wa kike)
- Bodi ya mkate
Hatua ya 2: SCHEMA
VCC -> Arduino 5V
BL -> pini ya Arduino 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pini 8
DIN (MOSI) -> Arduino pini 9
DC -> Siri ya Arduino 10
CE au CS -> pini ya Arduino 12
RST (Rudisha) -> Arduino pin 11
Hatua ya 3: CODE
Nambari hiyo ina maelezo ya kazi za kificho. Utaielewa kwa urahisi. Ikiwa una shida, unaweza kuwasiliana nami.
# pamoja
LCD5110 LCD (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)
udhibiti wa boolean = kweli;
boolean dusmanoldu = kweli;
nje uint8_t SmallFont ; // kuelezea fonts
nje uint8_t MediumNumbers ; nje uint8_t arac ; // kuelezea sura yetu nje uint8_t dusmanAraci ; // kukataa sura ya adui const int xpin = A0; // fimbo ya shangwe x pin char pozisyon = 3; // kuelezea eneo, sura yetu kuanza eneo 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // eleza adui1 x eneo int dusmankonum2; // eleza adui2 x eneo int dusmankonum3; // eleza adui3 x eneo int dusmankonum4; // eleza adui4 x eneo int dusmankonum5; // eleza adui5 x eneo int dusmaninYdekonumu;
batili oyunEkrani () {// weka skrini ya mchezo
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // tunachora mstatili LCD.setFont (SmallFont); // kuweka font lcd.print ("skor", 57, 1); // alama ya kuchapisha lcd.print ("hiz", 60, 24); // kasi ya kuchapisha lcd.setFont (MediumNumbers); // weka font lcd.printNumI (skor, 55, 8); // pata alama lcd.printNumI (hiz, 63, 32); // pata kasi lcd.update (); }
utupu dusmanAracidurum (int yer, int asama) {// weka maeneo ya maumbo ya adui
ikiwa (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7);.choraBitmap (10, asama, dusmanAraci, 7, 7); lcd.update ();} ikiwa (yer == 3) {lcd.drawBitmap (18, asama, dusmanAraci, 7, 7); lcd.update (); } ikiwa (yer == 4) {lcd.drawBitmap (26, asama, dusmanAraci, 7, 7); lcd.update ();} ikiwa (yer == 5) {lcd.drawBitmap (34, asama, dusmanAraci, 7, 7); lcd.update ();} ikiwa (yer == 6) {lcd.drawBitmap (42, asama, dusmanAraci, 7, 7); lcd.update ();}}
batili oyunbitti () {// ikiwa tutashindwa, mchezo umekamilika
wakati (1) {kuchelewesha (100); // subiri 1 milisecond lcd.clrScr (); lcd.setFont (NdogoFont); lcd.print ("OYUN BITTI", KITUO, 8); // mchezo wa kuchapisha juu ya lcd.print ("skorunuz =", 3, 30); // chapisha alama yako lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // pata alama ya mwisho lcd.update (); }}
usanidi batili () {
pinMode (BL, OUTPUT); // kuweka nyuma taa ya Pato ya pini (xpin, INPUT); // weka pini ya x kama pembejeo ya lcd. InitLCD (); // initilaze skrini ya LCD lcd.setContrast (55); // kuweka tofauti (karibu 0 hadi 127) Serial.begin (9600); // kuanza uunganishaji mfululizo]
kitanzi batili () {
AnalogWrite (BL, 350); oyunEkrani ();
// durumu ya furaha… // weka eneo la kufurahisha…
int durumx = AnalogSoma (xpin); ikiwa (durumx <300 && pozisyon! = 1 && kontrol == kweli) {// ikiwa eneo! = 1, x state600 && pozisyon! = 6 && kontrol == kweli) {// ikiwa eneo! = 3, x state> 600 na udhibiti ni pozisyon ++ ya kweli; // ongeza eneo inamaanisha hoja sura kwa udhibiti wa kulia = uwongo; } kingine ikiwa (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // hali ya msimamo… ikiwa (pozisyon == 1) {// ikiwa eneo = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // chora meli yetu ikiwa (pozisyon == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} ikiwa (pozisyon == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();} ikiwa (pozisyon == 4) {lcd.drawBitmap (26, 41, arac, 7, 7); lcd.update ();} ikiwa (pozisyon == 5) {lcd.drawBitmap (34, 41, arac, 7, 7); == 6) {lcd.drawBitmap (42, 41, arac, 7, 7); lcd.update ();}
ikiwa (dusmanoldu) {// ikiwa sura ya adui imekufa, angalia wamekufa
dusmankonum1 = pozisyon; // chora sura ya kwanza ya adui dusmankonum2 = nasibu (0, 6); // chora sura nyingine ya adui mahali pengine dusmankonum3 = nasibu (0, 6); dusmankonum4 = nasibu (0, 6); dusmankonum5 = nasibu (0, 6); dusmaninYdekonumu = 0; // leta adui kutoka juu dusmanoldu = uwongo;} // adui anaundwa tena kwa hivyo hawajafa
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // chora sura ya kwanza ya adui na uipate kutoka juu hadi chini
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // chora sura ya pili ya adui na uipate kutoka juu hadi chini dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; ikiwa (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// ikiwa sura yetu inagusa maumbo ya adui oyunbitti (); // mchezo umeisha}
ikiwa (dusmaninYdekonumu> 42) {// ikiwa umbo letu linatoroka kutoka kwa maadui
dusmanoldu = kweli; // kuua maumbo ya adui skor ++; // ongeza alama moja kwa moja}
// skora gore hizi artiriyoruz // ongeza kasi kulingana na alama
ikiwa (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; kuchelewesha (5); }
}
Hatua ya 4: CODE BITMAP
Kwa kuongezea, lazima ujumuishe picha ya bitmap kwa maumbo. Lazima iwe faili ya.c.
# pamoja na // ni pamoja na kazi ya progmem
const unsigned char arac PROGMEM = {// sura yetu bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// adui meli bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Hatua ya 5: Asante kwa Kuangalia
Maana ya maneno mengine:
Oyun => Mchezo
Arac => Umbo
Dusman => Adui
kudhibiti => kudhibiti
Konum, Yer => Mahali
Oyun Bitti => Mchezo Umekamilika
Skor => Alama
Hiz => Kasi
Ilipendekeza:
Toleo la Minesweeper-Raspberry-Pi-Toleo: Hatua 7 (na Picha)
Minesweeper-Raspberry-Pi-Edition: Mradi wangu wa mwisho wa safu ya CSC 130 katika Chuo Kikuu cha Louisiana Tech ni Toleo la Minesweeper Raspberry Pi. Katika mradi huu, nilitafuta kurudisha mchezo wa kawaida wa wachimba mines kwa kutumia maktaba ya Tkinter ya programu ya Python
Toleo la Mchezo wa Mbio za Nafasi ya Arduino _1: Hatua 5
Mbio wa Arduino Mbio Mchezo Toleo _1: Haya marafiki. Leo ı am ganna kukuonyesha jinsi unaweza kutengeneza Mchezo wa Mbio za Nafasi na skrini ya LCD5110 na joystic. Wacha tuangalie hatua
Mchezo wa Mwitikio wa Haraka: Toleo la Umbali: Hatua 5 (na Picha)
Mchezo wa Reaction ya Haraka: Toleo la Umbali: Hi. Hii ni ya kufundisha juu ya jinsi ya kuunda mchezo ambao hujaribu wakati wako wa athari na hisia ya umbali. Mradi huu unategemea mradi wa zamani ambao niliwashirikisha wachezaji wawili wakishindana kuona ni nani alikuwa na wakati wa kukabiliana haraka kwa kubofya kitufe w
Mbio wa Nafasi: Mchezo rahisi wa Kubofya wa Arduino kufanya na watoto: Hatua 7
Mbio wa Nafasi: Mchezo rahisi wa Kubofya wa Arduino kufanya na watoto: ¡ ninapakia video inayoonyesha jinsi inavyofanya kazi leo! Endelea kuwa nasi Tunaburudika na nafasi ya kufundishia inayoweza kutengenezwa pamoja na watoto, na baadaye ufurahie wao peke yao kama toy.Unaweza kuitumia kama maana ya kuwafundisha historia kuhusu ushirikiano
Buruta Mbio Wakati wa Kugusa Mbio: Hatua 5 (na Picha)
Buruta Wakati wa Kujibu Mbio: Katika hii inayoweza kufundishwa, nitakuonyesha jinsi ya kuunda mkufunzi wa wakati wa kugusa mbio. Ukiwa na kila kitu kimekamilika, utaweza kutumia kitufe kuzungusha taa zote na kupata wakati wa majibu. Viongozi wawili wa juu wa manjano watawakilisha t