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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 19341|回復: 17
打印 上一主題 下一主題
收起左側

點陣俄羅斯方塊游戲板 詳細開發過程

  [復制鏈接]
跳轉到指定樓層
樓主
    我和大家一樣都喜歡電子設計這個領域,喜歡編編程序,調調代碼,焊焊電路,秀秀作品。

    大二的時候寢室有個同學搞了個很大的點陣屏,他說目的是讓他顯示漢字以及編寫各種炫目的漢字顯示動畫。這時我就有了用點陣屏作為簡易顯示屏來編寫一個俄羅斯方塊游戲的想法。點陣顯示都是剛接觸單片機的人再熟悉不過的東西了,所以基本思想大家都懂,我就不詳細嘮叨了。

    花了半個多月沒事就背著電腦往圖書館趕,終于做出來了。當然這個作品也參加了院里的比賽,老師同學都覺得不錯,我也從此迷上了電子設計,我也特別喜歡交友,希望看到文章的都能和我成為朋友

本設計會詳細展示PPT內容,我也會把源代碼上傳,還有工程文件以及用軟件仿真的文件一并公開。
    先給個成品大家看看有個大致的了解吧!

   

    下面是一段跟我同鄉同學講解我作品的視頻,因為是同鄉所以說的是家鄉湖北話,不知道大家能聽懂不!




這個視頻是我操作仿真軟件時的效果,因為是屏幕錄像,沒有聲音,也比較短




    先把文件鏈接給一下吧:

      1.C程序源代碼:   C51程序.rar (14.59 KB, 下載次數: 97)       
      2.keil工程文件包:      keil文件.rar (64.53 KB, 下載次數: 98)
      3.Proteus仿真文件包: Proteus仿真.rar (83.87 KB, 下載次數: 85)
      4.PPT文檔:               《基于8052單片機和8X16點陣屏俄羅斯方塊游戲板》開發介紹.rar (5.11 MB, 下載次數: 79)
      5.電路原理圖:          俄羅斯方塊-仿真運行時版.pdf (22.88 KB, 下載次數: 39)
                                       俄羅斯方塊仿真-原理圖清晰版.pdf (33.38 KB, 下載次數: 56)
                                       

評分

