贪吃蛇

用JavaScript写的贪吃蛇游戏(很简单,很详细)

我们两清 提交于 2021-02-08 09:37:17
效果 编写外部框架 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding: 0; } #box{ width:620px; height:450px; position:absolute; margin:0 auto; left:0; top:20px; right:0; bottom:0; background:gray; border-radius:10px; } #snakeDiv{ width:600px; height:400px; position:absolute; margin:0 auto; left:0; top:10px; right:0; bottom:0; } .bottom{ width:600px; height:30px; position:absolute; bottom:1px; right:1px; } .bottom .button1{ position: absolute; right: 90px; width: 50px; font-size: 14px; } .bottom .button2{ position: absolute; right: 30px; width:

《C和C++游戏趣味编程》新书上架了

无人久伴 提交于 2021-02-08 08:27:04
《C和C++游戏趣味编程》新书上架,目前京东、淘宝、当当上搜书名就可以找到,比如: C和C++游戏趣味编程 青少年编程零基础入门教程书籍编程真好玩游戏趣味编程创意游戏教孩子玩编程程序设计 ​ detail.tmall.com 出版社图书页面,可以下载相关的代码、图片音乐素材: https://www. epubit.com/bookDetails? id=UBbf18c3bc7112 零基础边开发游戏边学C/C++编程,所选的案例效果视频: 知乎视频 ​ www.zhihu.com 利用这本书的教学思路,部分学生的大作业视频: 知乎视频 ​ www.zhihu.com 本书内容结构 本书通过趣味案例逐步引入语法知识,用C和C++从无到有地开发游戏,提升读者对编程的兴趣和能力。全书共14章和3个附录。 第1章介绍了计算机程序和C和C++编程语言的基本概念,学习了集成开发环境的使用方法,并运行了第一个程序(8行代码)。 第2章学习了整数、浮点数、if语句、while循环等语法知识,实现了自由落体小球的仿真程序(25行代码)。 第3章学习了字符、逻辑运算符、整数运算、类型转换等语法知识,实现了别碰方块的游戏(78行代码)。 第4章学习了for循环语句、循环嵌套等语法知识,绘制了旋转蛇错觉图案(53行代码)。 第5章学习了一维数组、流程跳转等语法知识,实现了见缝插针游戏(78行代码)。

Java多线程游戏仿真实例分享

