C语言入门项目——俄罗斯方块源码

这篇博客介绍了一个适合C语言初学者的入门项目——俄罗斯方块的源码实现,包括view.h、view.cpp、model.cpp、model.h和tetris.cpp等关键文件的详细内容,是理解C语言编程和游戏开发的良好实践。
摘要由CSDN通过智能技术生成


本代码运行环境是 Windows下的VS2013
首先创建 tetris.cpp
然后依次创建 view.h以及 view.cppmodel.h以及 model.cpp
代码如下:

view.h

#pragma once
#include <stdio.h>
void ShowBackground();
void ShowBrick();
void ShowGame();
void OnLeft();
void OnRight();
void OnUp();
void OnDown();

view.cpp

#include <stdlib.h>
#include "view.h"
#include "model.h"
void OnLeft()
{//如果能够左移,则左移
    if (IsCanMove(g_nRow, g_nCol - 1))
    {
        g_nCol--;
        ShowGame();
    }
}

void OnRight()
{
    if (IsCanMove(g_nRow, g_nCol + 1))
    {
        g_nCol++;
        ShowGame();
    }
}

void OnUp()
{
    if (IsCanRotate())
    {
        Rotate();
        ShowGame();
    }
}

void OnDown()
{
    if (IsCanMove(g_nRow+1, g_nCol))
    {
        g_nRow++;
        ShowGame();
    }
    else
    {
        //固定方块至背景,并且产生新方块
        CombineBgBrick();
        GetNewBrick();
        //判断游戏是否结束,并给出对应提示
    }
}

void ShowGame()
{
    system("cls");
    CombineBgBrick();
    ShowBackground();
    DetachBgBrick();
}
void ShowBrick()
{
    for (size_t i = 0; i < 4; i++)
    {
        for (size_t j = 0; j < 4; j++)
        {
            if (g_chBrick[i][j] == 1)
            {
                printf("■");
            }
        }
    printf("\r\n");
    }
}

void ShowBackground()
{
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值