參與人數 1黑幣 +5 收起 理由
kruba + 5 很給力!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:140725 發表于 2016-10-12 13:10 | 只看該作者
源程序:
  1. /*****************************************************************************************
  2. 名稱:《基于8052單片機和8X16點陣屏俄羅斯方塊游戲板》
  3. 時間:05月23日17時
  4. 單位:武漢理工大學信息學院電子1003班
  5. 作者:顏百千
  6. *****************************************************************************************/
  7. #include<reg52.h>
  8. #include<stdlib.h>
  9. #include<math.h>
  10. #define uchar unsigned char
  11. sbit slock=P2^7;                                        //譯碼器輸出使能端
  12. sbit upkey=P2^3;                                        //“旋轉圖形/向上”按鍵
  13. sbit leftkey=P2^1;                                        //“左移/向左”按鍵
  14. sbit rightkey=P2^2;                                        //“右移/向右”按鍵
  15. sbit downkey=P2^0;                                        //“快速下移/向下”按鍵
  16. sbit duan=P2^5;                                                //數碼管段選信號所用鎖存器的鎖存允許端
  17. sbit wei=P2^6;                                                //數碼管位選信號所用鎖存器的鎖存允許端
  18. sbit startsuspendkey=P2^4;                        //“開始/暫停/繼續”多功能切換按鍵
  19. /***********************************圖形編碼機制介紹**************************************
  20. 1.由于俄羅斯方塊圖形的寬度和高度最多只有四位,所以要以4X4為基本單元。
  21. 2.硬件采用16行掃描、8位送顯示信號
  22. 3.各個圖形的寬度不一致,所以要人為給圖形設定居中位置。
  23.   若圖形寬度為偶數可直接將其居中,若為奇數則靠左居中。
  24. 4.由于圖形需要旋轉,所以由基本的圖形會衍生出另外3種圖形。
  25. 5.因此每個圖形應該給定4個8位的二進制碼,并放入一個二維數組里。
  26. 6.經典俄羅斯方塊游戲里有19種不同形狀的方塊,包括旋轉得到的。
  27. 7.數組的第一個下標為該圖形的編號
  28. *****************************************************************************************/
  29. uchar code allshape[19][4]={0x00,0x00,0x18,0x18,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x3c,
  30.                                                         0x00,0x08,0x18,0x10,0x00,0x00,0x30,0x18,0x00,0x10,0x18,0x08,
  31.                                                         0x00,0x00,0x18,0x30,0x00,0x08,0x08,0x18,0x00,0x00,0x38,0x08,
  32.                                                         0x00,0x18,0x10,0x10,0x00,0x00,0x20,0x38,0x00,0x10,0x10,0x18,
  33.                                                         0x00,0x00,0x08,0x38,0x00,0x18,0x08,0x08,0x00,0x00,0x38,0x20,
  34.                                                         0x00,0x00,0x10,0x38,0x00,0x08,0x18,0x08,0x00,0x00,0x38,0x10,
  35.                                                         0x00,0x10,0x18,0x10};
  36. /****************************************************************************************/
  37. uchar code number[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};        //數碼管數形顯示編碼
  38. uchar code weima[4]={0x01,0x02,0x04,0x08};                                                                        //位選信號編碼,方便寫循環使用
  39. char shapewidth[19]={2,1,4,2,3,2,3,2,3,2,3,2,3,2,3,3,2,3,2};                                //各個圖形的寬度屬性,用于判斷左移和右移的步格數上限
  40. char shaperotate[19]={0,2,1,4,3,6,5,8,9,10,7,12,13,14,11,16,17,18,15};                //旋轉圖形時,用于改變圖形的編號以實現圖形的切換
  41. uchar staticdata[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xff};                        //用于存儲方塊降落后固定顯示的圖形信息
  42. uchar rate[5]={0,1,3,6,10};                                                                                                        //規定一次性消掉的行數的分數獎勵機制


  43. /****************************************全局變量聲明************************************/
  44. char y;                                        //方塊位置屬性:底部下落的高度,y=0時:剛剛出現,y=15時:下落到屏幕最底部
  45. char shapenum;                        //方塊形狀屬性:從0到18
  46. int left;                                 //方塊位置屬性:方塊偏離居中位置的格數,不同的方塊left值的上限不同
  47. int mark;                                //玩家分數變量
  48. int speed;                                //方塊下落速度變量
  49. int initialspeed;                //方塊下落的初始速度
  50. int systemspeed;                //系統下落速度,此值會隨著玩家分數的增加而減小,相應的下落速度會增大
  51. int fastspeed;                        //當用戶按下down鍵時,方塊下落速度為此值
  52. int k;                                        //一個全局循環變量,“幀數”變量
  53. int startcontrol=1;                //開始畫面狀態指示變量,為1時說明程序進入開機歡迎界面
  54. int suspendcontrol=0;        //游戲暫停與游戲繼續畫面狀態指示變量,為1說明處在暫停界面,為0說明處在繼續畫面
  55. int randnum;                        //隨機數變量,用于產生隨機方塊
  56. /****************************************************************************************/


  57. /****************************************函數聲明****************************************/
  58. void delayms(int);                                //粗略延時函數
  59. uchar move(uchar,int);                        //對二進制碼實行移位,可為負值
  60. void shapedisplay();                        //對點陣掃描一場,對數碼管掃描一場,用于顯示圖形和數字
  61. void keyscan();                                        //對所有鍵盤掃描一次,并執行相應運算和操作
  62. uchar check(char,int);                        //用于檢查方塊將要下落的位置或是將要旋轉的位置是否有障礙
  63. uchar shapedisappear();                        //用于消行,返回一次性消掉的行數
  64. numberdisplay(int amark);                //用于四位數字顯示
  65. void startimage();                                //游戲等待開始畫面函數
  66. void overimage();                                //游戲結束后的畫面
  67. void dataset();                                        //對數據初始化,為游戲重新開始做準備
  68. /****************************************************************************************/


  69. /*****************************************主函數*****************************************/
  70. void main()
  71. {
  72.         char j;
  73.         startimage();                                        //進入開機,函數內有鍵盤掃描,只有按下“開始”鍵會退出函數,否則不退出
  74.         dataset();                                                //對數據進行初始化
  75.         while(1){                                                //進入大循環
  76.                 k=speed;                                        //確定顯示的幀數
  77.                 while(k--){
  78.                         keyscan();                                //掃描鍵盤,放入高速循環語句中提高鍵盤的響應速度,并檢測此時用戶是否有相應請求
  79.                         shapedisplay();                        //顯示圖形和數字
  80.                 }
  81.                 y++;                                                //圖形下落一格
  82.                 if(check(shapenum,left)){        //在沒有顯示之前判斷將要下落的位置是否有障礙物,如果有障礙就進入到if語句中
  83.                         if(y==1){                                //如果y=1;說明方塊剛出現就遇到障礙物了,這時游戲需結束
  84.                                 overimage();                //進入游戲結束畫面,此函數內沒有鍵盤掃描,運行一段時間會自動退出
  85.                                 startimage();                //又進入開機畫面
  86.                                 dataset();                        //對數據進行初始化,將前一用戶數據清零       
  87.                         }
  88.                         else{                                                                                                        //遇到障礙物,但還不至于圖形不能出現
  89.                                 y--;                                                                                                //y回到原值
  90.                                 for(j=0;j<4;j++){                                                                        //將下落形狀的值賦給固定圖形,形成停留顯示的效果
  91.                                         staticdata[y+j]+=move(allshape[shapenum][j],left);
  92.                                 }
  93.                                 mark+=rate[shapedisappear()];                                                //消掉已拼滿的函數,并記錄所得分數
  94.                                 y=0;                                                                                                //為下一個方塊賦屬性值:從第一行出現
  95.                                 left=0;                                                                                                //為下一個方塊賦屬性值:居中顯示
  96.                                 randnum=rand()%19;shapenum=randnum;                                        //為下一個方塊賦屬性值:給定形狀
  97.                                 systemspeed=initialspeed-10*(mark/40);                                //計算相應分數下的系統速度值,分數越高,速度越快
  98.                                 speed=systemspeed;                                                                        //將此值賦給速度控制量
  99.                         }
  100.                 }
  101.         }
  102. }
  103. /****************************************************************************************/


  104. /***************************************自定義函數***************************************/
  105. void delayms(int xms)                          //粗略的延時函數
  106. {       
  107.         int i,j;
  108.         for(i=xms;i>0;i--)
  109.                 for(j=110;j>0;j--);
  110. }
  111. /****************************************************************************************/
  112. uchar move(uchar aa,int anum)        //移位函數       
  113. {                                                                
  114.         if(anum>=0)
  115.                 aa<<=anum;
  116.         else
  117.                 aa>>=(-anum);
  118.         return aa;
  119. }
  120. /****************************************************************************************/
  121. void shapedisplay()                                //顯示函數
  122. {
  123.         uchar j;
  124.         for(j=y<3?3-y:0;j<4;j++){        //顯示動態方塊               
  125.                 slock=1;P1=j+y-3;P3=move(allshape[shapenum][j],left);
  126.                 slock=0;delayms(1);P3=0x00;
  127.         }
  128.         for(j=0;j<16;j++){                        //顯示靜態方塊
  129.                 slock=1;P1=j;P3=staticdata[j+3];
  130.                 slock=0;delayms(1);P3=0x00;
  131.         }
  132.         numberdisplay(mark);                //分數顯示       
  133. }
  134. /****************************************************************************************/
  135. numberdisplay(int amark)                //大數拆分并顯示,帶去無效零功能
  136. {
  137.         char i;
  138.         uchar num[4];
  139.         num[0]=amark/1000%10;num[1]=amark/100%10;num[2]=amark/10%10;num[3]=amark%10;
  140.         if(amark<10){                                   //顯示一位數
  141.                 for(i=3;i<4;i++){
  142.                         P0=0xff;
  143.                         duan=1;
  144.                         P0=number[num[i]];
  145.                         duan=0;
  146.                         P0=0x00;
  147.                         wei=1;
  148.                         P0=weima[i];
  149.                         wei=0;
  150.                         delayms(1);
  151.                         wei=1;
  152.                         P0=0x00;
  153.                         wei=0;
  154.                 }
  155.         }
  156.         else if(amark<100){                          //顯示兩位數
  157.                 for(i=2;i<4;i++){
  158.                         P0=0xff;
  159.                         duan=1;
  160.                         P0=number[num[i]];
  161.                         duan=0;
  162.                         P0=0x00;
  163.                         wei=1;
  164.                         P0=weima[i];
  165.                         wei=0;
  166.                         delayms(1);
  167.                         wei=1;
  168.                         P0=0x00;
  169.                         wei=0;
  170.                 }
  171.         }
  172.         else if(amark<1000){                  //顯示三位數
  173.                 for(i=1;i<4;i++){
  174.                         P0=0xff;
  175.                         duan=1;
  176.                         P0=number[num[i]];
  177.                         duan=0;
  178.                         P0=0x00;
  179.                         wei=1;
  180.                         P0=weima[i];
  181.                         wei=0;
  182.                         delayms(1);
  183.                         wei=1;
  184.                         P0=0x00;
  185.                         wei=0;
  186.                 }
  187.         }
  188.         else{                                                //顯示四位數
  189.                 for(i=0;i<4;i++){
  190.                         P0=0xff;
  191.                         duan=1;
  192.                         P0=number[num[i]];
  193.                         duan=0;
  194.                         P0=0x00;
  195.                         wei=1;
  196.                         P0=weima[i];
  197.                         wei=0;
  198.                         delayms(1);
  199.                         wei=1;
  200.                         P0=0x00;
  201.                         wei=0;
  202.                 }  
  203.         }          
  204.         return 0;
  205. }
  206. /****************************************************************************************/
  207. void keyscan()                                         //鍵盤掃錨并執行用戶輸入的指令
  208. {
  209.         if(leftkey==0&&(left<(shapewidth[shapenum]<3?3:2))&&!check(shapenum,left+1)&&
  210.            startcontrol==0&&suspendcontrol==0){
  211.                 delayms(10);                        //按鍵無效條件:1.左移超邊緣;2.左移遇障礙;3.處在歡迎界面;4.處在暫停界面
  212.                 if(leftkey==0){       
  213.                         left++;                                //按鍵命令:方塊左移一位
  214.                         speed=systemspeed;
  215.                         while(!leftkey){                                                       
  216.                                 shapedisplay();                               
  217.                         }
  218.                 }
  219.         }
  220.         if(rightkey==0&&(left>(shapewidth[shapenum]<3?shapewidth[shapenum]-5:shapewidth[shapenum]-6))&&
  221.            !check(shapenum,left-1)&&startcontrol==0&&suspendcontrol==0){
  222.                 delayms(10);                           //按鍵無效條件:1.右移超邊緣;2.右移遇障礙;3.處在歡迎界面;4.處在暫停界面
  223.                 if(rightkey==0){       
  224.                         left--;                                //按鍵命令:方塊右移一位
  225.                         speed=systemspeed;
  226.                         while(!rightkey){                       
  227.                                 shapedisplay();       
  228.                         }
  229.                 }
  230.         }
  231.         if(upkey==0&&!check(shaperotate[shapenum],left)&&(left<(shapewidth[shaperotate[shapenum]]<3?4:3))
  232.            &&(left>(shapewidth[shaperotate[shapenum]]<3?shapewidth[shaperotate[shapenum]]-6:shapewidth[shapenum]-7))
  233.            &&startcontrol==0&&suspendcontrol==0){
  234.                 delayms(10);                        //按鍵無效條件:1.翻轉超左右邊緣;2.翻轉遇障礙;3.處在歡迎界面;4.進入暫停界面
  235.                 if(upkey==0){       
  236.                         shapenum=shaperotate[shapenum];        //按鍵命令:將翻轉后的圖形編號賦給要顯示的圖形編號
  237.                         speed=systemspeed;
  238.                         while(!upkey){                       
  239.                                 shapedisplay();
  240.                         }
  241.                 }
  242.         }
  243.         if(downkey==0&&speed!=fastspeed&&startcontrol==0&&suspendcontrol==0){
  244.                 delayms(10);                        //按鍵無效條件:1.已經進入快速下降狀態;2.處在歡迎界面;3.進入暫停界面
  245.                 if(downkey==0){       
  246.                         speed=fastspeed;        //按鍵命令:將方塊下落速度加快
  247.                         k=speed;
  248.                         while(!downkey){
  249.                                 shapedisplay();
  250.                         }
  251.                 }
  252.         }
  253.         if(startsuspendkey==0&&startcontrol==1&&suspendcontrol==0){
  254.                 delayms(10);                           //按鍵有效條件:1.處在開始歡迎界面;2.處在暫停界面
  255.                 if(startsuspendkey==0){
  256.                         startcontrol=0;                          
  257.                         suspendcontrol=0;        //按鍵命令:使進入繼續游戲狀態
  258.                         while(!startsuspendkey){
  259.                         }
  260.                 }       
  261.         }
  262.         if(startsuspendkey==0&&startcontrol==0&&suspendcontrol==0){
  263.                 delayms(10);                         //按鍵無效條件:1.處在開始歡迎界面;2.處在暫停狀態
  264.                 if(startsuspendkey==0){
  265.                         suspendcontrol=1;       
  266.                         startcontrol=0;                //按鍵命令:狀態切換,使進入暫停狀態
  267.                         while(!startsuspendkey){
  268.                                 shapedisplay();       
  269.                         }
  270.                         while(suspendcontrol){
  271.                                 shapedisplay();
  272.                                 keyscan();                //等待結束暫停狀態的命令
  273.                         }                                                       
  274.                 }
  275.         }
  276.         if(startsuspendkey==0&&startcontrol==0&&suspendcontrol==1){
  277.                 delayms(10);                        //按鍵有效條件:處在暫停界面
  278.                 if(startsuspendkey==0){       
  279.                         suspendcontrol=0;
  280.                         startcontrol=0;                //按鍵命令:狀態切換,使進入繼續游戲狀態
  281.                         while(!startsuspendkey){
  282.                                 shapedisplay();
  283.                         }                               
  284.                 }
  285.         }
  286. }
  287. /****************************************************************************************/
  288. uchar check(char ashapenum,int aleft)        //判斷方塊是否會遇到障礙物
  289. {
  290.         char i=3,j=0;
  291.         while(!j&&i>=0){
  292.                 if((move(allshape[ashapenum][i],aleft)+staticdata[y+i])!=(move(allshape[ashapenum][i],aleft)|staticdata[y+i])){
  293.                         j++;
  294.                 }
  295.                 i--;
  296.         }
  297.         return j;                                                           //返回0,說明沒有障礙
  298. }
  299. /****************************************************************************************/
  300. uchar shapedisappear()                                           //方塊落定后消掉拼滿的行,并使沒有拼滿的行整體下移填補空缺行
  301. {
  302.         char i,j,r=4;
  303.         for(i=0;i<r;i++){
  304.                 if(staticdata[y+3-i]==0xff){
  305.                         for(j=y+3-i;j>0;j--){
  306.                                 staticdata[j]=staticdata[j-1];
  307.                         }
  308.                         i--,r--;
  309.                 }
  310.         }
  311.         return 4-r;                                                        //函數返回一次性消掉的行的數目
  312. }
  313. /****************************************************************************************/
  314. void startimage()                                                  //開機歡迎畫面,在沒有按鍵作用的時候會不斷執行
  315. {
  316.         uchar i,j;
  317.         startcontrol=1;
  318.         while(startcontrol){
  319.                 for(i=10;i>0;i--){
  320.                         for(j=0;j<16;j+=2){
  321.                                 slock=1;P1=j;P3=0xaa;
  322.                                 slock=0;delayms(1);P3=0x00;
  323.                         }
  324.                         for(j=1;j<16;j+=2){
  325.                                 slock=1;P1=j;P3=0x55;
  326.                                 slock=0;delayms(1);P3=0x00;
  327.                         }
  328.                         keyscan();                                           //隨時響應用戶輸入
  329.                 }               
  330.                 for(i=10;i>0;i--){
  331.                         for(j=1;j<16;j+=2){
  332.                                 slock=1;P1=j;P3=0xaa;
  333.                                 slock=0;delayms(1);P3=0x00;
  334.                         }
  335.                         for(j=0;j<16;j+=2){
  336.                                 slock=1;P1=j;P3=0x55;
  337.                                 slock=0;delayms(1);P3=0x00;
  338.                         }
  339.                         keyscan();                                        //隨時響應用戶輸入       
  340.                 }
  341.         }
  342. }
  343. /****************************************************************************************/
  344. void overimage()                                                  //游戲結束畫面,分數會強制閃爍8次,并自動結束
  345. {
  346.         int i,j;
  347.         for(j=0;j<8;j++){
  348.                 for(i=0;i<200;i++){
  349.                         numberdisplay(mark);       
  350.                 }
  351.                 delayms(500);
  352.         }
  353. }       
  354. /****************************************************************************************/
  355. void dataset()                                                           //數據全部清零,重新開始游戲
  356. {
  357.         char j;
  358.         y=0;
  359.         left=0;
  360.         shapenum=0;
  361.         initialspeed=100;
  362.         speed=initialspeed;
  363.         systemspeed=initialspeed;
  364.         fastspeed=5;
  365.         randnum=rand()%19;
  366.         shapenum=randnum;
  367.         mark=0;
  368.         for(j=0;j<19;j++){                                          //清除點陣上的顯示數據
  369.                 staticdata[j]=0;
  370.         }
  371. }
  372. /****************************************************************************************/
