linux、c语言贪吃蛇项目(八)——蛇身风骚走位之线程

        蛇要想实现风骚走位,肯定是不能一直往一个方向一直前行的,需要配合我们的键盘,实现上下左右的移动,这就需要我们实现既要改变键盘的方向,同时也要进行函数界面的刷新,当两个循环构建在一起时,常规是不能一起进行的,所以我们需要借助线程来帮我们解决这个困难。

为了更好的了解线程我们先举一个简单的例子:

    pthread_create(&th1,NULL,func1,NULL);  //线程的简单模型,我们直接仿照他写

                                                                        //一下下面的代码,看看现象

#include<stdio.h>

#include<pthread.h>  

#include <unistd.h>

void* func1(){

    while(1){

        printf("this is func 1\n");

        sleep(1);

    }

}

void* func2(){

    while(1){

        printf("this is func 2\n");

        sleep(1);

    }

}

int main(){

    pthread_t th1;

    pthread_t th2;

    pthread_create(&th1,NULL,func1,NULL);

    pthread_create(&th2,NULL,func2,NULL);

    while(1);

    return 0;

}

 运行上面的代码,我们就可以实现func1和func2两个函数 的循环,这就是线程的简单应用。

        让我们回到主线任务 ,通过引用线程,让我们实现方向键和游戏界面刷新的循环,首先定义两个函数,一个是refresh界面函数,一个是接受按键的函数:

主函数main直接套用上面的案例,就可以实现: 

 

当我们按下按键,最底部的数组会做出反应,代表着我们系统已经接收到了 键盘的指令。

今天的内容就到这里了~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值