十年热恋 提交于 2021-02-06 12:34:40
这是一篇学习分享博客,这篇博客将会介绍以下几项内容: 1、如何让一个程序同时做多件事?(多线程的创建、多线程的应用) 2、如何让小球在画面中真实地动起来?(赋予小球匀速直线、自由落体、上抛等向量运动) 3、多线程游戏仿真实例分享(飞机大战、接豆人、双线挑战三个游戏实例) 涉及的知识点有:多线程的应用、双缓冲绘图、小球的向量运动、游戏的逻辑判断、键盘监听器的使用、二维数组的使用、添加音乐效果等 游戏效果: 怎么样?如果觉得还不错的话就请继续看下去吧! 热身 第一步:创建画布 心急吃不了热豆腐,我们先从最简单的创建画布开始。 首先我们创建一个窗体,然后设置一些参数,从窗体中取得画笔,尝试在画布中心画一个图形,以下是参考代码: import java . awt . FlowLayout ; import java . awt . Graphics ; import java . awt . event . ActionEvent ; import java . awt . event . ActionListener ; import javax . swing . JButton ; import javax . swing . JFrame ; public class Frame { //声明画布对象 public Graphics g ; //主函数 public static

贪吃蛇系列之十一——总结

北城以北 提交于 2021-01-23 23:10:57
好了,在开始我们的总结之前,我们先来把上一个项目中的那个BUG修复了。修复的方法呢也很简单,我们在Snake类中添加一个方法,代码如下: /** * 判断蛇是否吃到了自己的身体 * @return 如果蛇吃到了自己的身体则返回true,否则返回false */ public boolean isEatBody(){ Body head = snakeBody.getFirst(); for(int i = 1; i < snakeBody.size(); i++){ Body body = snakeBody.get(i); if(head.x == body.x && head.y == body.y){ return true; } } return false; } 有了这个方法之后,我们在蛇的move()方法中添加进对这个状况的判断,如下: //判断蛇是否吃到了石头或者是自己的身体 if(isEatStone() || isEatBody()){ die(); } 那么至此,我们的游戏大体上就算完成了,最后呢,我修改了Snake.Body类中的drawMe的实现,使得我们的Snake有了一个红色的头,这个呢我就不贴代码了,大家看源代码吧,下面还是给一张我们最后完成的效果图: 这个项目呢,第一阶段呢我们就到这里结束了,上图呢就是最后一个项目运行后的截图了,呵呵,是不是很有爱呢

曝光,程序员的 10 个摸鱼神器

吃可爱长大的小学妹 提交于 2021-01-16 12:52:21
问:程序员该不该上班摸鱼? 答:认真上班是劳动换取报酬,上班摸鱼才是从老板那赚钱。 曝光,程序员的 10 个摸鱼神器 摸鱼一时爽,一直摸一直爽 方案一:实物摸鱼 方案二:命令行斗地主 方案三:假装系统在升级 方案四:单行阅读器 方案五:leek-fund(韭菜盒子) 方案六:命令行看新闻 方案七:付费让摸鱼更专业 方案八:摸鱼刷 LeetCode 方案九:在地址栏玩贪吃蛇 方案十:终极摸鱼必杀技 写在后面(点赞过 200,我就是掉光头发也出下期) 摸鱼一时爽,一直摸一直爽 虽说摸鱼舒服,但是摸得不好,很容易 摸鱼一时爽,没有年终奖 。 那如何高级的摸鱼呢? 方案一:实物摸鱼 去淘宝买一条锦鲤抱枕,实物质感,摸起来舒服,还能午睡。 如果觉得这么大的锦鲤比较占用桌面,可以买一个头套,写代码挠头的时候,也能摸鱼。 什么?这些都不能满足你摸鱼的快乐 别着急,还有呢~鱼缸怎么样,如果办公室空间够大,买一个吧 老板都懂这个,有水,有锦鲤,公司财运旺旺旺。 而且除了物理摸鱼以外,还能划水 方案二:命令行斗地主 什么?方案一,无法满足你摸鱼的乐趣? 试试方案二吧。 在命令行斗地主,打开 https://gitee.com/ainilili/ratel 熟练的查看一下简介: 项目介绍 这个项目是基于 Netty 实现的一款命令行斗地主游戏,在下班后或者工作闲(mang)暇(lu)之余

shellcode超级免杀

こ雲淡風輕ζ 提交于 2021-01-16 04:52:41
shellcode超级免杀 作者声明: 本文章属于作者原创,不能转载,违反网络安全法自己承担.这里只供学习使用. 日期: 2019-12-31 实验视频链接: https://www.youtube.com/watch?v=TVN3AOsgvA8&list=PLHxmmOLhBykSVS5buN9VZbhjMR-8K0e34&index=3&t=739s 我试过了电脑管家,火绒安全,McAfee,360, 但只有360使用手动云查杀时木马才能查出来 (目前所有软件都无法查杀!!!!! 2020-1-2) 从2019-12-29日早上起,我向我的PE-tools工具里写了一个功能,就是shellcode注入功能,写好之后,发现虽然shellcode能注入,但是不能免杀,于是采用各种加密技巧,还是没能逃脱火绒,我绞尽脑汁的想,使用dll注入,dll注入虽然能逃脱免杀,payload反弹时,可是不能交互了.我就采用一种更笨的方法,就是程序运行时加载一下shellcode文件,试了一下成功免杀.好废话不多说,咱们开始!!!! 效果图 演示: 环境 Kali (攻击机) Win10 (受害机 且安装有各种杀毒软件) WinXp (辅助机,只是用来编译源码的) 如何免杀 免杀效果其实很简单,就是程序启动后加载文件动态运行里面写好的shellcode即可.

贪吃蛇C语言

喜你入骨 提交于 2021-01-14 16:05:26
http://groups.tianya.cn/post-233945-a26c77a21b324ae5952434f366b8504c-1.shtml http://groups.tianya.cn/post-233945-affb7a12483a4ae3a5d5fa0a979cf256-1.shtml http://groups.tianya.cn/post-233945-69147112bfc84a4ab7fe4e24245e71fc-1.shtml http://groups.tianya.cn/post-233945-b7f4bc30917a48b9a1ce6ad37e095a4c-1.shtml http://groups.tianya.cn/post-233945-f89157e886864b77997b83469e2236f7-1.shtml http://groups.tianya.cn/post-233945-ebf45fbb7f104197bc00a7f2b0156e57-1.shtml http://groups.tianya.cn/post-233945-75deb3d90b35440da4f0bf53b68577a2-1.shtml http://groups.tianya.cn/post-233945

练手WPF(四)——贪吃蛇小游戏的简易实现(上)

不打扰是莪最后的温柔 提交于 2021-01-03 23:42:24
原文: 练手WPF(四)——贪吃蛇小游戏的简易实现(上) 一. 游戏界面 首先,按照惯例,编辑MainWindow.xaml,先将游戏界面制作好。非常简单: (1)主游戏区依然使用我们熟悉的Canvas控件,大小为640X480像素,设定每小格子为20px,所以横坚坐标的格子数为32x24。见源代码的最后位置。 (2)定位控件我们使用DockPanel,方便放置主菜单。 (3)将按键事件PreviewKeyDown放在Window内。 < Window x:Class ="MoonSnake.MainWindow" xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d ="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc ="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local ="clr-namespace:MoonSnake" mc:Ignorable ="d" PreviewKeyDown ="MyCanvas

数据应用场景之标签管理体系

匆匆过客 提交于 2020-12-31 08:17:43
一、标签简介 标签概念 标签,最初用来对实物进行分类和标记,例如标明物品的品名、重量、体积、用途等简要信息。后来逐渐流行到数据行业,用来标记数据,对数据快速分类获取和分析。 标签特点 精确描述定位和搜索,具有生命周期的特性,可以计算,配置和规则化处理。可以用标签来描述各种结构和非结构化[文档、图片、视频等]的数据,从而使这些内容被高效的管理。 描述特征:标签[手机颜色],特征[红色,白色]; 描述规则:标签[活跃用户],规则[每日登陆,产生交易]; 标签价值 精细运营的基础,有效提高流量精准和效率。 帮助产品快速定位需求数据,进行精准分析; 能帮助客户更快切入到市场周期中; 深入的预测分析数据并作出及时反应; 基于标签的开发智能推荐系统; 基于某类下的数据分析,洞察行业特征; 标签的核心价值,或者说最常用的场景:实时智能推荐,精准化数字营销。 二、标签定义 属性标签 属性标签是描述基本特征,不需要行为产生,也不是基于规则引擎分析,例如基于用户实名认证信息,获取:性别,生日,出生日期等特征。变动频率极小,且精准性较高。 行为标签 通过不同业务渠道埋点,捕捉用户的行为数据,基于这些数据分析,形成结果描述的标签,例如:分析用户「网购平台」,得到的结果拼多多,淘宝,京东,天猫等。这些都是需要通过行为数据来判断的标签。 规则标签 规则下分析出来的标签,更多是基于产品或者运营角度来看

Qt实现贪吃蛇游戏

有些话、适合烂在心里 提交于 2020-12-23 15:26:30
效果如下: 由于是个人为了学习而实现的,隐藏图片比较粗糙,有兴趣的可以自己优化,仅作学习参考。 游戏比较简单主要包括绘制墙壁、食物、蛇、网格, 以及一些逻辑运算组成。 源码地址: https://gitee.com/lingluonianhua/Snake.git 核心代码如下: #include "snakelogic.h" #include <QPixmap> SnakeLogic::SnakeLogic(QPoint left,QPoint right,int unit,QObject *parent) : QObject(parent),m_pLeftTop(left),m_pRight(right),m_iUnitage(unit), m_icoortable(NULL),m_lSnakeList(NULL) { InitParam(); memset(m_pFoodArr,0,sizeof(m_pFoodArr)); QPoint rect = m_pRight - m_pLeftTop; m_iNumX = rect.x()/m_iUnitage; m_iNumY = rect.y()/m_iUnitage; m_icoortable = new int*[m_iNumY ]; for(int i = 0; i < m_iNumY ; i++) { m