贪吃的蛇教案

时间:2019-05-15 16:32:20下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《贪吃的蛇教案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《贪吃的蛇教案》。

第一篇:贪吃的蛇教案

活动目标

1、学画不同动态的蛇,练习先深后浅或先浅后深两种色重叠涂的方法。

2、通过活动,发展幼儿的想象力和表现能力。

3、教育幼儿有保护动物的意识。

活动过程

一、欣赏故事,引起兴趣。

师:大树上有一个鸟窝,鸟妈妈在里面下了许多鸟蛋。有一天,一群蛇发现鸟妈妈出去了。它们想去偷吃鸟蛋。于是,有的蛇快速地爬进鸟窝吃蛋;有的速度稍慢的蛇正在往上爬;还有爬不动的蛇在树下,翘着头,直流口水……

二、教师出示范例,帮助幼儿理解故事内容。

1.“在作品中,有哪些动态的蛇?它们在干什么?绘画时,怎样表现这些动态?”

2.这些蛇的颜色有什么特点?怎样涂色才有这种效果?(组织幼儿讨论。)

3.小结:作品中,有多种动态的蛇,有的画得大些,有的画得小些……蛇身上的颜色也很特别,先涂深色后涂浅色或先涂浅色后涂深色两种颜色重叠涂或间隔涂的方法,教师边讲边示范。

4.你想画什么动态的蛇?给它涂上怎样的颜色?(组织幼儿讨论。)

三、幼儿按要求作画,教师巡回指导。

1.鼓励幼儿根据自己的经验大胆表现蛇的不同动态。

2.蛇要画得有大有小,有疏有密,不断丰富画面。

3.鼓励幼儿画出画面情景,利用今天学的涂色方法涂色。

四、欣赏与评价。

教师请幼儿自行展示自己的作品,并请其他幼儿根据画面内容猜一猜画中的蛇是什么动作?

活动建议

1、幼儿在已有经验中,探索表现蛇的各种动态。

2、教师有必要将他们潜在的感受激发出来。

第二篇:贪吃蛇游戏 实习报告

课程设计报告

贪吃蛇游戏设计

专业 电子信息工程 杜 运 福 B电子062 0610620224 曹 妍 2008年8月30日 学生姓名 班学级 号

指导教师 完成日期

盐城工学院本科生课程设计报告(2008)

贪吃蛇游戏设计 摘要:本设计主要围绕贪吃蛇游戏展开。众所周知,贪吃蛇游戏一直以来是比较流行的。传统的贪吃蛇游戏功能比较少,对蛇的控制仅限于向左转和向右转,而现在的贪吃蛇游戏已经发展的相当好;具有更多的功能和友好的界面。例如,最近流行的免费的3D版的贪吃蛇游戏,界面相当的美观,有很强的立体效果,真实感更强,食物也为立体的且颜色绚丽。在3D版贪吃蛇游戏里面,墙壁是真实的墙壁,障碍物比较多,如树、土丘等。此外,其功能更多更强,可以选择难度。不过,总而言之,3D版与传统的贪吃蛇游戏有共性,即娱乐性与益智性。这些也是贪吃蛇游戏的优点。本人因水平有限,只能设计简单的贪吃蛇游戏。不过,在功能上,比传统贪吃蛇游戏更丰富。蛇可以反向运动,操作起来,显得更为灵活。界面的颜色选用绿色,不易使眼睛疲劳。关键词:3D版;传统;灵活; 2

贪吃蛇游戏设计

目录

1、概述

1.1、用TC设计程序的方法 1.2、简要说明

2、设计要求

3、系统分析与模块设计 3.1、算法设计 3.2、数据结构 3.3、模块设计 3.4、模块枝干图

4、程序流程图 4.1、图形驱动 4.2、开始画面 4.3、显示食物 4.4、蛇向前移动 4.5、判蛇死

4.6、吃到食物后处理 4.7、判蛇反向移动 4.8、游戏结束 4.9、图形结束

5、程序设计及关键源代码

6、运行结果分析

7、实习心得

盐城工学院本科生课程设计报告(2008)

贪吃蛇游戏的设计 1.概 述 1.1、用TC设计程序的方法

首先应了解设计要求,然后按照功能设计模块,每个模块完成特定的功能,要使模块间的耦合性小,内聚性高;设计模块是相当重要的一个环节。模块的数量不宜太多,也不宜太少,要使每个模块都能比较简单的转换成流程图。模块设计完成后,就该给每个模块绘制流程图了。流程图要简单,容易理解,多用中文。不宜写过长的代码,增加理解难度。流程图与模块枝干图均可用绘图软件绘制,可适当加些背景色,用以区分。此外,流程图应容易转换成代码。绘制好了流程图,就要编写代码了。直接在TC环境里输入代码,然后运行测试,检查错误,最终,将设计出可行的程序。1.2、简要说明

我设计的贪吃蛇游戏具有很多独特性。例如,墙壁不用实体,而用中空的墙,颜色为绿色,显得更美观,且不易使眼疲劳。操作上,做了些简化,游戏开始时便可以自动运行,且速度较快,属中等难度。玩游戏的过程相当简单,只需按键盘上的上下左右方向键,便可改变蛇的行进方向。食物随机产生。贪吃蛇吃到一个食物后便得到10分。得分显示在左上角。当蛇撞到墙壁或自己时,蛇死,游戏结束,输出得分。

2.设计要求

外观为矩形,食物随机产生,添加注释,统计得分、每吃到一个食物获得10分。蛇碰到自己或墙壁,游戏均结束。游戏结束时输出得分。画出模块枝干图与每个模块的程序流程图。修改某些代码,改变其外观及功能。游戏操作应尽量简单。

界面美观,让人看了觉得舒服。

3、系统分析与模块设计 3.1、算法设计