復制代碼
回復

使用道具 舉報

板凳
ID:142493 發表于 2016-10-12 21:17 | 只看該作者
牛掰
回復

使用道具 舉報

地板
ID:208443 發表于 2017-7-25 08:17 | 只看該作者
強!~ 按照樓主做一個試試
回復

使用道具 舉報

5#
ID:236898 發表于 2017-10-4 19:35 | 只看該作者
謝謝大佬,國慶花幾天做著玩一下
回復

使用道具 舉報

6#
ID:255861 發表于 2017-12-15 13:06 來自手機 | 只看該作者
我感覺非常有意思,而且內容給的非常的詳細,程序很多注釋,我這種小白都基本都能看懂,我單片機課程設計,就準備做它了,我準備先仿真一下試試看看
回復

使用道具 舉報

7#
ID:255861 發表于 2017-12-15 21:48 來自手機 | 只看該作者
太棒了!剛才試了一下,完全沒有毛病,完美通過!看來我單片機課設,有著落啦!這就買東西!上一波圖!

-39b1b04f5c4cef5e.png (70.08 KB, 下載次數: 134)

-39b1b04f5c4cef5e.png

-38941ed1ea78880.png (68.3 KB, 下載次數: 144)

-38941ed1ea78880.png

-159eee8cdf015562.png (64.84 KB, 下載次數: 133)

-159eee8cdf015562.png

-77f8a2a99b71463c.png (80.86 KB, 下載次數: 145)

-77f8a2a99b71463c.png
回復

使用道具 舉報

8#
ID:242133 發表于 2017-12-20 21:45 | 只看該作者
厲害啊
回復

使用道具 舉報

9#
ID:262061 發表于 2017-12-30 21:49 | 只看該作者
大大,我想問問為什么仿真的時候RESET復位無效呢
回復

使用道具 舉報

10#
ID:262061 發表于 2018-1-1 12:26 | 只看該作者
真滴有點帥哦 發表于 2017-12-15 21:48
太棒了!剛才試了一下,完全沒有毛病,完美通過!看來我單片機課設,有著落啦!這就買東西!上一波圖!

大大,我想問問為什么仿真的時候RESET復位無效呢
回復

使用道具 舉報

11#
ID:273035 發表于 2018-1-8 11:14 | 只看該作者
在實現過程中io設定還是有點問題
繼續琢磨看看!
回復

使用道具 舉報

12#
ID:273035 發表于 2018-1-8 17:19 來自手機 | 只看該作者
想問pcb封裝時 點陣引腳間距設定問題求助555
回復

使用道具 舉報

13#
ID:345426 發表于 2018-6-16 14:38 | 只看該作者
上傳一個點陣引腳圖

