贪吃蛇

[原] html5 canvas 贪吃蛇小游戏~~

自古美人都是妖i 提交于 2019-12-18 21:38:30
自己写的贪吃蛇小游戏用canvas做的,没有引用excanvas.js所以不支持ie ~ 还有同时按多个方向键会有bug, 喜欢的复值 code拿去玩吧~ 算法上也可以用 正则 判断数组是否有重复,不一定要用循环,性能上会更好 :) */ /*--> */ 代码 <! Doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd" > < html xmlns ="http://www.w3.org/1999/xhtml" lang ="gb2312" > < head > < title > - S n a k e - </ title > < meta http-equiv ="content-type" content ="text/html; charset=gb2312" /> < meta name ="author" content ="Aissa" /> < meta name ="keywords" content ="" /> < meta name ="description" content ="" /> < style type ="text/css" > body {

五年开发大牛带你用C++玩转贪吃蛇游戏,再复杂的开发项目在你面前都是小菜一碟

左心房为你撑大大i 提交于 2019-12-11 05:37:53
贪吃蛇游戏是一个经典小游戏,深受众多玩家喜爱,其规则是:一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。此游戏不仅能锻炼人的思维敏捷性,而且还可以提高玩家的逻辑判断能力。 贪吃蛇游戏设计的虽然总体分为开始、运行、结束三个过程,但其内部程序非常之复杂具体包括开始时的状态,游戏进行中如果得分其分数的累加程序的设计,当玩家游戏结束时所出现的音频及图片效果等设计的程序主要包括主函数,printf()函数,scanf()函数等各种输入输出函数。 游戏界面如下: 项目结构展示: 部分源码展示: 游戏结束时,显示“GAME OVER”背景图象,并配有比较忧伤的音乐,已经是约定俗成的规律了,我所设计的贪吃蛇游戏也不例外。除了游戏结束画面外,我还设置了一个游戏退出画面,并提示玩家是否退出游戏或者是继续此前游戏。 最后,如果你在学习C/C++的过程中遇到了问题,可以来问小编哦~小编很热情的(●'◡'●) 声明:本文内容来源于网络,如有侵权请联系删除 来源: CSDN 作者: 程序员欧阳沐 链接: https://blog.csdn.net/weixin_45287871/article/details

Cocos2d-x3.1.1 lua 反转贪吃蛇V1

ぃ、小莉子 提交于 2019-12-10 09:03:06
使用cocos2d-x lua和code ide编写的贪吃蛇小游戏 https://github.com/skyhacker2/SnakeGameLua 本版本为游戏体验版,轻装上阵,给你不一样的贪食蛇游戏体验! 反转贪食蛇一改传统贪食蛇的玩法,游戏大屏幕一分为二。半屏采用传统贪食蛇玩法,半屏加入反转元素,触屏即向相反方向转头! 除此之外,还新增多种规则,等着你来体验。 ###游戏特性: 全屏畅通体验,一改传统贪食蛇边框,不设置限制,可以左右上下穿透; 分屏反转体验,屏幕一分为二,正反切换,准备好你的手指头迎战吧! 优化用户体验,装到障碍物扣除爱心后,触屏选择再次行走方向,避免不必要的生命损失! 全新场景体验,体验版有3大仿真场景任你选择,多款地图随机产生,不再是卡通背景,满足你的视觉享受。 新建规则,吃食物之外还会吃自己! 旧游戏,新玩法,新视觉,新体验,等着你来一起贪食蛇吧! ###初始化 将cocos2d-x 3.1.1 创建的lua项目中,frameworks/cocos2d-x复制到framesworks ###安装包 在GitHub工程目录下的publish目录下有Android的apk安装包 本项目可以使用cocos code ide导入 来源: oschina 链接: https://my.oschina.net/u/256571/blog/305955

C语言300行代码实现贪吃蛇

泪湿孤枕 提交于 2019-12-10 06:18:56
完整代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <windows.h> #include <time.h> #define ARRAY_SIZE 20 // 区域大小 int AreaArray[ARRAY_SIZE][ARRAY_SIZE]; // 数组 #define WALL 0 // 墙壁 #define VALID 1 // 可走区域 #define SELF 2 // 蛇身 #define NEWP 3 // 果实 #define HEAD 4 // 蛇头 const char *Shape[] = { "■", // 墙壁图案 " ", // 可走区域图案ww "◎", // 蛇身图案 "⊙" , // 果实图案 "●" // 蛇头图案 }; // 记录分数 int score = 0; int high_score = 0; // 蛇的所有坐标 int xy[(ARRAY_SIZE - 2)*(ARRAY_SIZE - 2) + 1][2] = {0}; // 方向状态 enum { LEFT, TOP, RIGHT, BOTTOM } Direction; // 保存最高记录 void GameSaveHighScore() {

蛇年当然贪吃蛇 PyQt版贪吃蛇引子