玩游戏过程采用递归算法,由WHILE(1)控制循环过程,可使游戏重复玩,在蛇死之前不停的玩。判断蛇死的算法是通过判断蛇有没有碰到自己及墙壁。使蛇向前移动采用递归算法,通过递归将蛇的每一节依次向前移动,横坐标与纵坐标依次向前赋值,从而达到使蛇前移的目的。蛇的前进方向通过IF结构判断。

贪吃蛇游戏设计

3.2、数据结构

蛇与食物信息分别用两个结构体存储与表示。将食物的横坐标X、纵坐标Y和判断是否要出现食物的变量YES分别作为食物的结构体的成员。蛇的横坐标数组X[N],纵坐标数组Y[N],蛇的节数NODE,蛇的移动方向DIRECTION、蛇的生命LIFE分别作为蛇的结构体的成员。结构体内每个成员的存储类型均为整型。3.3、模块设计

模块应具有高内聚性,低耦合性。这样,程序运行才更稳定,效率更高。据功能将贪吃蛇游戏划分成四个大模块,九个小模块。每个模块均具有自己的功能,而且,比较容易画出各个模块的流程图。3.4、模块枝干图

简要说明:图形驱动即完成初始化图形系统功能;开始画面模块的主要作用是根据设置绘制出玩游戏区域四周的墙壁;玩游戏的过程是游戏此游戏程序的核心,又可细分为好多小的功能模块;其中,显示食物模块仅完成显示食物功能;蛇前移模块即通过递归算法实现蛇的向某方向移动;判蛇死模块的功能是通过判断蛇是否碰到自己或墙壁来判断蛇有没有死亡。吃到食物后小模块只有蛇吃到食物后才起作用。即当蛇吃到食物后,蛇自身延长一节并绘出蛇,同时加10分。通过键盘操控来玩游戏主要由判反向移动模块完成,即当蛇不是反向移动时,按照键盘上方向键指示移动。游戏结束模块功能简单,仅完成输出得分与提示语功能。最后图形结束模块完成关闭图形功能。

4、程序流程图

4.1、图形驱动

盐城工学院本科生课程设计报告(2008)

4.2、开始画面

贪吃蛇游戏设计

4.3、显示食物

盐城工学院本科生课程设计报告(2008)

4.、蛇向前移动

贪吃蛇游戏设计

4.5、判蛇死

盐城工学院本科生课程设计报告(2008)

4.6

、吃到食物后处理

贪吃蛇游戏设计

4.7、判蛇反向移动

盐城工学院本科生课程设计报告(2008)

4.8、游戏结束

贪吃蛇游戏设计

4.9、图形结束

5、程序设计及关键源代码

定义上下左右控制方向:

#define LEFT 0x4b00 #define RIGHT 0x4d00

盐城工学院本科生课程设计报告(2008)

#define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b

设定游戏速度:

int gamespeed=60000;

用结构体定义食物与蛇:

struct Food { int x;/*食物的横坐标*/ int y;/*食物的纵坐标*/ int yes;/*判断是否要出现食物的变量*/ }food;/*食物的结构体*/ struct Snake { int x[N];int y[N];int node;/*蛇的节数*/ int direction;/*蛇移动方向*/ int life;/* 蛇的生命,0活着,1死亡*/ }snake;主函数:

void main(void){ Init();/*图形驱动*/ DrawK();/*开始画面*/ GamePlay();/*玩游戏具体过程*/ Close();/*图形结束*/ } 图形驱动:

贪吃蛇游戏设计

void Init(void){ int gd=DETECT,gm;initgraph(&gd,&gm,“c: c”);cleardevice();}

开始画面,左上角坐标为(50,40),右下角坐标为(620,460)的围墙:

void DrawK(void){ setcolor(10);/*绿色*/ setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ for(i=50;i<=610;i+=10)/*画围墙*/ { rectangle(i,40,i+10,49);/*上边*/ rectangle(i,451,i+10,460);/*下边*/ } for(i=40;i<=450;i+=10){ rectangle(50,i,59,i+10);/*左边*/ rectangle(611,i,620,i+10);/*右边*/ } }

玩游戏具体过程:

void GamePlay(void){ randomize();/*随机数发生器*/ food.yes=1;/*1表示需要出现新食物,0表示已经存在食物*/ snake.life=0;/*活着*/ snake.direction=1;/*方向往右*/ snake.x[0]=100;snake.y[0]=100;/*蛇头*/ snake.x[1]=110;snake.y[1]=100;

盐城工学院本科生课程设计报告(2008)

snake.node=2;/*节数*/ PrScore();/*输出得分*/ while(1)/*可以重复玩游戏,压ESC键结束*/ { while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/ { if(food.yes==1)/*需要出现新食物*/ { food.x=rand()%400+60;food.y=rand()%350+60;while(food.x%10!=0)/*使食物在整格内*/ food.x++;while(food.y%10!=0)food.y++;food.yes=0;/*画面上有食物了*/ } if(food.yes==0)/*画面上有食物了就要显示*/ { setcolor(BROWN);rectangle(food.x,food.y,food.x+10,food.y-10);} for(i=snake.node-1;i>0;i--)/*蛇的每个环节前移动,关键算法*/ { snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];} /*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/ switch(snake.direction){ case 1:snake.x[0]+=10;break;case 2: snake.x[0]-=10;break;case 3: snake.y[0]-=10;break;case 4: snake.y[0]+=10;break;} for(i=3;i

贪吃蛇游戏设计

{ if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0]){ GameOver();/*显示失败*/ snake.life=1;break;} } if(snake.x[0]<55||snake.x[0]>595||snake.y[0]<55|| snake.y[0]>455){ GameOver();snake.life=1;/*蛇死*/ } if(snake.life==1)/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/ break;if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/ { setcolor(0);/*把画面上的食物东西去掉*/ rectangle(food.x,food.y,food.x+10,food.y-10);snake.x[snake.node]=-20;snake.y[snake.node]=-20;/*新的一节先放在看不见的位置,下次循环就取前一节的位置*/ snake.node++;/*蛇的身体长一节*/ food.yes=1;/*画面上需要出现新的食物*/ score+=10;PrScore();/*输出新得分*/ } setcolor(4);/*画出蛇*/ for(i=0;i

盐城工学院本科生课程设计报告(2008)

} /*endwhile(!kbhit)*/ if(snake.life==1)/*如果蛇死就跳出循环*/ break;key=bioskey(0);/*接收按键*/ if(key==ESC)/*按ESC键退出*/ break;else if(key==UP&&snake.direction!=4)/*判断是否往相反的方向移动*/ snake.direction=3;else if(key==RIGHT&&snake.direction!=2)snake.direction=1;else if(key==LEFT&&snake.direction!=1)snake.direction=2;else if(key==DOWN&&snake.direction!=3)snake.direction=4;}/*endwhile(1)*/ }

