跪求好网站你懂的一个锁机源码

lockvhdl Ve一个简单的数字电子密码锁, 为4 位。
功能 输入:每按下 ,要求在数 -FPGA-Verilog 182万源代码下载-
&文件名称: lockvhdl
& & & & &&]
&&所属分类:
&&开发工具: Others
&&文件大小: 151 KB
&&上传时间:
&&下载次数: 170
&&提 供 者:
&详细说明:Ve一个简单的数字电子密码锁,密码为4 位。
功能 密码输入:每按下一个键,要求在数码管上显示,并依次左移; 密码清除:清除密码输入,并将输入置为”0000”;密码修改:将当前输入设为新的密码;上锁和开锁.-Ve a simple digital electronic locks, passwords for four. Function password: press a key for each request in the digital tube display, and turn left
password clear: clear the password, and enter the home as
password modification: the current input set a new password
lock and unlock.
文件列表(日期:)(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&&&...........\
&[]:很好,推荐下载
&近期下载过的用户:
&相关搜索:
&&&&&&&&&&
&输入关键字,在本站182万海量源码库中尽情搜索:
VB6无疑是当前最先进的编程工具之一,无论是它的代码编写还是与视窗98的完美结合, 都令人们特别是程序员们赞叹不已。在这里,我将自己在编程实践中对LISTVIEW控件的一些使用经验和心得体会与广大的同仁们作以探讨,希望大家批评指正,或者有所借鉴
&[] - 一些小程序的代码,在学java时在编的,可能对初学者有用!
&[] - 4位电子密码锁,带键盘扫描、按键防抖动、LCD驱动编译码
&[] - 六位电子密码锁
采用89s52(51,52都可),4*4键盘,六个数码管,74ls04(位选),573(8D锁存器)。
说明:P2---数据(接573)―――(接数码管)
P1---位选 ---(按74ls04)
P0--4*4键盘
密码一次性设置(编程时写入的)
电路简单,此源程序
&[] - 电子密码锁的vhdl编程实现,不知以前有没有人做过的。
&[] - 这是一个数字密码锁的VHDL源代码 花了很多时间才弄来的
&[] - 图像处理的标准程序 经过几十次测试 包括:bmp图象读取,噪声产生,滤波,边缘跟踪
&[] - 本程序是用VHDL语言实现电子密码锁功能,整个系统分为三大模块,一为控制模块,二为键盘显示模块,三为处理模块
&[] - 利用硬件描述语言VHDL设计交通灯电路,设计一个十字路口交通灯控制器,东西、南北方向有红灯、黄灯、绿灯,持续时间分别为45、5、40秒。
&[] - EDA课程设计,包含源码和文档说明,实现秒表计数和闹钟功能,使用VHDL语言编写
已完成功能
1. 完成时/分/秒的依次显示并正确计数,利用六位数码管显示;
2. 时/分/秒各段个位满10正确进位,秒/分能做到满60向前进位,有系统时间清零功能;
3. 定时器:实现整点报时,通过扬声器发求一个自动贩卖机的C++源代码程序_百度知道
求一个自动贩卖机的C++源代码程序
密码是123。找零不用考虑里面零钱是否够用,找零:检索当前三种商品的储存量 2)商品上架,凉茶.
2顾客界面)
管理人员界面。如果满意的话我可以加分,可乐,给钱获得商品,例如要求要用C++面向对象的方法来写:有。选择界面(1管理人员界面(需要输入密码: 1)销售界面:商品只要三种就可以了。PS:1)显示库存:欢迎界面:为三种商品增加或者减少储量 3)销售查询,求高手帮助:顾客选择商品及其数量:分别统计每种商品的销售量和销售额顾客页面,奶茶,显示总价。具体要求如下
提问者采纳
m_milkT-&gt:& ends &密码错误& &&&#include &lt, num = 0;account -= && &&price &
cout & } inline void showSoldNum() const{
cout &库存; &lt:{
showSoldNum();& else if(n == 3)
m_T-& & 0)
cout &).可乐\n&
cin &n& cout &lt, price(pr); && &lt, m_soldT& }}int main(){ Vending *vend = new Vending, string n);;& m_cola-&请支付;account &&lt:&quot:&请选择;
cin &name &
cout && & &销售量;}; & &&&奶茶& m_cola-& void popMenu(); if(n == 1){
price = m_cola-&
cout &lt: Vending(); cout & 0)
cout & m_T-&name & & m_cola-&
cout &lt: & }
if(num & ; m_soldMilkTea*(m_milkT-&\&account += menu2 &lt:Drink(;&; &n1, account(0){}V
else if(n == 3)
exit(0);;;
m_T = new Drink(float(3;
switch(n){
case 1; &&支付不足& }
cout &):&quot? &);(售完)\ else{
cout && &lt, m_soldMilkTea(0);&&lt:&
cout & return 0; m_T-& &库存;):&
cin &========自动贩卖机========\&lt:&请输入要上架的数量; & pay-price &销售量;price &;
vend-&n& 3){
cout &account == 0 ; 0)
cout &&&& cout &&操作完成& (m_T-& do
if(pay &凉茶;account == 0 ;&account == 0 ;
cout &\&lt:&& endl &&
m_T-&gt.销售查询\ & &价格;price) &&
acc = m_milkT-&gt, & else if(n == 2)
m_milkT-&&price) && &&&account -= & while(true){
cout &; && ends &lt: Drink *m_ &&& cin & &name &&lt? &
break, & &lt:& &&&
if(n &n2;n& }
void addStore(); &销售额;n2;2;操作完成& cout &&找零;
if(n == 1){
&lt:; &lt:& }while(num &
if(n == 1){
m_soldCola +=& & void sellItem(); m_milkT-& &}, m_soldTea(0){ m_cola = new Drink(float(2;销售额;&n&&&&& const string menu2 = &name & & &account & &&&account +=
cout & && ;可乐&quot:\ &
float pay = 0; & m_soldTea*(m_T-&n3;&vector&(售完)\class Vending{ &quot, string n);&struct Drink{ Drink(float pr.销售界面\ int acc = 0; &&lt:, *m_milkT;请输入密码; menu1 &&选择错误&&lt:{
showStorage().5), m_soldMilkT
int n.0)? &quot:& m_milkT-&& (m_cola-& &quot.商品上架\操作失败&&1;account &&
cout & endl &n&& m_milkT-&gt:& & } else if(n == 3){
price = m_T-&gt.显示库存\3:&
cin & &account &lt:; &销售量;&lt.8);价格;
if(n == 1)
m_cola-&& & & &库存;& if(pay - price & cin &
float price = 0;n3;
else if(n == 2){
m_soldMilkTea +=&}void V销售额;
default.退出\ & &&
price *= m_T-& ends && int n = 0; m_T-&}void V& count:&&n1; && ;n2;
break, *m_T; &price) & & &
acc = m_T-&account &lt,:& endl & }while (pay &选择错误&&lt: &&
& & m_milkT-&;请选择:{
addStore();name && & } else if(n == 2){
price = m_milkT-&price & (m_milkT-&account +=n&#include &lt:& & 请选择要上架的商品; m_soldTea & &库存不足&
case 2;&lt.&name &
m_milkT-&&& m_T-& m_cola-&gt:& cin && &n&凉茶& cout &
acc = m_cola-&gt: &&&lt:&); &quot:&n& &奶茶; & endl:popMenu(){ const string menu1 = & endl:&
if(&lt:sellItem(){ cout &lt.管理人员界面\价格!= 123){
cout &&&& &); endl &(售完)\ } else if(n == 3){
m_soldTea +=;account -=请选择;&lt:& }}void Vcstdlib&#include &\;n3;
else if(n == 2)
sellItem();&lt:&quot.& m_soldCola*(m_cola-&gt, &========自动贩卖机========\ &quot:&&lt:Vending():addStore(){ cout & &
cout &&&可乐.凉茶\& price); &lt:; & m_cola-&account & acc); &lt.&string&请输入数量:{
cout &&lt:&&lt:name(n);n1; m_milkT = new Drink(float(3;& int m_soldC
endl#include &lt:;&D&&;account:m_soldCola(0);&iostream&
inline void showStorage() const {
cout &lt:& m_soldCola &popMenu():& m_soldMilkTea &&lt.奶茶\ &quot
提问者评价
谢谢这位大神指点,感激不尽。
其他类似问题
自动贩卖机的相关知识
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求一个photozoom的解锁代码
求一个photozoom的解锁代码
额 photozoom
不区分大小写匿名
相关知识等待您来回答
多媒体领域专家求一个易语言锁电脑的源码!不是锁桌面。我被人锁过一次,想报复一下他!看一下我的图片!就是这样类型的_百度知道
求一个易语言锁电脑的源码!不是锁桌面。我被人锁过一次,想报复一下他!看一下我的图片!就是这样类型的
com/zhidao/pic/item/18d8bc3eb10fabd3fd1f41345b67://g!就是这样类型的.com/zhidao/wh%3D450%2C600/sign=4d695dfcaf98ca029afbc3eb10fabd3fd1f41345b67!谢谢分享着.baidu.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http!<a href="http,想报复一下他.hiphotos.hiphotos求一个易语言锁电脑的源码://g://g.baidu。我被人锁过一次!看一下我的图片.jpg" esrc="http./zhidao/wh%3D600%2C800/sign=d781d5e181025aafd36776cdcbdd875c/18d8bc3eb10fabd3fd1f41345b67!不是锁桌面
我有更好的答案
按默认排序
唉,管理员密码没用,把机箱记忆电池扣去,或重装系统就好了
给个好评吧谢谢
我想要源码,对不起,你的评价离题!
可以注册表,改了用户名,加了密码,用cmd命令也能做到
你还没有发教程呢!谢谢
附件里面就是源码程序
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁热门搜索:
求一个c语言贪吃蛇C语言源代码
贪吃蛇c语言代码_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者贡献于
评价文档:
4页免费2页免费12页免费6页免费6页免费 8页免费3页免费9页1下载券7页免费9页1下载券
喜欢此文档的还喜欢3页免费5页免费10页1下载券9页免费2页免费
贪吃蛇c语言代码|绝&#8203;对&#8203;好&#8203;用&#8203;的&#8203;贪&#8203;吃&#8203;蛇&#8203;c&#8203;语&#8203;言&#8203;代&#8203;码&#8203;,
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:14.63KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
空间积分0 信誉积分100 UID621329阅读权限20积分889帖子精华可用积分889 专家积分0 在线时间0 小时注册时间最后登录
丰衣足食, 积分 889, 距离下一级还需 111 积分
帖子主题精华可用积分889 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
许久没来,贡献一个原创小程序,是unix下用终端控制字符实现的贪吃蛇小游戏,供大家一乐。
/***snake.c***/
#include &stdio.h&
#include &malloc.h&
#include &sys/time.h&
#include &sys/types.h&
#include &sys/select.h&
#include &termio.h&
#include &fcntl.h&
#define SNAKE_INITX 5
#define SNAKE_INITY 5
#define SNAKE_SHAPE '*'
#define SNAKE_INITLEN 8
#define WIN_X1 1
#define WIN_X2 80
#define WIN_Y1 1
#define WIN_Y2 24
#define MAX_LEVEL 20
#define MAX_INTER 200000
#define MIN_INTER 0
#define MAX_RICH 10
#define DEVRATE 5
#define OVER &Game Over!!!&
struct stNode
{
& & & &
& & & &
& & & &
& & & & struct stNode *
};
struct stFood
{
& & & &
& & & &
};
struct stNode *gpstHead,*gpstT
struct stFood gastFood[MAX_RICH];
int giLevel=1;
int giRich=1;
int giScore=0;
int giLen=0;
void settty(int iFlag)
{
& & & &
& & & & struct termio stT
& & & & if((fd = open(ttyname(1),O_RDWR))==-1)& & & &
& & & & if(iFlag == 1)
& & & & {
& & & & & & & & ioctl(fd,TCGETA,&stTerm);
& & & & & & & & stTerm.c_lflag &= ~ICANON;
& & & & & & & & stTerm.c_lflag &= ~ECHO;
& & & & & & & & stTerm.c_cc[4] = 1;
& & & & & & & & stTerm.c_cc[5] = 0;
& & & & & & & & stTerm.c_iflag &= ~ISTRIP;
& & & & & & & & stTerm.c_cflag |= CS8;
& & & & & & & & stTerm.c_cflag &= ~PARENB;
& & & & & & & & ioctl(fd,TCSETA,&stTerm);
& & & & }
& & & & else
& & & & {
& & & & & & & & ioctl(fd,TCGETA,&stTerm);
& & & & & & & & stTerm.c_lflag |= ICANON;
& & & & & & & & stTerm.c_lflag |= ECHO;
& & & & & & & & stTerm.c_cc[4] = 4;
& & & & & & & & stTerm.c_cc[5] = 5;
& & & & & & & & stTerm.c_iflag &= ~ISTRIP;
& & & & & & & & stTerm.c_cflag |= CS8;
& & & & & & & & stTerm.c_cflag &= ~PARENB;
& & & & & & & & ioctl(fd,TCSETA,&stTerm);
& & & & }
& & & & close(fd);
}
void vDrawOneNode(struct stNode *pstNode,int iFlag)
{
& & & & printf(&\033[%dm\033[40;%dm\033[%d;%d;H%c&,
& & & & & & & & iFlag,iFlag*3+30,pstNode-&y,pstNode-&x,pstNode-&shape);
& & & & fflush(stdout);
}
void vDrawOneFood(int x,int y)
{
& & & & printf(&\033[1m\033[40;36m\033[%d;%d;H%c&,y,x,'@');
& & & & fflush(stdout);
}
int iGetDir(int iOriDir)
{
& & & & fd_
& & & & struct& & & & timeval& & & & hT
& & & & int iRet,iFlag=0;
& & & & char cCh;
& & & & FD_ZERO(&rset);
& & & & FD_SET(0,&rset);
& & & & hTmo.tv_sec=0;
& & & & hTmo.tv_usec=MAX_INTER-(MAX_INTER-MIN_INTER)/MAX_LEVEL*giL
& & & & iRet=select(1,&rset,NULL,NULL,&hTmo);
& & & & if(iRet&=0)
& & & & {
& & & & & & & & return(iOriDir);
& & & & }
& & & & for(;;)
& & & & {
& & & & & & & & cCh=getchar();
& & & & & & & & if(cCh != -1)
& & & & & & & & {
& & & & & & & & & & & & switch(cCh)
& & & & & & & & & & & & {& & & &&&
& & & & & & & & & & & & case 27&&:
& & & & & & & & & & & & case 91&&:
& & & & & & & & & & & & & & & & iFlag++;
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & case 65&&://UP
& & & & & & & & & & & & case 66 ://DOWN
& & & & & & & & & & & & case 67&&://RIGHT
& & & & & & & & & & & & case 68 ://LEFT
& & & & & & & & & & & & if(iFlag==2)
& & & & & & & & & & & & & & & & return((!((cCh-0x41)^iOriDir^1))^(cCh-0x41));
& & & & & & & & & & & & default&&:
& & & & & & & & & & & & & & & & return(iOriDir);
& & & & & & & & & & & & }
& & & & & & & & }
& & & & }
}
void vInitScreen()
{
& & & & settty(1);
& & & & printf(&\033[?25l\033[2J&);
}
void vRestoreScreen()
{
& & & & printf(&\033[24;1H\033[1m\033[40;34m\033[?25h&);
& & & & settty(0);
}
void vDrawScope()
{
& & & & int i,j;
& & & &
& & & & for(j=WIN_Y1;j&=WIN_Y2;j+=WIN_Y2-WIN_Y1)
& & & & {
& & & & & & & & printf(&\033[%d;%dH+&,j,WIN_X1);
& & & & & & & & for(i=WIN_X1+1;i&WIN_X2;i++)
& & & & & & & & & & & & printf(&-&);
& & & & & & & & printf(&+&);
& & & & }
& & & & for(i=WIN_Y1+1;i&WIN_Y2;i++)
& & & & & & & & printf(&\033[%d;%dH|%*c|\n&,i,WIN_X1,WIN_X2-WIN_X1-1,' ');
}
void vCreateSnake()
{
& & & & struct stNode *pstN
& & & &
& & & & gpstHead=(struct stNode*)malloc(sizeof(struct stNode));
& & & & gpstHead-&x=SNAKE_INITX;& & & &
& & & & gpstHead-&y=SNAKE_INITY;
& & & & gpstHead-&shape=SNAKE_SHAPE;
& & & & gpstHead-&next=NULL;
& & & & vDrawOneNode(gpstHead,1);
& & & & gpstTail=gpstH
& & & & for(i=1;i&SNAKE_INITLEN;i++)
& & & & {
& & & & & & & & pstNew=(struct stNode*)malloc(sizeof(struct stNode));
& & & & & & & & pstNew-&x=gpstHead-&x+1;& & & &
& & & & & & & & pstNew-&y=gpstHead-&y;
& & & & & & & & pstNew-&shape=SNAKE_SHAPE;
& & & & & & & & pstNew-&next=NULL;
& & & & & & & & vDrawOneNode(pstNew,1);
& & & & & & & & gpstHead-&next=pstN
& & & & & & & & gpstHead=pstN
& & & & }
& & & &
}
void vKillSnake()
{
& & & & struct stNode *pstN
& & & & for(pstNode=gpstTgpstTail!=NULL;)
& & & & {
& & & & & & & & gpstTail=pstNode-&
& & & & & & & & free(pstNode);
& & & & & & & & pstNode=gpstT
& & & & }
}
void vGenFood(int iIdx)
{
& & & & struct stNode *pstN
& & & & int i,iFound=0;
& & & &
& & & & for(;!iF)
& & & & {
& & & & & & & & iFound=1;
& & & & & & & & gastFood[iIdx].x=rand()%(WIN_X2-WIN_X1-1)+WIN_X1+1;
& & & & & & & & gastFood[iIdx].y=rand()%(WIN_Y2-WIN_Y1-1)+WIN_Y1+1;
& & & & & & & & for(i=0;i&giRi++)
& & & & & & & & {
& & & & & & & & & & & & if(i!=iIdx && gastFood[iIdx].x==gastFood[i].x &&
& & & & & & & & & & & & & & & & gastFood[iIdx].y==gastFood[i].y)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & iFound=0;
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & }
& & & & & & & & if(!iFound)
& & & & & & & & for(pstNode=gpstTpstNode!=NULL;pstNode=pstNode-&next)
& & & & & & & & {
& & & & & & & & & & & & if(gastFood[iIdx].x==pstNode-&x &&
& & & & & & & & & & & & & & & & gastFood[iIdx].y==pstNode-&y)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & iFound=0;
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & }
& & & & & & & & if(!iFound)
& & & & }
& & & & vDrawOneFood(gastFood[iIdx].x,gastFood[iIdx].y);
}
void vInitFood()
{
& & & &
& & & &
& & & & srand(getpid());
& & & & for(i=0;i&giRi++)& & & & vGenFood(i);
}
& & & &
int iIsValid(int x,int y)
{
& & & & struct stNode *pstN
& & & & if(x&=WIN_X1 || x&=WIN_X2 || y&=WIN_Y1 || y&=WIN_Y2)
& & & & & & & & return(0);
& & & & pstNode=gpstT
& & & & for(;pstNode!=NULL;)
& & & & {
& & & & & & & & if(x==pstNode-&x && y==pstNode-&y)
& & & & & & & & & & & & return(0);
& & & & & & & & pstNode=pstNode-&
& & & & }
& & & & return(1);
}
int iEat(int x,int y)
{
& & & & int i,j;
& & & &
& & & & for(i=0;i&giRi++)
& & & & {
& & & & & & & & if(x==gastFood[i].x && y==gastFood[i].y)
& & & & & & & & {
& & & & & & & & & & & & vGenFood(i);
& & & & & & & & & & & & giScore+=giLevel*10;
& & & & & & & & & & & & giLen++;
& & & & & & & & & & & & if(giLevel&MAX_LEVEL)
& & & & & & & & & & & & & & & & if(giLen%DEVRATE==0)
& & & & & & & & & & & & & & & & & & & & giLevel++;
& & & & & & & & & & & & return(1);
& & & & & & & & }
& & & & }
& & & & return(0);
}
main()
{
& & & & int iDir=2,iNextX,iNextY;
& & & & struct stNode *pstN
& & & & char sPrompt[80];
& & & &
& & & & vInitScreen();
& & & & vDrawScope();
& & & & vCreateSnake();
& & & & vInitFood();
& & & & for(;;)
& & & & {
& & & & & & & & iDir=iGetDir(iDir);
& & & & & & & & iNextX=gpstHead-&x+(iDir&&1)*(5-(iDir&&1));
& & & & & & & & iNextY=gpstHead-&y-(!(iDir&&1))*(1-(iDir&&1));
& & & & & & & & if(!iIsValid(iNextX,iNextY))
& & & & & & & & {
& & & & & & & & & & & & printf(&\033[%d;%dH\033[1m\033[40;34m%s\033[0m&,
& & & & & & & & & & & & & & & & WIN_Y2-1,(WIN_X1+WIN_X2)/2-strlen(OVER)/2,OVER);
& & & & & & & & & & & &
& & & & & & & & }
& & & & & & & & pstNew=(struct stNode*)malloc(sizeof(struct stNode));
& & & & & & & & pstNew-&x=iNextX;
& & & & & & & & pstNew-&y=iNextY;
& & & & & & & & pstNew-&shape=SNAKE_SHAPE;
& & & & & & & & pstNew-&next=NULL;
& & & & & & & & gpstHead-&next=pstN
& & & & & & & & gpstHead=pstN
& & & & & & & & vDrawOneNode(gpstHead,1);
& & & & & & & & if(!iEat(iNextX,iNextY))
& & & & & & & & {
& & & & & & & & & & & & vDrawOneNode(gpstHead,1);
& & & & & & & & & & & & vDrawOneNode(gpstTail,0);
& & & & & & & & & & & & pstNew=gpstT
& & & & & & & & & & & & gpstTail=pstNew-&
& & & & & & & & & & & & free(pstNew);
& & & & & & & & }
& & & & & & & & sprintf(sPrompt,&Score:%7d Level:%2d&,giScore,giLevel);
& & & & & & & & printf(&\033[%d;%dH\033[1m\033[40;34m%s\033[0m&,
& & & & & & & & & & & & WIN_Y2,(WIN_X1+WIN_X2)/2-strlen(sPrompt)/2,sPrompt);
& & & & }
& & & & vKillSnake();
& & & & vRestoreScreen();
}复制代码
编译方法:
AIX下:cc -qcpluscmt -o snake snake.c
sco unix下:cc -o snake snake.c
[ 本帖最后由 forest077 于
13:23 编辑 ]
年轻人,看贴要回帖!光看不回是要挨板砖的。
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
空间积分0 信誉积分0 UID阅读权限20积分308帖子精华可用积分308 专家积分6 在线时间131 小时注册时间最后登录
稍有积蓄, 积分 308, 距离下一级还需 192 积分
帖子主题精华可用积分308 专家积分6 在线时间131 小时注册时间最后登录
论坛徽章:0
代码写得很漂亮,支持,友情帮顶!
什么事都别埋怨别人和环境,如果要怪,那就怪自己。
空间积分0 信誉积分0 UID阅读权限20积分308帖子精华可用积分308 专家积分6 在线时间131 小时注册时间最后登录
稍有积蓄, 积分 308, 距离下一级还需 192 积分
帖子主题精华可用积分308 专家积分6 在线时间131 小时注册时间最后登录
论坛徽章:0
gcc加了-Wall选项之后出现了N多警告,主要是一些头文件没加进去;
另外,不知道搂主是在什么环境下跑这个程序的,我的机器跑了之后没看到什么。
什么事都别埋怨别人和环境,如果要怪,那就怪自己。
空间积分0 信誉积分100 UID621329阅读权限20积分889帖子精华可用积分889 专家积分0 在线时间0 小时注册时间最后登录
丰衣足食, 积分 889, 距离下一级还需 111 积分
帖子主题精华可用积分889 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
回复 #3 LinuxKen 的帖子
我在AIX下开发的。 sco下虽然没试过,但是以我的经验,跑起来应该没问题。
年轻人,看贴要回帖!光看不回是要挨板砖的。
空间积分0 信誉积分40 UID阅读权限20积分412帖子精华可用积分412 专家积分0 在线时间483 小时注册时间最后登录
稍有积蓄, 积分 412, 距离下一级还需 88 积分
帖子主题精华可用积分412 专家积分0 在线时间483 小时注册时间最后登录
论坛徽章:0
跑了就看到个界面, 看不到蛇和豆子, 一会就 GAME OVER了
好装B,求甚解.
空间积分0 信誉积分197 UID阅读权限100积分17435帖子精华可用积分17435 专家积分160 在线时间2512 小时注册时间最后登录
帖子主题精华可用积分17435 专家积分160 在线时间2512 小时注册时间最后登录
论坛徽章:0
我还记得刚来CU时看到LZ在shell版发的shell学习体会~~
技术blog: /converse/
空间积分0 信誉积分100 UID621329阅读权限20积分889帖子精华可用积分889 专家积分0 在线时间0 小时注册时间最后登录
丰衣足食, 积分 889, 距离下一级还需 111 积分
帖子主题精华可用积分889 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
回复 #5 204tian 的帖子
你在什么环境下的?linux下我不敢保证可以运行。
年轻人,看贴要回帖!光看不回是要挨板砖的。
空间积分0 信誉积分100 UID621329阅读权限20积分889帖子精华可用积分889 专家积分0 在线时间0 小时注册时间最后登录
丰衣足食, 积分 889, 距离下一级还需 111 积分
帖子主题精华可用积分889 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
回复 #6 converse 的帖子
哈哈,多谢,你还记得呀
年轻人,看贴要回帖!光看不回是要挨板砖的。
空间积分0 信誉积分100 UID621329阅读权限20积分889帖子精华可用积分889 专家积分0 在线时间0 小时注册时间最后登录
丰衣足食, 积分 889, 距离下一级还需 111 积分
帖子主题精华可用积分889 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
可惜我这边找不到linux环境,要不然可以试试
年轻人,看贴要回帖!光看不回是要挨板砖的。
只送鱼,不教打渔
空间积分0 信誉积分37 UID阅读权限90积分12051帖子精华可用积分12051 专家积分222 在线时间1693 小时注册时间最后登录
大富大贵, 积分 12051, 距离下一级还需 7949 积分
帖子主题精华可用积分12051 专家积分222 在线时间1693 小时注册时间最后登录
论坛徽章:0
Segmentation fault (core dumped)
在AIX下。。。
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处C_game_code C语言游戏案例集锦,有贪吃蛇,俄罗斯方块,等经典 源码 P2P 182万源代码下载-
&文件名称: C_game_code
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 66 KB
&&上传时间:
&&下载次数: 47
&&提 供 者:
&详细说明:C语言游戏案例集锦,有贪吃蛇,俄罗斯方块,等经典游戏源码-C language games allehanda case, there are Snake, Tetris, classic games, such as source
文件列表(日期:~)(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&c案例&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\&&.....\tanshishe.txt&&.....\读我.txt
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站182万海量源码库中尽情搜索:
&[] - 日本著名的的嵌入式实时操作系统T-Kernel的源码及用户手册。
&[] - J2SE环境下的Java游戏源码,里面的源码都是我苦心收集希望能给你带来帮助。
&[] - 根据《c语言游戏从入门到精通》完善丰富的小C游戏。
&[] - 单片机c语言相关学习及应用,对初学者会有很大帮助
&[] - linux下的一个小游戏贪吃蛇,用c语言写成.
&[] - c语言的初级练习者的首先,教你编一个象棋游戏
&[] - linux下的一个拼图程序的源代码 使用curses库函数
&[] - 在turboC2.0下的一个桌球小游戏,运行是需全屏。
&[] - vc数据库开发案例,是本书的配套光盘,附载大量源码
&[] - 这是VC++精彩案例一书的随书光盘(一),里面包含了很多具有代表性的代码,可用于初学VC者参考的好资料C语言 的 贪吃蛇 代码 谢谢 大家啦。。。。。。。_百度知道
C语言 的 贪吃蛇 代码 谢谢 大家啦。。。。。。。
你好,很荣幸回答你的问题,我这里是一个c的贪吃蛇源代码,希望对你有帮助,不过运行这个时需要你的软件包含惊蛰EasyX图形函数,比如vc++6.0,如遇到问题问题可以联系我,希望对你有帮助。#include &graphics.h&#include &stdlib.h&#include &conio.h&#include &time.h&#include &stdio.h&#define LEFT &#39;a&#39;#define RIGHT &#39;d&#39;#define DOWN &#39;s&#39;#define UP &#39;w&#39;#define ESC 27#define N 200
/*蛇的最大长度*/int score=0;
/*得分*/int gamespeed=100;
/*游戏速度自己调整*/struct Food{
/*食物的横坐标*/
/*食物的纵坐标*/
/*判断是否要出现食物的变量*/}
/*食物的结构体*/struct Snake{
/*蛇的节数*/
/*蛇移动方向*/
/* 蛇的生命,0活着,1死亡*/}void Init(void);
/*图形驱动*/void Close(void);
/*图形结束*/void DrawK(void);
/*开始画面*/void GameOver(void);
/*结束游戏*/void GamePlay(void);
/*玩游戏具体过程*/void PrScore(void);
/*输出成绩*//*主函数*/void main(void){
/*图形驱动*/
/*开始画面*/
GamePlay();
/*玩游戏具体过程*/
/*图形结束*/}/*图形驱动*/void Init(void){
int gd=9,gm=2;
initgraph(&gd,&gm,& &);
cleardevice();}/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/void DrawK(void){
/*setbkcolor(LIGHTGREEN);*/
setcolor(LIGHTCYAN);
setlinestyle(PS_SOLID,0,1);
/*设置线型*/
for(i=50;i&=600;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(601,i,610,i+10);
}}/*玩游戏具体过程*/void GamePlay(void){
srand(time(NULL));
/*随机数发生器*/
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;
snake.node=2;
/*节数*/PrScore();
/*输出得分*/
/*可以重复玩游戏,压ESC键*/
while(!kbhit())
/*在没有按键的情况下,蛇自*/
if(food.yes==1)
/*需要出现新食物*/
food.x=rand()%400+60;
food.y=rand()%350+60;
while(food.x%10!=0)
/*食物随机出现后必须让食物*/
while(food.y%10!=0)
food.yes=0;
/*画面上有食物了*/
if(food.yes==0)
/*画面上有食物了就要显示*/{
setcolor(GREEN);
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;
case 2: snake.x[0]-=10;
case 3: snake.y[0]-=10;
case 4: snake.y[0]+=10;
/*从蛇的第四节开始判断是否撞到自己了,因为蛇头为两节,第三节不可*/
for(i=3;i&snake.i++)
if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0])
GameOver();
/*显示失败*/
snake.life=1;
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)
/*以上两种判断以后,如果蛇*/
if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/
setcolor(BLACK);
/*把画面上的食物东西去*/
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(RED);
/*画出蛇*/for(i=0;i&snake.i++)
rectangle(snake.x[i],snake.y[i],snake.x[i]+10,snake.y[i]-10);
Sleep(gamespeed);
setcolor(BLACK);
/*用黑色去除蛇的的最后*/
rectangle(snake.x[snake.node-1],snake.y[snake.node-1],
snake.x[snake.node-1]+10,snake.y[snake.node-1]-10);
/*endwhile(!kbhit)*/
if(snake.life==1)
/*如果蛇死就跳出循环*/
key=getch();
/*接收按键*/
if (key == ESC)
/*按ESC键退出*/
switch(key)
if(snake.direction!=4)
/*判断是否往相反的方向移动*/
snake.direction=3;
case RIGHT:
if(snake.direction!=2)
snake.direction=1;
case LEFT:
if(snake.direction!=1)
snake.direction=2;
case DOWN:
if(snake.direction!=3)
snake.direction=4;
}/*endwhile(1)*/}/*游戏结束*/void GameOver(void){
cleardevice();
PrScore();
setcolor(RED);
setfont(56,0,&黑体&);
outtextxy(200,200,&GAME OVER&);
getch();}/*输出成绩*/void PrScore(void){
char str[10];
setfillstyle(YELLOW);
bar(50,15,220,35);
setcolor(BROWN);
setfont(16,0,&宋体&);
sprintf(str,&score:%d&,score);
outtextxy(55,16,str);}/*图形结束*/void Close(void){
closegraph();}
其他类似问题
贪吃蛇的相关知识
其他2条回答
友情提示:可以利用二维数组代表屏幕,数值0代表空,1代表蛇,2代表食物,还可以多几个数值代表其他道具
#include&graphics.h&#include&stdlib.h&#include&dos.h&#include&conio.h&#define UP 0x4800#define DOWN 0x5000#define RIGHT 0x4d00#define LEFT 0x4b00#define ESC 0x11b#define ENTER 0x1c0d#define SPACE 0x3920struct Food
/*食物结构体*/{}struct Snake
/*蛇结构体*/{ int x[100]; int y[100];}int speed=0000;void main()
/*主函数*/{void wall();void start();void close();void game();void score();void leavl();void select();void sw();while(1){ start(); select(); cleardevice(); wall(); sw(); game(); cleardevice(); setcolor(RED); outtextxy(250,220,&Please press ESC Quit&); outtextxy(250,240,&Press any-key GO ON&); key=bioskey(0); if(key==ESC)}close();}void close(){ getch(); closegraph();}void start()
/*BGI初始化*/{ int gd=DETECT, registerbgidriver(EGAVGA_driver); initgraph(&gd,&gm,&&);}void wall(){
/*画墙*/ randomize(); for(i=0;i&=1000;i++) putpixel(random(640),random(480),random(14)+1); setcolor(random(14)+1); rectangle(60,140,580,410); setcolor(random(14)+1); rectangle(62,142,578,408); setcolor(random(14)+1); setlinestyle(0,1,3); rectangle(68,148,571,401); setcolor(LIGHTBLUE);}void game()
/*主游戏*/{ int i,key, snake.color=random(14)+1; food.yes=1; setcolor(GREEN); outtextxy(400,50,&Press ESC Qiut&); outtextxy(400,70,&Press ENTER Stop&); setcolor(LIGHTBLUE); outtextxy(100,100,&score:&); outtextxy(300,100,&leavl:&); snake.x[0]=150; snake.y[0]=200; snake.x[1]=140; snake.y[1]=200; snake.n=2; snake.direction=2; setcolor(WHITE); setlinestyle(0,1,1); setfillstyle(1,snake.color); for(i=0;i&snake.n;i++) bar(snake.x[i],snake.y[i],snake.x[i]+9,snake.y[i]+9); /*画蛇*/
key=bioskey(0);
/*设置按键*/
if(bioskey(1)) key=bioskey(0);
if(key==ENTER) bioskey(0);
if(key==ESC)
/*if(key==SPACE) select();*/
if(key==LEFT&&snake.direction!=2) snake.direction=1;
if(key==RIGHT&&snake.direction!=1) snake.direction=2;
if(key==UP&&snake.direction!=4) snake.direction=3;
if(key==DOWN&snake.direction!=3) snake.direction=4;
while(!kbhit())
delay(speed);
gamespeed=60000-(snake.n-2)*1000;
/*蛇每增加一节延时减少1000毫秒*/
delay(gamespeed);
if(gamespeed==0)
setcolor(snake.color);
settextstyle(0,0,5);
cleardevice();
outtextxy(140,250,&You win!!&);
outtextxy(220,200,&GOOD!&);
settextstyle(0,0,1);
bioskey(0);
setfillstyle(1,BLACK);
if(food.yes==1)
/*如果蛇头碰到食物,不运行下面语句*/
bar(snake.x[snake.n-1],snake.y[snake.n-1],snake.x[snake.n-1]+9,snake.y[snake.n-1]+9); /*擦除蛇尾*/
food.yes=1;
setfillstyle(1,snake.color);
for(i=snake.n;i&0;i--)
/*蛇的后一节的坐标等于前一节的坐标*/
snake.x[i]=snake.x[i-1];
snake.y[i]=snake.y[i-1];
switch(snake.direction)
case 1:snake.x[0]-=10;
case 2:snake.x[0]+=10;
case 3:snake.y[0]-=10;
case 4:snake.y[0]+=10;
bar(snake.x[0],snake.y[0],snake.x[0]+9,snake.y[0]+9);
/*在蛇头的前面画出新的一节*/
if(food.x==snake.x[0]&&food.y==snake.y[0])
/*蛇头碰到食物*/
food.yes=0;
snake.n++;
if(snake.x[0]&=570||snake.x[0]&=65||snake.y[0]&=400||snake.y[0]&=140)
/*判断蛇是否撞墙*/
for(i=snake.n;i&3;i--)
if(snake.x[0]==snake.x[i]&&snake.y[0]==snake.y[i])
/*判断蛇是否碰到自身*/
} }}void score()
/*记分*/{ char a[10]; setcolor(LIGHTBLUE); setfillstyle(1,BLACK); bar(140,100,300,110); sprintf(a,&score:%d&,(snake.n-2)*10); outtextxy(100,100,a);}
/*等级*/void leavl(){ char str[10]; setcolor(LIGHTBLUE); setfillstyle(1,BLACK); bar(340,100,400,110); sprintf(str,&leavl:%d&,(snake.n-1)/5); outtextxy(300,100,str); setcolor(RED); setfillstyle(1,BLACK); bar(200,120,300,130); if((snake.n-1)%5==0) outtextxy(200,120,&LEAVL UP!&), snake.color++; if(snake.color&15) snake.color=1;}void sw()
/*画食物*/{ randomize(); food.x=random(500)+70; food.y=random(250)+150; for(i=0;i&=snake.n;i++) while(snake.x[i]==food.x||snake.y[i]==food.y)
/*判断食物是否出现在蛇身上*/ food.x=random(500)+70,food.y=random(250)+150; while((food.x%10)!=0) food.x--; while((food.y%10)!=0) food.y--; setfillstyle(1,YELLOW); bar(food.x,food.y,food.x+9,food.y+9);}void select(){ static int x=129,y=148; setcolor(LIGHTGREEN); outtextxy(140,300,&Press ENTER Select&); setcolor(GREEN); rectangle(x,y,x+30,y+30); settextstyle(0,0,4); setcolor(RED); outtextxy(190,50,&Speed&); outtextxy(130,150,&5 4 3 2 1&); settextstyle(0,0,1); while(1) { key=bioskey(0); if(key==ENTER) if(key==RIGHT&&x&=350) {
speed+=10000;
setcolor(0);
rectangle(x,y,x+30,y+30);
setcolor(GREEN);
rectangle(x,y,x+30,y+30); } if(key==LEFT&&x&=160) {
speed-=10000;
setcolor(0);
rectangle(x,y,x+30,y+30);
setcolor(GREEN);
rectangle(x,y,x+30,y+30); } } }
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁
说的太好了,我顶!
Copyright & 2014 www.51yue.net Corporation, All Rights Reserved
Processed in 0.0218 second(s), 3 db_queries,
0 rpc_queries}

我要回帖

更多关于 跪求一腔热血 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信