独自空忆成欢 提交于 2019-12-07 01:22:33
蛇年到,贪吃蛇还是要出马下的,不准备写完整的程序,就让蛇跑起来,尾巴的长起来吧,蛇头有点动画得了。 先讲讲一些 原理 ,蛇的脑袋使用键盘控制,因此重写他的 keyPressEvent 是势在必行的; 蛇身能够增长,运动,原来我计划是蛇身的每一块的坐标都会移动,可看见一个老哥说每次只要把尾巴移动的蛇脑袋那里,蛇脑袋再往前跑跑,蛇就动了,想想也是。蛇身是一块块组成的,很对的块形成一个组,变成蛇的身子,每次蛇要长长,只要在这个组里增加新的块即可。 因为使用了大量的图形,因此使用PyQt里面的带 Graphics 的那一堆类,重写 QGraphicsItem 的类或者子类,完成特定的功能,作为基本的元素;使用 QGraphicsScene 增加元素; QGraphicsView 显示。 想使用 动画Animation ,看了看里面需要 QObject 来初始化,而 QGraphicsItem 居然不是继承自 QObject 的。因此我选择了 QGraphicsObject 作为基类来完善需求,他继承自 QGraphicsItem 和 QObject ,可以使用动画的东西。 下面是完整的代码,先贴上: import sys import random from Queue import deque from PyQt4.QtCore import (QObject,QRectF,QRect

C语言实现贪吃蛇游戏

ぃ、小莉子 提交于 2019-12-06 17:06:57
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/times.h> #include<sys/types.h> #include<unistd.h> #include<ncurses.h> #define TBool int #define True 1 #define False 0 #define SHAPE_FOOD '@' #define SHAPE_SNAKE '#' #define GAMEWIN_YLEN 20 #define GAMEWIN_XLEN 60 #define LOGWIN_YLEN 7 #define LOGWIN_XLEN (GAMEWIN_XLEN) #define LOGBUF_NUM (LOGWIN_YLEN - 2) #define LOGBUF_LEN (GAMEWIN_XLEN - 2) #define MAXLEVEL 12 #define GetSnakeTail(s) ((s)->head->front) WINDOW *logwin; //declare a windows for displaying message #define INITRUNLOG() logwin = newlogw() #define RUNLOG(str)

js贪吃蛇(构造函数)

痴心易碎 提交于 2019-12-06 16:20:07
给大家分享一下这几天我研究的一个贪吃蛇,挺简单的,但是实现起来其实有点绕的,我给大家附上完整代码,一起分析学习一下,主要用的是构造函数。       思想: 1、设计蛇:属性有宽、高、方向、状态(有多少节),方法:显示,跑 2、设计食物:属性宽、高 3、显示蛇:根据状态向地图里加元素 4、蛇跑起来:下一节到前一节的位置,蛇头根据方向变,删除原来的蛇,新建蛇;当出界时,死亡,初始化;当蛇头吃到自己的时候,死亡,初始化 5、食物被吃掉,蛇加一节,去掉原来的食物,生成新的食物 6、添加定时器,绑定按键 这里先给大家简单的说一下构造函数: 构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象 成员变量 赋初始值,总与new 运算符 一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的 重载 。 new data(); 然后开始我们的贪吃蛇之旅: 1.设置变量,定义蛇的初始状态 1 // 设置蛇的宽、高、默认走的方向 2 this.width = 10; 3 this.height = 10; 4 this.direction = 'right'; 5 6 // 记住蛇的状态,当吃完食物的时候,就要加一个,初始为3个小点为一个蛇, 7 this.body = [ 8 {x:2, y:0}, // 蛇头

javascript实现小游戏贪吃蛇

扶醉桌前 提交于 2019-12-06 02:58:00
贪吃蛇 style <style> .face{ height: 400px; width: 600px; margin-left: auto; margin-right: auto; position: relative; background-color: pink; } #playground{ height: 400px; width: 450px; float: left; position: relative; } .menu{ height: 400px; width: 150px; float: left; background-color: skyblue; } #snack{ height: 20px; width: 20px; background-color: red; position: absolute; left: 0px; top:0px; } #food{ height: 20px; width: 20px; background: blue; position: absolute; } .body{ height: 20px; width: 20px; background: green; position: absolute; left: 0px; top:0px; } #score{ font-size: 30px; font-weight:

java开发简单贪吃蛇游戏-1.0

China☆狼群 提交于 2019-12-06 02:55:22
今天用了一个多小时的时间,开发了一个简单的贪吃蛇游戏 成品展示图    其实用到的知识点并不多,下面展示一些自己设计 1、页面布局    2、自己画的几个图片    3、开始创建一个新的项目,并且按下面来写   创建StartGame包,并创建Start.java   目的的创建JFrame窗体 package StartGame; import java.awt.Color; import javax.swing.JFrame; import GamePanel.GamePanel; public class Start { public static void main(String[] args) { /* * 1、创建窗体,创建主体面板, * 2、画静态的蛇 * 3、让蛇动起来 (使用线程) * 4、进行键盘控制蛇的走动 (使用键盘监听) * 5、计算分数。 */ JFrame jframe = new JFrame(); jframe.setTitle("简单贪吃蛇游戏"); jframe.setBounds(300, 50, 650, 470); jframe.setResizable(false); jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jframe.add(new GamePanel());

12 贪吃蛇游戏_

£可爱£侵袭症+ 提交于 2019-12-05 05:31:57
复习及今日介绍(贪吃蛇游戏): 注: 主要是利用 案例理解面向对象的思想。 案例: 画地图: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>这是网页标题</title> 6 <style> 7 .map{ 8 width: 800px; 9 height: 600px; 10 background-color: #ccc; 11 position: relative; /*注意,蛇 和 食物都是脱离文档流的,它们的父类也要脱离,并且是相对定位*/ 12 } 13 </style> 14 </head> 15 <body> 16 <!-- 地图--> 17 <div class="map"></div> 18 19 20 21 <script src="js/common.js"></script> 22 <script> 23 24 </script> 25 26 </body> 27 </html> 画地图 创建食物: 食物都是先删掉(当蛇碰到食物时删!)之前的食物,然后再创建一个新的。 两种自调用方式: 下面的方式更好一些。 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8">