游戏结束:

void GameOver(void){ cleardevice();PrScore();setcolor(GREEN);settextstyle(0,0,3);outtextxy(200,200,“ Game over!Try!”);getch();}

输出成绩:

void PrScore(void){ char str[10];

贪吃蛇游戏设计

setfillstyle(SOLID_FILL,YELLOW);bar(50,15,220,35);setcolor(5);settextstyle(0,0,2);sprintf(str,“score:%d”,score);outtextxy(55,20,str);}

6、运行结果分析

通过运行,我对自己的设计比较满意。运行结果正如我所料,此贪吃蛇游戏具有易操作性及充满活力的外观。

截图及描述:

图6-1 开始画面

此图为开始画面图,蛇有三节,墙壁颜色为绿色,显得较有活力。

盐城工学院本科生课程设计报告(2008)

图6-2 蛇吃到两个食物后

蛇吃到食物后,得分为20分,蛇延长两节。

图6-3 游戏结束画面

贪吃蛇游戏设计

7、实习心得

在大一学习期间,我就知道在大二暑假期间,有程序设计实习。从那时起,我就期盼着这一天早点到来。只因我对编程有浓厚的兴趣。我是我们班第一个通过江苏省计算机VB二级考试的。我的VC++成绩也还可以。

转眼间,程序设计实习就如期而至了。实习的第一天是充满好奇与兴趣,当实习回来时,就感觉得这次实习并非想象中的那样。我本以为,程序设计实习应该是开放性的,让我们参照某些课题,自主、自由地设计程序。我想,那样更能促进我们学习和提高我们的动手能力。

这次实习中,我们都被给了程序的源码,而且有详细的功能说明。表面上看,我们几乎不需什么努力就能完成,而实际上,并非如此。因为那些程序大多是基于16位DOS执行的,并且,里面包含许多DOS下图形处理的函数,我从未涉及过,所以,很难看懂代码,即使有那样详细的注释。

通过坚持上机实习,我对代码的认识越来越多。我还上网找了些资料,如TC函数详解等等。我更多的了解了各种TC函数的功能。我通过一步步的学习,终于弄懂了整个程序,并且对程序做了些修改。如外观、大小、输出成绩等。通过修改程序代码增加游戏的功能,我也从中获得了自信。

通过使用Win-TC1.9设计程序,我更多的了解了TC函数的功能与用法,也了解了在TC环境下调用DOS绘图及处理的常用方法。

在上机实习的过程中,还绘制了模块枝干图与程序流程图,我感觉到,画模块枝干图并不是件容易的事。只有在弄懂程序后才能将整个程序划分成数量适宜的模块。划分模块确实挺重要的,原来我将玩游戏过程划为一个模块,后来发现太复杂,很难画出流程图。模块的数量直接关系到绘制程序流程图的难度。从中,我更深入了解了程序设计的整个过程,这也是我最受益的地方。

在实习过程中,遇到不懂的问题,时而查阅以前学过的书籍,也等于我做了复习。这也能提高我将理论付诸实践的能力。

此外,实习期间,你将我们划分成小组;这促进了我们的相互合作与相互学习。总之,通过这次实习,我学到了好多书本以外的知识!我同样很感谢老师,您!

参考文献

[1] 张岳新《Visual C++程序设计》。

[2] 张岳新《Visual C++程序设计基础实验指导书》。[3]沈被娜 刘祖照 《计算机软件技术基础》

第三篇:贪吃蛇课程设计总结报告书

贪吃蛇课程设计总结报告书

110200第7组

组员:李轶萌 刘浩 赵鹏

一.需求分析

(1)功能与数据需求:题目要求的功能(基本功能)与 扩展功能 基本功能:贪吃蛇的蛇的移动(上下左右)

随机出现食物

蛇吃过后变长 记分功能

撞到自己或边界就失败等基础的功能

扩展功能:难易度的选择 背景音乐 空格暂停功能

容错功能(是否重新开始/结束游戏)

(2)开发环境

Vc6.0

二.概要设计(1)主要数据结构(2)程序总体结构(3)各模块函数说明 三 详细设计(1)主函数部分(2)游戏部分

(3)判断分数,是否继续部分 四.测试

五.应用程序功能的详细说明 规则:贪吃蛇在不首尾相碰且不碰边界的情况下,尽可能多的吃掉随机出现的食物,多吃多得分而益智的小游戏。

操作:上w下s左a右d 暂停 空格 退出或重新游戏肯定y 否定 n 六.总结提高(1)课程设计总结

(2)开发中遇到的问题和解决方法

开发之初,大家对这个程序都不是很了解,所以刚开始只追求把文件做出来,可以运行就可以了。但是后来发现自己做出来的东西连自己都提不起兴趣,单纯只有基本功能功能,没有记分功能,也没有暂停等等,画片也很糟糕,大小比例也有些失调,被老师戏称为“贪吃蚂蚁”。后来经过调试和自主创新,我们发现我们其实还是可以加入一些人性化的东西的。

(3)对自己完成课设完成情况的评价 附录:程序源代码

第四篇:张瑞敏:创新“贪吃蛇”

张瑞敏:创新“贪吃蛇”

2011-09-06 08:57 来源:南方人物周刊 评论(0)T|T

