博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
go语言实现2048小游戏(完整代码)
阅读量:2516 次
发布时间:2019-05-11

本文共 1280 字,大约阅读时间需要 4 分钟。

文章目录

2048逻辑分析

  • 2048小游戏的基本操作是上下左右,每个操作的逻辑都不太一样!
  • 这个时候,通过数组旋转的方式。将所有操作转换为向上的操作
    在这里插入图片描述
  • git地址
    https://gitee.com/hodgekou/golang.git
package mainimport (	"fmt")type arr [4][4]intfunc (t *arr) Print() {	for _, line := range t {		for _, number := range line {			fmt.Printf("%2d ", number)		}		fmt.Println()	}	fmt.Println()}func (t *arr) Left90() {	temp := new(arr)	for i, line := range t {		for j, number := range line {			temp[len(line)-j-1][i] = number		}	}	*t = *temp}func (t *arr) Right90() {	temp := new(arr)	for i, line := range t {		for j, number := range line {			// fmt.Println(i,j,j,len(line)-1-i)			temp[j][len(line)-i-1] = number		}	}	*t = *temp}func (t *arr) Up() {	for m := 0; m < 3; m++ {		for j := 0; j < 4; j++ {			for i := 0; i < 3; i++ {				if t[i][j] == 0 {					t[i][j] = t[i+1][j]					t[i+1][j] = 0				} else if t[i][j] == t[i+1][j] {					t[i][j] = t[i][j] + t[i+1][j]					t[i+1][j] = 0				}			}		}	}}func main() {	// t := arr{
{0,2,2,4},{0},{},{0,2,0,4}} t := arr{
{2, 2, 2, 2}, {2, 2, 4, 2}, {}, {0, 2, 0, 4}} t.Print() //右 fmt.Println("右") t.Left90() t.Up() t.Right90() t.Print() //左 fmt.Println("左") t.Right90() t.Up() t.Left90() t.Print() //下 fmt.Println("下") t.Right90() t.Right90() t.Up() t.Left90() t.Left90() t.Print() //上 fmt.Println("上") t.Up() t.Print()}

完整代码

转载地址:http://oaorb.baihongyu.com/

你可能感兴趣的文章
OpenGL ES 3.0(五)纹理
查看>>
OpenGL ES 3.0(八)实现带水印的相机预览功能
查看>>
OpenGL ES 3.0(九)实现美颜相机功能
查看>>
FFmpeg 的介绍与使用
查看>>
Android 虚拟机简单介绍——ART、Dalvik、启动流程分析
查看>>
原理性地理解 Java 泛型中的 extends、super 及 Kotlin 的协变、逆变
查看>>
FFmpeg 是如何实现多态的?
查看>>
FFmpeg 源码分析 - avcodec_send_packet 和 avcodec_receive_frame
查看>>
FFmpeg 新旧版本编码 API 的区别
查看>>
RecyclerView 源码深入解析——绘制流程、缓存机制、动画等
查看>>
Android 面试题整理总结(一)Java 基础
查看>>
Android 面试题整理总结(二)Java 集合
查看>>
学习笔记_vnpy实战培训day02
查看>>
学习笔记_vnpy实战培训day03
查看>>
VNPY- VnTrader基本使用
查看>>
VNPY - CTA策略模块策略开发
查看>>
VNPY - 事件引擎
查看>>
MongoDB基本语法和操作入门
查看>>
学习笔记_vnpy实战培训day04_作业
查看>>
OCO订单(委托)
查看>>