利用ncurses库实现简单飞机小游戏

复制代码
#include<stdlib.h>
#include<ncurses,h>
#define plane '*'

char plane(int x,int y);

int main()
{
    int x = 5;
    int y = 10;
    char ch;
    initscr();
    cbreak();
    noecho();
    clear();

    do
    {
        clear();
        picture(x,y);
        ch = getch();
        switch(ch)
        {
            case 'w':
                            picture(x,y);
                            y = y - 1;
                            break;
            case 's':
                           picture(x,y);
                           y = y - 1;
                           break; 
            case 'a':
                           picture(x,y);
                           x = x - 1;
                           break; 
            case 'd':
                           picture(x,y);
                           x = x + 1;
                           break; 
        }
    }while(ch != 'q');
    endwin();
    exit(0);
}

char plane(int x,int y)
{
    int i;
    for(i = 0;i<y;i++)
    {
        mvprintw(i,x,"%c",'|');
        refresh();
    }
    mvaddch(y,x,PLANE);
    mvaddch(y+1,x-2,PLANE);
    mvaddch(y+1,x-1,PLANE);
    mvaddch(y+1,x,PLANE);
    mvaddch(y+1,x+1,PLANE);
    mvaddch(y+1,x+2,PLANE);
    mvaddch(y+2,x-1,PLANE);
    mvaddch(y+2,x+1,PLANE);
}
复制代码

目前只实现了一个移动的飞机,还不算一个游戏,后续会对代码进行改进。

参考博客:https://www.imooc.com/article/24381

posted @   楸壳  阅读(160)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示