做企业像玩“贪吃蛇”,企业越大经营越难。张瑞敏并不迷信自己过往的成功经验,而一直试图用新的管理理念来找寻新的前进方向

当62岁的张瑞敏开始谈起Facebook和长尾理论,你可以想见这位中国企业家中的管理教父内心是何等焦虑,他对于新成功的渴望又是多么强烈。

张瑞敏正在努力做一件事——试图为海尔这家年销售额过千亿的家电航母注入新的基因。

这些年,张瑞敏刻意逃避了闪光灯,直到这两年人们才知道他在干什么。他在重塑一个新的海尔,一些做法已经取得了相当的成绩。

2010年海尔的营业收入增长了9.2%,利润增长了77.7%,利润增幅是收入增幅的8倍。张瑞敏将之归功于:“一部分自主经营体变成利润中心,为了实现更高的利润,不断地创造更多的用户资源。”

谋定而后动

家电行业是一个资金密集型行业,在张瑞敏看来,比营业收入更重要的是现金流。他说:“海尔营运资金周转天数现在可以达到负10天,中国制造企业中达到负数的还不多,这方面曾经做得最好的是美国的戴尔,它最高的时候可以达到负三十多天,这也是模式创新带来的积极变化。”

张瑞敏发动了海尔的新革命,这似乎可以从他过往的实践中找寻某种线索——他并不迷信自己过往的成功经验,而一直试图用新的管理理念来找寻新的前进方向。

从众所周知的砸冰箱事件开始,张瑞敏就一直在践行“知行合一”的理念。在管理实践中,他开创了海尔特色的管理模式——从“日事日毕、日清日高”的OEC管理模式,到每个人都面向市场的市场链管理,到“人单合一”的发展模式,再到“卓越运营”的商业模式。

到目前为止,先后有美国的哈佛大学和南加州大学、瑞士洛桑国际管理学院、法国的欧洲管理学院、日本神户大学等商学院做了16个案例,涉及海尔的企业兼并、财务管理、企业文化等方面,特别是颇具权威的瑞士洛桑国际管理学院为海尔做的“市场链”案例已被纳入欧盟案例库。

用一个例子就能充分说明张瑞敏对自己管理思想的自信:红星电器厂原是生产洗衣机的工厂,被海尔兼并时净资产只有一个亿,但亏损为2.5亿,兼并后海尔只派了3个人去,员工还是原来的员工,设备还是原来的设备,兼并当月亏损700万,第二个月减亏,到第五个月即盈利一百余万。后来,这个案例便成了哈佛大学教授研究的对象,即“海尔文化激活休克鱼”案例。

类似的案例有很多,张瑞敏作为中国企业家的领袖人物,其显著特点在于,他在不同阶段均能提出自己的管理理论:“休克鱼疗法”、“斜坡理论”、“五星级服务”„„

革自己的命是最难的,在中国当下企业家群体中,大多还都是第一代企业家在唱主角,这些霸气外露的群体大多白手起家,凭借顽强的信念和前所未有的市场机遇取得成功。当他们形成自己的帝国时,很多人已经很难打破既往成功经验,然后进入盛极而衰的历史循环当中。

以儒商为追求目标的张瑞敏深明“一日三省其身”的重要。9年前的一期《财富》杂志给了他很强烈的冲击。那期杂志封面的主题是《企业为什么失败》,文章最后的主旨在于“首席执行官总是为企业失败寻找借口,但是根源就在他们自己所犯下的错误”。

张瑞敏将这期杂志一直摆在办公桌上。他对外界说:“这句话对我的触动非常大。这篇文章又做了详细的分析,犯的是什么错误呢,就是因为你曾经或许是成功的,但是成功的思维定势迷住了你的双眼,对外界的变化不再当一回事,对内部出现的问题,可能就不太注意,而且正如这篇文章所说,企业垮台的时候不会是一点点垮掉,一定是突然的。”

张瑞敏开始学会改变自己的思维与行动方式。在那个时间节点上,互联网经济已经开始逐步深入人心,而以国美苏宁为代表的家电大卖场拼命蚕食上游家电厂商的利润。作为生产厂商,如何摆脱中国制造模式下的低利润率,提高附加值开始日益成为张瑞敏和他的同行们考虑的重点。

对于喜欢“谋定而后动”的张瑞敏来说,他需要找到新的管理武器,要从海尔组织内部闹革命。当他刚刚进入这行时,日本人是他的老师,日式的全面管理理念成为圭臬。继而,美国式的六西格玛理念成为新的管理工具。接下来,他发现他的老师们开始纷纷衰落。GE、飞利浦、三洋等各大国际家电厂商开始纷纷甩卖相关资产,因为找不到可以继续存在下去的理由。

过了知天命之年的张瑞敏从一线的思考上脱身,开始把目光投入到商业模式的思考上。他所推崇的著名管理学者德鲁克说:“商业本质的竞争是商业模式的竞争。”张瑞敏也认为现代企业的竞争是商业模式的竞争,如果寻求不到合适的商业模式,一个企业也可以做大,但很难做强。

他开始去和世界最好的管理学者、企业家交流并走访最成功的企业。发明了六西格玛工具的美国管理学者加里 哈默、前IBM首席执行官郭士纳、日本经营之神稻盛和夫都成为他交流的对象。

张瑞敏决心找出真正适合中国企业的管理新思路。

倒逼理论与人单合一

张瑞敏发现在传统经济时代,信息不对称的主动方在企业。企业推出什么产品,宣传什么产品,这个产品就会卖得出去,用户本质上是被动接受。当年海尔最经典的宣传案例就是推出能洗土豆的洗衣机。

进入互联网时代后,信息不对称的主动方变成了用户,用户可以在互联网上看到所有的产品信息,他们决定自己要哪个产品,企业变成了被动方。

《连线》杂志主编克里斯 安德森(Chris Anderson)提出了“长尾理论”。尽管安德森更多针对的是虚拟产品,但他提出在互联网时代,商品的销售成本急剧降低时,几乎任何以前看似需求极低的产品,只要有卖,都会有人买。这些需求和销量不高的产品所占据的共同市场份额,和主流产品的市场份额相比甚至更大。

