資料介紹
描述
您好,它非常簡單,因此無需解釋,只需獲取零件并使用接線圖復(fù)制代碼即可!
怎么玩!
PITF-ARD 點(diǎn)擊開始。向右走找到門鑰匙以完成關(guān)卡。向上移動操縱桿跳躍。
#include
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2);
// VARIABLES DECLARATION
int game = 0;
int gameover = 0;
int le = 0;
float ll = 0;
int key = LOW;
int mov=0;
int cc=1;
int screen1[202];
int screen2[202];
int ind = 0;
int randomNumber=0;
int ax=0;
int ay=0;
int timegame=2000;
int clef = 0;
int jump = 0;
int path = 42;
int ck = 2;
// CHARS DECLARATION
byte man1[] = {0x04, 0x0E, 0x0E, 0x0E, 0x04, 0x04, 0x1F, 0x1F} ;
byte man2[] = {0x04, 0x1E, 0x05, 0x04, 0x0B, 0x10, 0x1F, 0x1F} ;
byte man3[] = {0x04, 0x0F, 0x14, 0x04, 0x1A, 0x01, 0x1F, 0x1F} ;
byte man4[] = {0x15, 0x0E, 0x04, 0x0E, 0x11, 0x00, 0x00, 0x00} ;
byte man5[] = {0x15, 0x0E, 0x04, 0x0E, 0x11, 0x00, 0x1F, 0x1F} ;
byte man6[] = {0x00, 0x00, 0x04, 0x0E, 0x04, 0x04, 0x1F, 0x1F} ;
byte flat[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F};
byte hole[] = {0x0E, 0x1F, 0x15, 0x1B, 0x0E, 0x04, 0x1F, 0x1F} ;
byte m1[] = {0x1F, 0x1F, 0x1F, 0x19, 0x10, 0x00, 0x00, 0x00} ;
byte m2[] = {0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x0F, 0x06, 0x00} ;
byte m3[] = {0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x0C, 0x00, 0x00} ;
byte m4[] = {0x1F, 0x1F, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A} ;
byte m5[] = {0x1F, 0x1F, 0x1F, 0x00, 0x0A, 0x00, 0x0A, 0x00} ;
byte m6[] = {0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x0A, 0x00} ;
byte keys[8] = {0x00, 0x03, 0x1F, 0x13, 0x00, 0x00, 0x1F, 0x1F} ;
byte dooro[8] = {0x1F, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1F, 0x1F} ;
byte door[8] = {0x1F, 0x1F, 0x1D, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F} ;
void setup(){
lcd.init();
lcd.backlight();
lcd.home();
lcd.clear();
// CHARACTER ASSOCIATION
lcd.createChar(1, man1);
lcd.createChar(2, flat);
lcd.createChar(3, hole);
lcd.createChar(8, keys);
lcd.createChar(7, door);
}
void loop(){
if (game == 0)
{
if (gameover == 0)
{
// TITLE SCREEN SCREEN
lcd.home();
lcd.setCursor(0, 0);
lcd.print(" Key game");
lcd.setCursor(0, 1);
lcd.print(" 2020");
key = digitalRead(7);
if (key == LOW)
{
// INIT GAME
lcd.clear();
lcd.home();
le = 0;
ll = 0;
gameover = 1;
cc=2;
jump = 0;
path = 16;
}
}
else
{
// NEW SCREEN - START
randomSeed(analogRead(0));
game = 1;
key = LOW;
le = le + 1;
ll = ll + 1;
path = path + 10;
if (path>202)
{
path = 202;
}
ind = 0;
for(int s=0;s<(path + 10);s++)
{
screen1[s] = 2;
}
for(int s=11;s<(path -2 );s=s+3)
{
randomNumber = int(random(2, 4));
//randomNumber = 3;
screen1[s] = randomNumber;
}
screen1[6]=7;
screen1[path + 1]=8;
for(int s=0;s<(path+10);s++)
{
randomNumber = int(random(4, 7));
screen2[s] = randomNumber;
}
if ((ll/2) == int(ll/2))
{
lcd.createChar(4, m4);
lcd.createChar(5, m5);
lcd.createChar(6, m6);
}
else
{
lcd.createChar(4, m1);
lcd.createChar(5, m2);
lcd.createChar(6, m3);
}
timegame = 2000;
clef = 0;
lcd.createChar(7, door);
cc = 2;
ck = 2;
}
}
else
{
// GAME LOOP
if (jump == 3)
{
jump = 0;
}
lcd.home();
timegame = timegame - le;
for(int s=ind;s<(ind+16);s++)
{
lcd.setCursor(s-ind, 0);
lcd.write(byte(screen2[s]));
lcd.setCursor(s-ind, 1);
lcd.write(byte(screen1[s]));
}
if (timegame < 0)
{
timegame = 0;
}
lcd.setCursor(16-String(timegame).length(), 0);
lcd.print(timegame);
if (jump == 0)
{
lcd.setCursor(7, 1);
lcd.write(byte(1));
ck = screen1[ind+7];
if (mov == 1)
{
if (cc==1)
{
lcd.createChar(1, man1);
}
else
{
lcd.createChar(1, man1);
}
mov = 0;
}
else
{
lcd.createChar(1, man1);
mov = 1;
}
}
if (jump > 0)
{
lcd.setCursor(7, 0);
lcd.write(byte(1));
lcd.createChar(1, man4);
if (cc == 2)
{
ind = ind + 1;
}
else
{
ind = ind - 1;
}
if (jump == 1)
{
jump = 2;
}
else
{
jump = 3;
}
}
// CHECK LIVE OR DIE - LOOP GAME OR GAME OVER
if ((ck == 2)&&(timegame>0)) // SET THE VARIABLE TO CHECK
{
ay = analogRead(1);
ax = analogRead(0);
if ((ax > 600) && (jump == 0))
{
if (ind<(path-7))
{
ind = ind + 1;
cc = 2;
}
else
{
screen1[path + 1]=2;
clef = 1;
lcd.createChar(7, dooro);
}
}
if ((ax < 200) && (jump == 0))
{
if (ind>0)
{
ind = ind - 1;
cc = 1;
}
else
{
if (clef==1)
{
// CHECK LEVEL CLEAR - START
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor((int(10-String(le).length())/2),1);
lcd.print("LEVEL ");
lcd.print(le+1);
delay(4000);
lcd.clear();
game = 0;
gameover = 1;
// CHECK LEVEL CLEAR - END
}
}
}
if ((ay < 200) && (ind >1) && (ind <(path - 8)) && (jump == 0))
{
jump = 1;
}
delay(200);
// GAME LOOP - END
}
else
{
// GAME OVER - START
if (timegame>0)
{
lcd.setCursor(0, 0);
lcd.print(" GAME OVER :( ");
lcd.setCursor(7, 1);
lcd.write(byte(1));
lcd.createChar(1, man6);
}
else
{
lcd.setCursor(0, 1);
lcd.print(" TIME OVER ");
}
delay(4000);
lcd.clear();
game = 0;
gameover =0;
// GAME OVER - END
}
}
}
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- KOKO游戲機(jī)開源分享
- Arduino游戲機(jī)
- PALPi游戲機(jī)電池板開源
- 液晶記憶游戲開源分享
- PALPi復(fù)古游戲機(jī)開源分享
- Arduino掌上游戲機(jī)開源分享
- 使用Arduino(Arduboy)DIY手持游戲機(jī)
- 液晶弓箭游戲開源分享
- 液晶游戲開源分享
- 基于51單片機(jī)的簡易游戲機(jī)
- 拔河游戲機(jī)2 0次下載
- 電子拔河游戲機(jī) 0次下載
- 51單片機(jī)的貪吃蛇游戲機(jī) 15次下載
- PS游戲機(jī)的原理圖紙及PCB端口的設(shè)計(jì) 8次下載
- 飛標(biāo)游戲機(jī)
- 如何用小安派玩小霸王游戲 706次閱讀
- MicroByte:基于ESP32 DIY復(fù)古游戲機(jī) 806次閱讀
- 使用ESP32微控制器制作游戲機(jī) 2967次閱讀
- 單片機(jī)液晶漢字顯示的C語言程序 5130次閱讀
- 微雪電子micro:bit游戲手柄擴(kuò)展板簡介 2219次閱讀
- 微雪電子樹莓派游戲機(jī)套餐|GamePi20 4.3寸屏介紹 2286次閱讀
- 微雪電子樹莓派迷你游戲機(jī)擴(kuò)展板|GamePi15 1.54寸屏介紹 2721次閱讀
- 微雪電子樹莓派游戲機(jī)配件包|GamePi20配件包 4.3寸屏介紹 2134次閱讀
- 微雪電子 樹莓派游戲機(jī)擴(kuò)展板|GamePi43 4.3寸屏介紹 2946次閱讀
- 微雪電子樹莓派游戲機(jī)配件包|GamePi43介紹 2233次閱讀
- 微雪電子樹莓派配件包G 游戲機(jī)配件包介紹 1645次閱讀
- 基于Raspberry Pi 3 Model B+的掌上游戲機(jī)介紹 5153次閱讀
- 液晶觸摸屏中的可編程控邏輯 1261次閱讀
- 便攜式吉他游戲機(jī)diy圖解 3859次閱讀
- 用FPGA使當(dāng)年風(fēng)靡的Atari 2600 VCS游戲機(jī)和Apple II個人電腦再次重生 6446次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費(fèi)
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護(hù)等級說明
- 0.08 MB | 次下載 | 免費(fèi)
本月
- 1貼片三極管上的印字與真實(shí)名稱的對照表詳細(xì)說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計(jì)指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論