久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 嘗試用MAX7219點陣模塊做了個小游戲 [打印本頁]

作者: 小華盛頓    時間: 2017-7-26 15:17
標題: 嘗試用MAX7219點陣模塊做了個小游戲
本著人人為我,我為人人的態度,希望能幫助到和我一樣的菜鳥:P
材料清單:Arduino uno一塊
                MAX7219點陣模塊一個
                普通按鈕2個
                1K電阻2個
                杜邦線若干
好了,我先上一個視頻吧
http://v.youku.com/v_show/id_XMjkxNTQ5MTgyMA==.html?spm=a2h3j.8428770.3416059.1

  1. #include <Sprite.h>
  2. #include <Matrix.h>
  3. #include <MsTimer2.h>

  4. Matrix myGame = Matrix(8,9,10,1);//
  5. int x = 3;//球拍在x方向的位置
  6. int y = 0;//球拍在y方向的位置
  7. int x1;//球出現的x方向位置
  8. int y1 = 0;//球出現的y方向位置


  9. Sprite qiupai = Sprite(
  10.          2,2,
  11.          B11,
  12.          B11
  13. );//球拍的圖案
  14. Sprite quxiao = Sprite(
  15.          7,8,
  16.          B0000000,
  17.          B0000000,
  18.          B0000000,
  19.          B0000000,
  20.          B0000000,
  21.          B0000000,
  22.          B0000000,
  23.          B0000000

  24. );//取消所有圖案
  25. Sprite quxiaoqiupai = Sprite(
  26.          7,1,
  27.          B0000000

  28. );//取消球拍圖案
  29. Sprite qiu = Sprite(
  30.          1,1,
  31.          B1
  32. );//球的圖案

  33. Sprite XX = Sprite(
  34.         7,6,
  35.          B0000000,
  36.          B0100010,
  37.          B0010100,
  38.          B0001000,
  39.          B0010100,
  40.          B0100010
  41. );//失敗后的圖案



  42. void setup()
  43. {
  44.   myGame.clear();//清楚,重啟
  45.   myGame.setBrightness(4);//設置顯示亮度
  46.   myGame.write(3,7,qiupai);//初始化顯示球拍
  47.   randomSeed(analogRead(0));//隨機初始化球的位置
  48.   x1 = random(1,7);//設置隨機范圍
  49.   pinMode(2,OUTPUT);//定義2號引腳為輸出模式
  50.   pinMode(3,OUTPUT);//定義3號引腳為輸出模式
  51.   MsTimer2::set(10,flash);//設置定時器中斷,中斷函數為flash
  52.   MsTimer2::start();//啟動定時器中斷
  53. }

  54. void loop()
  55. {  
  56.    myGame.write(x1,y1,qiu);//顯示球
  57.    delay(100);//球降落的速度延時100ms
  58.    y1 ++;//球的y軸不斷增加,表示球一步步降落
  59.    if(y1 == 8)//如果球降到最底部
  60.    {
  61.       if((x1 == x)||(x1 == x + 1))//此時,如果球的位置與球拍的位置是重合的,表示接球成功
  62.       {
  63.         randomSeed(analogRead(0));//系統重新隨機安排另一個球
  64.         x1 = random(1,7);//設置隨機范圍
  65.         y1 = 0;//球首先出現在最高點
  66.       }
  67.       else//否沒有接到球
  68.       {
  69.         for(int i = 0;i < 6;i ++)//閃爍顯示X,代表剛剛任務失敗
  70.         {
  71.           myGame.write(1,0,XX);//顯示X
  72.           delay(500);
  73.           myGame.write(1,0,quxiao);//隱藏
  74.           delay(500);
  75.         }
  76.         randomSeed(analogRead(0));//過了6秒后,系統游戲重新開始,球隨機回到起點
  77.         x1 = random(1,7);
  78.         y1 = 0;
  79.       }
  80.    }
  81.    myGame.write(1,0,quxiao);//關閉顯示,消除重影
  82. }

  83. void flash() //中斷處理函數,主要處理,按鍵隨時按下時,球拍能及時響應
  84. {                        
  85.   if(digitalRead(3) == HIGH)//如果右邊被按下,球拍往右走
  86.   {
  87.     delay(200);//
  88.     x ++;//橫坐標,自加1
  89.     if(x == 6)//如果加到最右邊時
  90.     {
  91.       x = 5;//限定最右達到第5格
  92.     }
  93.     while(digitalRead(3) == HIGH)//等待按鍵松開
  94.     {
  95.       
  96.     }
  97.   }
  98.   if(digitalRead(2) == HIGH)//如果左邊被按下,球拍往左邊走
  99.   {
  100.     delay(200);
  101.     x --;//橫坐標,自減1
  102.     if(x == 0)//如果減到最左邊時
  103.     {
  104.       x = 1;//限定最左邊能做能到達第一格
  105.     }
  106.     while(digitalRead(2) == HIGH)//等待按鍵松開
  107.     {
  108.       
  109.     }
  110.   }
  111.   myGame.write(x,7,qiupai);//顯示球拍
  112.   delay(100);
  113.   myGame.write(1,7,quxiaoqiupai);//消除重影
  114.   delay(100);
  115. }
復制代碼






作者: 龍之晨曦    時間: 2017-7-30 12:02
視頻打不開,一直緩存。




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: av官网在线 | 成人午夜在线 | 国产伦精品 | 九九天堂网 | 在线欧美日韩 | 欧美三级免费观看 | 色悠悠久 | 国产女人精品视频 | 亚洲国产精品福利 | 日韩成人中文字幕 | 欧美激情一区二区三级高清视频 | 在线欧美一区 | 精品久久久久一区二区国产 | 桃色五月 | 午夜a v电影 | 伊人超碰 | 91精品国产91综合久久蜜臀 | 在线视频一区二区三区 | 国产精品日本一区二区在线播放 | 天天躁日日躁狠狠的躁天龙影院 | 久久久久一区二区三区 | 亚洲精品视频在线观看免费 | 男插女下体视频 | 不卡一区二区在线观看 | 成人在线视频网 | 午夜天堂精品久久久久 | 日韩在线不卡 | 成人性视频免费网站 | 一级片子| 亚洲视频中文字幕 | 成人影 | 日韩亚洲视频 | 天天干天天爽 | 一区二区在线免费观看 | 黄视频网站免费观看 | 日韩精品视频在线 | 久久久久国产视频 | 国产高清精品一区二区三区 | 欧美日韩精品一区二区三区四区 | 2021天天干夜夜爽 | 久www|