在张瑞敏看来,当信息不对称问题在互联网上消失之后,制造业开始从大规模制造转变成大规模定制。一字之差,是整个生产流程和销售推广渠道的重建。

他还推崇《facebook效应》一书。张瑞敏的读书心得是:“Facebook会超越谷歌,原因在于谷歌是满足需求,Facebook是创造需求。Facebook有超过4500万个社区,每个社区的人,都是志同道合的,他们因此形成了关系,他们是个性化的,或者相对个性化的,互联网时代的用户需求也是这样。对海尔来讲,就是要把无数小众的需求,变成相对大众的订单。这个挑战很大。企业只有依靠互联网才能了解到用户的个性化需求。”

发现了这一点之后,张瑞敏开始逐步形成了他的“倒逼理论”——为了满足用户的个性化需求,必须以技术创新为基础,是必要条件,没有技术创新,用户的个性化需求没有办法实现。海尔并不以技术创新为中心,而是以用户需求为中心,由用户需求倒逼。

一步步倒逼的结果是整个架构的颠覆,将“满足用户需求”这一目的在全公司内分解成若干任务,不论一线员工还是后方支持部门,人人都有自己的任务。

张瑞敏将这种管理创新概括为“人单合一”,人是员工,单不是指狭隘的订单,而是市场用户需求。把员工和用户需求联系在一起,由员工自己创造用户的需求,在为用户创造价值中实现自身价值。

在此之前,海尔集团7万多员工形成了稳定的科层制结构,张瑞敏将其转变为两千多个自主经营体,每一个经营体就像一个自主的公司。公司自负盈亏,创造增值以后员工还可以分成。

海尔开始像Facebook里的组织一样,开始成为一个个独立但又互相关联的群体,在此之间发生了奇妙的化学反应。因为自主经营最关键的就是两权——人事和分配两大权力,在新的组织架构内,团队长可以选成员,成员也可以选团队长。团队成员一起决定可以罢免团队长和成员的去留。

对于家电行业来说,库存一直是头痛的难题。之前,一线销售人员为了冲业绩,都会尽可能全面铺货,导致的结果往往是库存增加。新的业务模式下,销售人员要先拿到订单,然后再倒逼回生产部门进行生产。这就逼得整个经营团队不得不改善供应链,生产部门一定要用模块化思路,以适应市场需求的变更。

这种类似戴尔电脑的模式的改革,大大加快了资金回笼力度,还让张瑞敏实现了一个长时间没完成的心愿——取消全国26个中心仓库。

虚实网络的结合除了内部组织架构的变革,张瑞敏更想给海尔这个巨无霸注入一种“灵魂深处闹革命”的新思路。

在张瑞敏看来,对于用户来说最重要的是,怎样能以最快速度满足自己的需求。解决之道是虚实网结合的即需即供的商业模式。

“所谓‘虚网’就是互联网,‘实网’就是营销网、服务网、物流网这类网络,我们希望把这两类网结合起来。在虚网,我们希望可以增加、增强对用户的黏度——怎样在虚网上更好地探讨、满足用户的需求。而在实网,我希望能第一时间满足用户的需求,用户的产品可以在第一时间送达。我们的网络可能是中国企业中最大的,十几年来我们的网络建设都在逐渐向下,从县到乡一直到村,一直到农户家里。这个网络非常重要,我们和用户之间零距离接触,只要他有需求,我们就可以第一时间送达。”

听上去,他的野心很大。京东商城的刘强东凭借自己建立快递物流渠道,从电子商务的红海中冲了出来,而张瑞敏不但要干刘强东的活,他连生产都解决了,是真真正正的一条龙解决方案。

在“重资产”与“轻资产”的争辩当中,张瑞敏如同打了一手太极推手,就化解了两者的矛盾。海尔有强悍的销售网络,以前卖产品,现在不单卖产品,还卖服务,更提供整体解决方案。

3年前,张瑞敏开始把维修网点全部改造为社区店,兼具售后服务和销售职能,并主动向消费者提供电器保养等上门服务。

在这种社区店模式下,团购、维修都可以一站式解决,由此产生的利润空间也是可想而知的。

张瑞敏开始学会去“织网”,他承认,如何做好虚网,还没有太多成功经验可供总结,但在实网的转型上,他已经有了心得。

当海尔掌握了可以深入到村一级的销售点,并且通过内部组织变革将店面人员转变成销售、维修等一站式解决方案后,外界就不难理解,海尔何以在家电下乡中占据了最大的份额。

也正是有了这张“实网”,张瑞敏有了底气敢于向卖服务转型。2009年9月前,通用电气的冰箱还没有进入中国三四级市场,而进入海尔营销网络后,3个月就超过了其2008年全年在中国市场的销量,一跃成为外资冰箱品牌的第二名。

张瑞敏的新变革,着力点就在于创新,给传统的生产型企业注入新的延伸。宏基电脑创始人施正荣曾经以微笑曲线为例,说明利润最高的两端是研发和营销。在资本市场上,张瑞敏也正在将旗下两家上市公司进行整合,国内上市的“青岛海尔(10.72,-0.20,-1.83%)”负责制造、产品研发。香港上市的“海尔电器”主要是渠道。

在他的大棋局中,未来会更像一个T,研发与市场连成一条直线,不再拐弯,制造这一竖应该外包,整合外部的全球性资源。

敢于革自己的命,是张瑞敏变革的思想原点。作为中国企业家中的标杆人物,他并不认为自己就是成功的。“因为在企业的竞争中就不应该存在成功的概念。所有的成功一定是过去时,一定是昨天的,那么今天要做的是追求比昨天更高的目标。当一个人站上冠军领奖台的一瞬间,他已经不再是冠军,而是必须要为下一个冠军而努力。”

