⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snow.c

📁 编译后直接运行的MP3播放器全部C语言源代码 一个包含FAT文件系统、系统引导 Boot、FLASH Driver等内容的
💻 C
字号:
/*************************************************************************** *             __________               __   ___. *   Open      \______   \ ____   ____ |  | _\_ |__   _______  ___ *   Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  / *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  < *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \ *                     \/            \/     \/    \/            \/ * $Id: snow.c,v 1.1 2003/06/29 16:33:04 zagor Exp $ * * Copyright (C) 2002 Itai Shaked * * All files in this archive are subject to the GNU General Public License. * See the file COPYING in the source tree root for full license agreement. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * **************************************************************************/#include "plugin.h"#ifdef HAVE_LCD_BITMAP#define NUM_PARTICLES 100static short particles[NUM_PARTICLES][2];static struct plugin_api* rb;static bool particle_exists(int particle){    if (particles[particle][0]>=0 && particles[particle][1]>=0 &&         particles[particle][0]<112 && particles[particle][1]<64)         return true;    else        return false;}static int create_particle(void){    int i;    for (i=0; i<NUM_PARTICLES; i++) {        if (!particle_exists(i)) {            particles[i][0]=(rb->rand()%112);            particles[i][1]=0;            return i;        }    }    return -1;}static void snow_move(void){    int i;    if (!(rb->rand()%2))        create_particle();    for (i=0; i<NUM_PARTICLES; i++) {        if (particle_exists(i)) {            rb->lcd_clearpixel(particles[i][0],particles[i][1]);            switch ((rb->rand()%7)) {                case 0:                    particles[i][0]++;                    break;                case 1:                    particles[i][0]--;                    break;                case 2:                    break;                default:                    particles[i][1]++;                    break;            }            if (particle_exists(i))                rb->lcd_drawpixel(particles[i][0],particles[i][1]);        }    }}static void snow_init(void){    int i;    for (i=0; i<NUM_PARTICLES; i++) {        particles[i][0]=-1;        particles[i][1]=-1;    }            rb->lcd_clear_display();}enum plugin_status plugin_start(struct plugin_api* api, void* parameter){    TEST_PLUGIN_API(api);    (void)(parameter);    rb = api;    snow_init();    while (1) {        snow_move();        rb->lcd_update();        rb->sleep(HZ/20);                if (rb->button_get(false) == BUTTON_OFF)            return false;    }}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -