# project0 **Repository Path**: coinchiang/project0 ## Basic Information - **Project Name**: project0 - **Description**: CS61B project 0: 2048 小组学习仓库。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-04 - **Last Updated**: 2024-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Project 0: 2048 ## 简介 [CS 61B](https://fa24.datastructur.es/) 是一门加州伯克利大学的计算机科学课程,主要内容是数据结构与算法设计。 [Project 0: 2048](https://fa24.datastructur.es/projects/proj0/) 是该课程的第一个实践项目,通过编写一个 2048 游戏来练习 Java 语法。课程已经实现了图像和用户交互代码,留下十个小任务待补全以实现游戏逻辑。 这个仓库只关注 Project 0 这一个项目,仅用于小组学习。 ## 前置知识 > - Lab 1 (required for setup) > - HW0 (recommended, for Java syntax) > - Lectures 1-2 > - 61B Style Guide (we are checking your style in autograder!) > - Lab 2 (optional but recommended prerequisite - helpful for debugging) ![Prerequisites](img/prerequisites.png) 文档非常详细,事实上有 C 语言编程经验的都能完成这个项目。 ## 2048 规则 棋盘被网格划分为许多方格,每个方格可以是空的或者放置有一个带数值的滑块(tile)。 玩家使用方向键选择一个方向倾斜棋盘,所有滑块都会向那个方向滑动,直到那个方向上没有空格了。 滑动时,2 个数值相同的滑块会被合并为 1 个带有 2 倍数值的滑块。合并产生的滑块数值累加计入玩家积分。 一个带有数值 2 或 4 的滑块会在游戏开始时随机生成在棋盘上。在每次滑动后,随机在一个空格处生成一个滑块。 当滑动再也改变不了棋盘状态或者产生了数值为 2048 的滑块时游戏结束。