2345截圖20180616143726.png (203.62 KB, 下載次數: 110)

2345截圖20180616143726.png

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

14#
ID:365277 發表于 2018-7-6 19:42 | 只看該作者
http://www.zg4o1577.cn/bbs/dpj-126816-1.html
大佬你好,我照著您的教程還原俄羅斯方塊,通電后是這個狀況,請問是什么原因?
想聯系您aienn7086@gmail.com,看到能否回我!
回復

使用道具 舉報

15#
ID:659095 發表于 2019-12-9 09:14 | 只看該作者
樓主可以幫我看一下是怎么回事嗎

俄羅斯方塊.png (120.91 KB, 下載次數: 117)

俄羅斯方塊.png
回復

使用道具 舉報

16#
ID:225288 發表于 2020-1-2 23:43 | 只看該作者
很有參考價值
回復

使用道具 舉報

17#
ID:283883 發表于 2020-1-4 08:07 | 只看該作者
黑幣不夠啊,能不能把這么多文件放在一個壓縮包里,謝謝!
回復

使用道具 舉報

18#
ID:845639 發表于 2020-12-16 20:27 | 只看該作者
很不錯,對于初學者有很大的幫助
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 9191在线观看 | 亚洲视频在线观看免费 | www.伊人.com | 精品九九久久 | 中文字幕一区在线观看视频 | 成人午夜在线视频 | 中文字幕在线播放第一页 | av色噜噜 | 成av人电影在线 | 久久久久久国模大尺度人体 | 日韩高清中文字幕 | 国产精品永久免费视频 | 中文字幕成人av | 一级网站| 九九热免费在线观看 | 亚洲aⅴ | 美女黄色在线观看 | 成人精品一区 | 国产精品欧美一区喷水 | 亚洲成人在线免费 | 日日夜夜天天 | 99久久精品免费看国产小宝寻花 | 在线国产视频 | 国产女人与拘做视频免费 | 国产欧美在线视频 | 亚洲精精品 | 国产精品亚洲成在人线 | 亚洲国产精品99久久久久久久久 | 国产精品久久久亚洲 | 五月婷婷婷| 一区二区三区免费 | 精一区二区 | 亚洲国产精品一区二区久久 | 精品99久久久久久 | 亚洲先锋影音 | 国产精彩视频 | 亚洲精品免费视频 | 福利视频日韩 | 亚洲国产精品一区二区第一页 | 91一区二区三区在线观看 | 国产成人99久久亚洲综合精品 |