在海尔的集团办公大楼前,有一组雕塑,图形来自《周易》。周易总共有64卦,最后一卦叫“未济”(未成功)。

张瑞敏说,这组雕像天天在提醒着他,一定要不断追求更高的目标。

第五篇:c语言程序贪吃蛇课程设计报告

高级语言程序设计 课程设计报告

Experiment Designing reporter 课程名称:高级语言程序设计

英文名称

: C Program Experiment Designing 专业:自动化 111 学号: XXX 姓名: XXX 指导教师: XXX

日期:

2012 年 6月 17日至 2011 年6 月 20 日 山东工商学院信电学院 一:课程设计内容 程序功能介绍

贪吃蛇游戏是一个经典小游戏,深受众多玩家喜爱,其规则是:一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。此游戏不仅能锻炼人的思维敏捷性,而且还可以提高玩家的逻辑判断能力。设计思路

我们小组称设计本次课题——贪吃蛇的思路为“贪快速上手贪吃蛇三步曲”: 第一步:

寻找到一个真正可以运行的已用C编好的贪吃蛇。因为我们毕竟从未看到过用C编游戏的程序,让我们两手一抹黑的开始编写是有一定的困难的,如果我们自己找一个已经设计好的程序,以此为跳板实现我们想要达到的效果,那么肯定是高效的。所以我们组统一决定,去寻找一个可以运行的C编译的贪吃蛇。第二步:

运行游戏并了解游戏程序。

我们认为,只有你运行并了解一个游戏,才能知道游戏里需要什么样的改进和创新,如果你自己本身就没玩过这个游戏,那么你就是再有技术,你也永远改进和改编不了一个游戏,因为你根本不知道你在干什么。

同样重要的是了解游戏程序。因为只有看懂了程序,才能实现对他的改编,才能游刃有余。第三步:

寻找模块并分类,而后进行改编。

寻找到你想要改变的游戏内容的控制模块,比如,我想要增加一堵墙,那么就应该找到 void DrawK(void){

setcolor(11);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);for(i=200;i<=500;i+=10)

rectangle(i,200,i+10,209);} 然后要找到:改变蛇初始长度、颜色、初始位置的模块,改变苹果出现位置的模块,让蛇见墙死的模块,让蛇吃苹果加长的模块„„„.并且进行分类,这样下次再想实现某个目标时,可以一目了然的进行改编。对于找到的模块如何进行改编呢?怎么才能知道某个数值或函数代表什么呢? 我们有两个方法:

1.)看名字,比如snakecolor(),很明显他的意思是蛇的颜色。2.)控制变量猜想,比如设置墙的时候for(i=200;i<=500;i+=10);

rectangle(i,300,i+10,309);中的200,500,300,209 代表什么呢?我们可以猜想:它很像是坐标上的(x,y)的格式,是不是呢?可可以先让其他数值不变,只让309改变,改变后发现上面的墙变粗了,由此可见这个数字控制的是一堵墙的最下面一行的坐标。

关于该程序的相关分析思路答题模板:

1.贪吃蛇程序流程图如下:

二.贪吃蛇程序的改编:

经过小组成员的认真研究我们对其进行了如下改编 第一步加墙 void DrawK(void){ /*setbkcolor(MAGENTA);*/

setcolor(5);//

可以改变颜色

setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ 横向上的墙:

for(i=100;i<=600;i+=10)// 本行代表行坐标上:100代表墙的初始位置,i<=600代表墙的结尾。

{

rectangle(i,60,i+10,69);//本行代表纵坐标上:60代表墙的最上面一行的位置,69代表墙最下面一行的位置。69-60=9,9代表墙块的厚度 } 纵向上的墙:

for(i=100;i<=400;i+=10)//本行代表纵坐标上:100代表墙的初始位置,i<=400代表墙的结尾

{

rectangle(100,i,109,i+10);//本行代表纵坐标上:100代表墙的最左边面一行的位置,69代表墙最右面一行的位置。69-60=9,9代表墙块的宽度

} 我们认为本模块最重要的是for语句控制的坐标代表的意思。只要明白了坐标的意思,就可以实现对游戏的改编。

第二步就是进行对新加入的墙蛇是否撞上死亡

让蛇撞墙死

if(snake.x[0]>190&&snake.x[0]< 510&&snake.y[0]>=200&&

snake.y[0]<=215)

/*其中,对x,y范围的控制,实际是对蛇撞击的死亡区域的限制。*/

{

GameOver();/*本次游戏结束*/

snake.life=1;/*蛇死*/

} 相应的新添加的墙。

for(i=200;i<=500;i+=10)/*画围墙*/

{

rectangle(i,200,i+10,209);/*指定位置*/ 第三步食物的定点出现

if(food.yes==1)/*需要出现新食物*/ 这里说明一下:rand()产生0-65535的数,在limits.h里有定义%400后产生一个0-399的数+60 则为 60 –459,即:%400+60意思是在60~399之间随机产生一个数。

{

food.x=rand()%400+60;

food.y=rand()%350+60;

while(food.x%10!=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/

food.x++;

while(food.y%10!=0)

food.y++;

food.yes=0;/*画面上有食物了*/

} 如果将food.x=(常数a)那么食物就会出现在x=a行的随机列,对于food.y=(常数b)那么食物就出现在y=b列的随机行。

第四步对食物墙壁的颜色以及对蛇的运动速个性化调节

setcolor(4);// 对颜色的调整 int gamespeed=50000;/*游戏速度自己调整*/

通过改变变量的值,就可以个性化选择自己喜欢的颜色,这将是一场别开生面的游戏界面。* 红色代表解析浅蓝代表提示 三.课程设计总结 有言曰:“实践出真知”,在这几天的课程设计实践中,我们组三人真正的体会到了这句话的真谛。

在经历了一学期的C语言学习后,我们从以往的“纸上谈兵”直接过渡到“实际作战”。我们实现了让静态的程序变成动态的游戏效果,虽然我们只是改编了一下别人做好的程序,但我们同样由此获益匪浅,感触颇深,当然也发现了许多自己的不足。

首先,在我们刚刚进行第一步“寻找程序”的时候,就被搁浅了,因为我们发现,在网上能找到一个真正符合我们使用标准的程序很难,就是找到了几个也没有能运行它们的程序。我们花费了前两天的时间来寻找能够使用的程序和软件,但最后还是一无所获,正当我们一筹莫展的时候,我们的导师——杨老师给我们带来了曙光,使得我们在黑暗中找到了希望的光明,杨老师给我们传来了一个上届师哥做好的程序,并且把它的运行软件也给了我们,这对我们来说无疑是雪中送炭,得到这个程序后,我们三个人看到了C语言运行一个游戏的流程和方法,我们脑中也大概有了一个思路。我们三个人以此程序为跳板,直接开始对程序模块进行挑选,因为我们已经浪费了两天,所以我们决定进行分工作业,分别去寻找:筑墙模块,加苹果模块,撞墙死模块。最后我们用了一下午时间完成了三大步中的前两大步和第三步的第一部分,剩下的就是最重要而充满挑战的改编了,从以上的操作中,让我们明白了找对一个平台的重要性,这个平台就是老师给我们的程序,就是我们的前进方向。没有了方向了的征程,一开始就是个错误。在我们寻找程序模块的时候,我们对于程序中的很多东西都是模模糊糊的概念,比如struck是什么,比如for语句的使用,以及for语句的循环体是什么,当然我们也发现了定义字符在长的程序中的方便与重要性。还有就是我们发现程序在编写时的规范性很重要,比如同级别花括号的位置的对应,对应好了,模块就好找,对应不好就很乱。还有定义函数及变量的时候,函数名字和变量名最好是见名知意,比如我们所看的程序中,gamespeed,snakecolour,food.....在最后的攻坚阶段,为了实现对程序的改编,我们使用控制变量猜想法是正确的选择,比如设置墙的时候for(i=200;i<=500;i+=10);

rectangle(i,300,i+10,309);中的200,500,300,209 代表什么呢?我们猜想:它很像是坐标上的(x,y)的格式,是不是呢?我们先让其他数值不变,只让309改变,改变后发现上面的墙变粗了,由此我们知道这个数字控制的是一堵墙的最下面一行的坐标。我们用这个方法知道了其他很多数值的用途。我们用这种方法先是知道了如何设置一堵墙,在我们欣喜设置一堵墙以后才发现:蛇撞了墙后不死。在我们进行了全局来看以后才知道,原来设计一堵墙,都要再设计一个if语句来使得蛇在这个范围内会死亡。并且我们发现在设计这个if语句的时候,不仅要计算好墙的坐标,而且还要用好逻辑语言(&&,||!)同时语句的运算顺序也很重要。刚一开始我们忽略的&&和关系运算符级别的高低,使得我们设计的墙,总是撞不死蛇,为此我们很是恼火,着急的组员还在这里发生了点小摩擦,由此可见C语言的严谨性!

最后我们又通过在网上查找信息,知道了随机数发生器randomize()的用法:rand()=x%+d 意思是说在d~(x-1)之间随机产生一个数字。我们很自然的联想到,如果把food.x等于常数a;把food.y等于一个;x%+d的随机数,那不就能固定只在某一行出现苹果了吗?所以我们觉得,充分利用手边的资源也是很重要的,毕竟C语言很高深,课本上的东西总是有限的,要想知道更多的东西还需多练习,多查阅资料。总之:革命尚未成功,通知还需努力啊!四个人感受: 汤X:

就我个人而言,这次课程设计,我觉得我最大的收获就是:我明白了,我们其实真的没那么厉害,我们真的还有很多东西不会,我们真的连课本上的基本东西都没掌握,课本上的东西,真的也只是C语言这个大海中的一滴水而已。而在我本人还没有掌握好课本的知识点的情况下,做起这个程序自然很费事,一个简单的课本P293讲到的struct结构体,我一开始竟然忘记它是什么意思,不知道它是什么,就更不用谈怎么用它了。还有逻辑语言的使用。我想,现在肯定有很多同学还不知道逻辑运算的优先次序吧?这个问题我本人在使用逻辑语言的时候也不太会,还查看了书。像这些小的知识点,我个人认为如果掌握不好的话,是不可能让整个大程序运行起来的。还有比如我在遇到程序显示“else多余”的警告时候不不知所措,问了老师才知道是if()后面加了“;”而且if没有用“{}”来固定范围,这个错误原因是分号使得if语句结束了,孤立的else当然是多余的了。一个小小的分号使得程序无法运行,由此可见在今后的编程中,一定要注意谨慎,仔细。同时要注意记住平时编程的时候,出现的错误指示是什么意思。比如这次的“else多余”就是因为if后多了分号。还有在编程时候,书写一定要规范,特别是if语句的花括号的位置要对应起来,因为位置决定范围。注意定义变量和函数要使用规范的英文单词,这样才能见名知意,为以后修改找变量节省时间。对于这次课题中,“设计一个墙,就要对应一个函数舍得蛇撞墙死”,让我明白,C语言程序中各部分的联系性,牵一发而动全身,所以在编程时一定要注意全局的把握。我们最后还要说说在编程中,好好利用网络资源,因为课本里的东西总是有限的,而C语言又那么高深,像随机数发生器,还有颜色的定都是我第一次接触,这些东西的用处可是颇大,以后一定好好学习。多看,多练,多总结。最后还要感谢指导老师,杨老师对我学习的帮助和指导。徐XXX: 刚开始拿到题目时候什么也不会一片茫然,从网上找了一个程序一看,太吓人了,这么长怎么看啊,而且还是错误的。没办法只能硬着头皮去改了,但是在改的过程中才发现其实c语言没有想象的那么难而且还很有意思,只是自己平时没有好好学所以在改的时候非常吃力,有很多简单的知识都不知道,没有记住。没办法只能借助与课本了。但是几天下来发现自己已经不再像以前那样是个菜鸟了,虽然很多知识还没掌握。同时在编改程序的时候切记不能烦躁要静心慢慢来,好几次自己都因心燥出现了很多不该出现的错误浪费了很多时间。

对键盘的熟悉在编程时也是很重要的,自己在写的时候往往就是跟一指禅差不多眼睛盯着键盘打,打错了也不知道最后导致整个程序都是错误的,就因为一个打错了一个字母。

总的来说这次课程设计收获很多,也知道了自己的不足,在以后的学习中要多实践,实践很能提高自己的能力。刘XX:

4天的C语言课程设计上机学习让我感受颇多,每天都发现新的问题,又不得不绞尽脑汁解决问题,心情就像正弦函数,随着问题的出现和解决一起一伏。刚开始接触贪吃蛇的C语言成寻时,看着C-free上面出现的有十几个错误的程序,一片茫然不知所措。只能继续在网上搜索错误较少的程序,并结合书上的基础知识查看错误所在,最终发现是不能在C-free中运行,只能在mytc5.6上运行。

作为小组中唯一的女生,明显感觉有压力,打字速度不如另外两个男生,对游戏和程序的敏感也不如他们强,有种小小的挫败感。旁边小组的同学也给我很大的压力。他们自己编写程序,我很佩服他们,越是这样想。心里越着急,越不能解决问题,每当感觉有压力的时候,就提醒自己心静,认真的看程序。在学习过程中,深深的发现了自己的不足之处,对于C语言,只学了一点点皮毛东西,想要学好C语言,编好程序,还要付出很多的努力,还要用更多的时间来学习C语言这门深奥的学科。现在只能借用别人已经写好的程序,在别人的基础上,一点点进步和学习,比如程序中筑墙,需要仿照已有的程序,结合逻辑运算,关系运算和数学知识才能让蛇撞墙死。苹果位置的出现也同样需要进一步的搜索,通过更改食物的横纵坐标以及出现的概率来确定食物的位置。编写程序时,也发现书上的东西对于程序的某些部分来说,没有什么作用,显得太浅显,想要实现老师给出的一些要求,还需要实践,通过上机学习,自己摸索才能成功。一次次修改,一次次失败,就像贪吃蛇想方设法吃苹果会Game over,我们只有认真学好基础理论,并结合实践经验才会取得进步。

在这次学习过程中,我很感谢我的组员,虽然有时我们的意见出现分歧,但是通过大家的共同努力,我们收获了很多,一起讨论,一起研究怎样解决问题,对老师提出的要求个个击破,我们拧成一股绳共同应对问题,让我感受了团队的力量希望在以后的学习过程中,我们依然能够互相帮助,共同进步。

五 课程设计修改后的程序.加墙

for(i=200;i<=500;i+=10)/*画围墙*/

{

rectangle(i,200,i+10,209);/*指定位置1*/

} for(i=120;i<=200;i+=10)/*画围墙*/

{

rectangle(100,i,109,i+10);/*指定位置2*/

} 2.指定位置加苹果

if(food.yes==1)/*需要出现新食物*/

{

food.x=rand()60;

food.y=rand()%200+60;

while(food.x%10!=0)

food.x++;

while(food.y%10!=0)

food.y++;

food.yes=0;3.指定地方撞墙死

if(snake.x[0]>190&&snake.x[0]< 510&&snake.y[0]>=200&&

snake.y[0]<=215)

{

GameOver();/*本次游戏结束*/

snake.life=1;/*蛇死*/

} if(snake.x[0]>90&&snake.x[0]<110&&snake.y[0]>=110&&snake.y[0]<=215)

{

GameOver();/*本次游戏结束*/

snake.life=1;/*蛇死*/

}

}

下载贪吃的蛇教案word格式文档
下载贪吃的蛇教案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    一场好玩的“贪吃蛇”游戏作文

    一场好玩的“贪吃蛇”游戏作文 今天下午,我们在百思特门口进行了一个小比赛—贪吃蛇。 人员到齐以后,老师按照报数的顺序分好了小组,单数为一组,双数为二祖。老师说完比赛规则后......

    贪吃蛇C语言课程设计报告(精选五篇)

    贪吃蛇游戏程序设计报告 贪吃蛇游戏设计 姓名: 张力 学号: 10020323完成日期: 月 日1 贪吃蛇游戏程序设计报告 一、设计目的 贪吃蛇游戏程序功能的实现主要是建立在二维数组和......

    关于暑假编写贪吃蛇的感想(含五篇)

    关于暑假编写贪吃蛇的感想 今年暑假,我和 一起用c++语言编写了一个小游戏——贪吃蛇,在编写的过程中不仅体会到了编写代码的艰辛,也体会到了合作的乐趣和编写完成后的快乐。在......

    教案

    第9课 诗歌与小说 教 案 课标要求 知道诗经、楚辞、汉赋、唐诗、宋词、元曲、明清小说等文学成就,了解中国古代不同时期的文学特色。 教学目标 知识与能力:了解《诗经》反映......

    there be教案

    There be 句型教案 一、学科: 英语 二、课例名称: “There be”句型 三、课型:新授课 四、:年级: 六年级 五、教学设计(一)、教学目标 1、知识目标 能理解并灵活掌握句型“There......

    教案

    教学目标: 1、通过量一量、比一比等活动,初步学会选择适当的测量标准,用不同的方式表示物体的长度或高度。 2、通过测量和比较等活动,积累测量经验,初步培养学生的估测能力、......

    教案

    《藤野先生》教学设计 主备人:顾海芳 【教学目标】 1.熟读课文,简要复述故事情节。 2.分析人物形象及学习刻画人物的多种描写方法。 3. 结合时代背景,感悟藤野先生的人格魅力,......

    教案

    《竞争?合作?》教案 高家堰中心学校 黄华 一、指导思想 牢固树立“学生第一”的思想,以学生的发展为目的,从学生的兴趣着手,让学生感受到思品教学中的乐趣。 二、教学目标: 1、情......