C/C++编程笔记:流行的数字游戏【2048】,C语言400行源代码分享
游戏介绍
你玩过2048吗?2048是一款流行于各大网页和手机的数字游戏,手机安卓版推出的是《挑战2048》,之后的版本中还加入了双人对战的游戏模式,更加受到玩家的热捧。
2048的游戏规则非常简单,简约的灰色格子界面,系统一般给出2或者4的数字,玩家可以每次选择上下左右四个方向中的一个进行滑动,所有的数字在往这个方向滑动时会进行数字的碰撞和相加,当玩家进行游戏后,这些灰色的方格会变颜色,例如8是浅橙色,16是橙色,32是桃红色,64是深红色,128是黄色,碰撞相加的数字如果达到2048,就算游戏胜利。这款游戏颇具益智色彩,在考虑数学功底的同时,也可以开发思维,故而受到很多年轻人的喜欢。
总的来说游戏玩法游规则很简单,就是把方块合并,合并的办法是其中一个数字靠边的时候,将另一个数字向四个方向的墙推过去。2和2可以合并成4,4和4合并成8,直至合成到2048,虽然看似简单,但是根本停不下啊。
今天,我们就利用C语言的知识来带着大家一起来开发这个看似简单,实则有技巧的益智类游戏,一起来学一学吧!
游戏完成界面

编写准备:编译软件(VS2013),2048图片素材,easyX图形库插件,有需要可以关注笔者微信公众号:C语言编程学习基地,领取相关图片素材可以回复关键字【2048】即可。
好了,当我们所有的准备工作做好之后,我们就可以来编写我们的2048游戏了!
源码分享
关于代码相关的注释,我已经在写代码的时候较为详细的写明了,我们一起来看吧!















以上,希望对大家有帮助!
PS:很多小伙伴私信我说为啥我不直接粘贴代码要弄图片,其实我是不想大家遇到这种源码文章就直接复制代码去弄,这样不会成为你自己的东西,甚至事后都不会对这个程序的代码产生映像!所以我才会弄成图片形式,希望大家最少能够自己动动手!(不要识别图片文字哦~)
其实做为一个编程学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C语言C++交流Q群1108152000,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。
C/C++编程笔记:流行的数字游戏【2048】,C语言400行源代码分享的更多相关文章
- Java基础知识强化之网络编程笔记20:Android网络通信之 Android常用OAuth登录和分享
1. 申请百度开发者账号及百度OAuth简介. (1)申请开发者账号: http://developer.baidu.com/ (2)创建项目: http://developer.baidu.com ...
- c编程:输入一个数字n,则n代表n行,每行输入2个数字a,b计算每行的a+b问题。
输入 第一行输入要计算的数据组数 n 接下来的 n 行,每行包括两个数a和b 输出 每行输出一组数据中a+b的值 例子输入 2 1 2 4 0 例子输出 3 4 代码: #include<std ...
- C++游戏服务器编程笔记 IP详解
C++游戏服务器编程笔记 IP详解 IP详解 INTERNET的历史 上世纪60年底起源于美国 1992年,Internet上的主机超过了100万台 现在已经是现代文明人的必需品 TCP/IP的 ...
- python学习笔记 ——python写的猜数字游戏 002
from sys import exit import random def Arrfor(str): #CONTST = CONTST + 1 artificial = input("请输 ...
- 算法笔记_179:历届试题 数字游戏(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 栋栋正在和同学们玩一个数字游戏. 游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈.栋栋首先说出数字1.接下来,坐在栋栋左手边的同学要 ...
- Shell编程笔记
Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理. 修改别人的脚本,运行后遇到个问题 setenv: command not found 查证 ...
- 实验三 Java猜数字游戏开发
课程:Java实验 班级:201352 姓名:程涵 学号:20135210 成绩: 指导教师:娄佳鹏 实验日期:15.06.03 实验密级: ...
- XDU 1161 - 科协的数字游戏II
Problem 1161 - 科协的数字游戏II Time Limit: 1000MS Memory Limit: 65536KB Difficulty: Total Submit: 112 ...
- XDU 1160 - 科协的数字游戏I
Problem 1160 - 科协的数字游戏I Time Limit: 1000MS Memory Limit: 65536KB Difficulty: Total Submit: 184 ...
随机推荐
- css常用的简写技巧_css background简写、css border 简写、css font属性简写等
css样式中有很多简写方式,比如:设置背景,字体,边框,盒子等.我们都可以把css代码合并为一行,这篇文章将总结有哪些属性支持css简写. 1.背景background属性 background-co ...
- Java实现上传文件到指定服务器指定目录(ChannelSftp实现文件上传下载)
package com.tianyang.task.utils; import java.io.File;import java.io.FileInputStream;import java.io.I ...
- SpringBoot执行定时任务@Scheduled
SpringBoot执行定时任务@Scheduled 在做项目时,需要一个定时任务来接收数据存入数据库,后端再写一个接口来提供该该数据的最新的那一条. 数据保持最新:设计字段sign的值(0,1)来设 ...
- XSS与CSRF定义
一. CSRF 1. CSRF的基本概念 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通 ...
- ## Java基础(二):变量类型
Java 变量类型 一.局部变量:类的方法中的变量 局部变量声明在方法.构造方法或者语句块中: 局部变量在方法.构造方语句块中被执行的时候创建,当他们执行完成后,变量被销毁 访问修饰符不能用于局部变量 ...
- java 面向对象(三十六):泛型五 通配符
1.通配符的使用 /* 通配符的使用 通配符:? 类A是类B的父类,G<A>和G<B>是没关系的,二者共同的父类是:G<?> */ @Test public voi ...
- nginx配置使用, 入门到实践
1. 本文做自己学习配置使用, 转自: https://mp.weixin.qq.com/s?__biz=Mzg2MjEwMjI1Mg%3D%3D&chksm=ce0dae4df97a275b ...
- JS 判断是否为数字 数字型特殊值
JS 数字型三个特殊值 Infinity ,代表无穷大,大于任何数值 -Infinity ,代表无穷小,小于任何数值 NaN ,Not a number,代表一个非数值 isNaN的使用: isNa ...
- Python 爬取 42 年高考数据,告诉你高考为什么这么难?
作者 | 徐麟 历年录取率 可能很多经历过高考的人都不知道高考的全称,高考实际上是普通高等学校招生全国统一考试的简称.从1977年国家恢复高考制度至今,高考经历了许多的改革,其中最为显著的变化就是录取 ...
- Web Scraping using Python Scrapy_BS4 - using Scrapy and Python(1)
Create a new Scrapy project first. scrapy startproject projectName . Open this project in Visual Stu ...