
純c語言貪吃蛇代碼,推箱子c語言程序代碼

大家好,今天小編來為大家解答純c語言貪吃蛇代碼這個問題,推箱子c語言程序代碼很多人還不知道,現(xiàn)在讓我們一起來看看吧!八個led燈單片機使用C語言怎么做貪吃蛇這就是一個簡...
大家好,今天小編來為大家解答純c語言貪吃蛇代碼這個問題,推箱子c語言程序代碼很多人還不知道,現(xiàn)在讓我們一起來看看吧!
八個led燈單片機使用C語言怎么做貪吃蛇
這就是一個簡單的雙層循環(huán)程序,沒有任何難度的。
第一層控制做減法循環(huán)
第二層控制做LED亮燈
就這么簡單
求能在vc++6.0運行的小游戲的代碼
最基礎的貪吃蛇的代碼#include<stdio.h>#include<windows.h>//基本型態(tài)定義。支援型態(tài)定義函數(shù)。使用者界面函數(shù)圖形裝置界面函數(shù)。#include<conio.h> //用戶通過按鍵盤產生的對應操作(控制臺)#include<stdlib.h>#include<time.h>//日期和時間頭文件#defineLEN30#defineWID25intSnake[LEN][WID]={0}; //數(shù)組的元素代表蛇的各個部位charSna_Hea_Dir='a';//記錄蛇頭的移動方向intSna_Hea_X,Sna_Hea_Y;//記錄蛇頭的位置intSnake_Len=3;//記錄蛇的長度clock_tNow_Time;//記錄當前時間,以便自動移動intWait_Time;//記錄自動移動的時間間隔intEat_Apple=1;//吃到蘋果表示為1intLevel;intAll_Score=-1;intApple_Num=-1;HANDLEhConsole=GetStdHandle(STD_OUTPUT_HANDLE); //獲取標準輸出的句柄<windows.h>//句柄:標志應用程序中的不同對象和同類對象中的不同的實例方便操控,voidgotoxy(intx,inty)//設置光標位置{COORDpos={x,y}; //定義一個字符在控制臺屏幕上的坐標POSSetConsoleCursorPosition(hConsole,pos); //定位光標位置的函數(shù)<windows.h>}voidHide_Cursor()//隱藏光標固定函數(shù){CONSOLE_CURSOR_INFOcursor_info={1,0};SetConsoleCursorInfo(hConsole,&cursor_info);}voidSetColor(intcolor)//設置顏色{SetConsoleTextAttribute(hConsole,color);//是API設置字體顏色和背景色的函數(shù)格式:SetConsoleTextAttribute(句柄,顏色);}voidPrint_Snake()//打印蛇頭和蛇的脖子和蛇尾{intiy,ix,color;for(iy=0;iy<WID;++iy)for(ix=0;ix<LEN;++ix){if(Snake[ix][iy]==1)//蛇頭{SetColor(0xf);//oxf代表分配的內存地址setcolor:34行自定義設置顏色的函數(shù)gotoxy(ix*2,iy);printf("※");}if(Snake[ix][iy]==2)//蛇的脖子{color=rand()%15+1; //rand()函數(shù)是產生隨機數(shù)的一個隨機函數(shù)。C語言里還有srand()函數(shù)等。//頭文件:stdlib.hif(color==14)color-=rand()%13+1; //變色SetColor(color);gotoxy(ix*2,iy);printf("■");}if(Snake[ix][iy]==Snake_Len){gotoxy(ix*2,iy);SetColor(0xe);printf("≈");}}}voidClear_Snake()//擦除貪吃蛇{intiy,ix;for(iy=0;iy<WID;++iy)for(ix=0;ix<LEN;++ix){gotoxy(ix*2,iy);if(Snake[ix][iy]==Snake_Len)printf("");}}voidRand_Apple()//隨機產生蘋果{intix,iy;do{ix=rand()%LEN;iy=rand()%WID;}while(Snake[ix][iy]);Snake[ix][iy]=-1;gotoxy(ix*2,iy);printf("⊙");Eat_Apple=0;}voidGame_Over()//蛇死掉了{gotoxy(30,10);printf("GameOver");Sleep(3000);system("pause>nul");exit(0);}voidMove_Snake()//讓蛇動起來{intix,iy;for(ix=0;ix<LEN;++ix)//先標記蛇頭for(iy=0;iy<WID;++iy)if(Snake[ix][iy]==1){switch(Sna_Hea_Dir)//根據(jù)新的蛇頭方向標志蛇頭{case'w':if(iy==0)Game_Over();elseSna_Hea_Y=iy-1;Sna_Hea_X=ix;break;case's':if(iy==(WID-1))Game_Over();elseSna_Hea_Y=iy+1;Sna_Hea_X=ix;break;case'a':if(ix==0)Game_Over();elseSna_Hea_X=ix-1;Sna_Hea_Y=iy;break;case'd':if(ix==(LEN-1))Game_Over();elseSna_Hea_X=ix+1;Sna_Hea_Y=iy;break;default:break;}}if(Snake[Sna_Hea_X][Sna_Hea_Y]!=1&&Snake[Sna_Hea_X][Sna_Hea_Y]!=0&&Snake[Sna_Hea_X][Sna_Hea_Y]!=-1)Game_Over();if(Snake[Sna_Hea_X][Sna_Hea_Y]<0)//吃到蘋果{++Snake_Len;Eat_Apple=1;}for(ix=0;ix<LEN;++ix)//處理蛇尾for(iy=0;iy<WID;++iy){if(Snake[ix][iy]>0){if(Snake[ix][iy]!=Snake_Len)Snake[ix][iy]+=1;elseSnake[ix][iy]=0;}}Snake[Sna_Hea_X][Sna_Hea_Y]=1;//處理蛇頭}voidGet_Input()//控制蛇的移動方向{if(kbhit()){switch(getch()){case87:Sna_Hea_Dir='w';break;case83:Sna_Hea_Dir='s';break;case65:Sna_Hea_Dir='a';break;case68:Sna_Hea_Dir='d';break;default:break;}}if(clock()-Now_Time>=Wait_Time)//蛇到時間自動行走{Clear_Snake();Move_Snake();Print_Snake();Now_Time=clock();}}voidInit()//初始化{system("title貪吃毛毛蛇");system("modecon:cols=80lines=25");Hide_Cursor();gotoxy(61,4);printf("YouScore:");gotoxy(61,6);printf("YouLevel:");gotoxy(61,8);printf("TheLenght:");gotoxy(61,10);printf("TheSpeed:");gotoxy(61,12);printf("AppleNum:");inti;for(i=0;i<Snake_Len;++i)//生成蛇Snake[10+i][15]=i+1;intiy,ix;//打印蛇for(iy=0;iy<WID;++iy)for(ix=0;ix<LEN;++ix){if(Snake[ix][iy]){SetColor(Snake[ix][iy]);gotoxy(ix*2,iy);printf("■");}}}voidPri_News()//打印信息{SetColor(0xe);gotoxy(73,4);All_Score+=Level;printf("%3d",All_Score);gotoxy(73,6);printf("%3d",Level);gotoxy(73,8);printf("%3d",Snake_Len);gotoxy(73,10);printf("0.%3ds",Wait_Time/10);gotoxy(73,12);printf("%d",Apple_Num);}voidLev_Sys()//等級系統(tǒng){if(((Apple_Num-1)/10)==Level){++Level;if(Wait_Time>50)Wait_Time-=50;elseif(Wait_Time>10)Wait_Time-=10;elseWait_Time-=1;}}intmain(void){Init();srand((unsigned)time(NULL));//設置隨機數(shù)的種子Now_Time=clock();intspeed1=1000,speed2,a;printf("\n");printf("請輸入你想要的速度\n");scanf("%d",&speed2);Level=1;Wait_Time=speed1-speed2;printf("請輸入你想要的蘋果數(shù)\n");scanf("%d",&a);while(a--)Rand_Apple();while(1){if(Eat_Apple){++Apple_Num;Rand_Apple();Lev_Sys();Pri_News();}Get_Input();Sleep(10);}return0;}
VB2005貪吃蛇代碼
就是從蛇尾開始更新啊!如蛇尾是e,和它相鄰的一格是d,和d相鄰的是c,和c相鄰的是b,a是蛇頭。就可以這樣賦值,e=d:d=c:c=b:b=a:a=a+1
職高計算機c語言如何自學
1、首先需要一本講解c語言基礎知識的書本,按照上面的知識講解一點點的學習c語言。
2、需要在電腦上面安裝c語言編譯軟件,可以選擇vc6.0++或者MicrosoftVisualStudio等軟件。
3、自己編寫一些小程序,熟悉編譯c語言程序的過程,并且檢驗自己學習的成果。
4、試著寫一些稍大型的c語言程序,達到進階目的,比如俄羅斯方塊,貪吃蛇等。
想用c語言做很簡單的游戲,有什么書推薦嗎
書應該很多,挑詳細點的吧,只是練c語言沒必要買,要是自己玩我推薦一個很簡單的很爛大街的游戲,貪吃蛇。簡單的可以不要單獨的界面,然后可以加計分功能,加一些游戲選項,做游戲界面,可以很復雜也可以很簡單。光一本純粹c語言語法的書很可能不夠的,想復雜起來你總得和各種庫打交道的,不懂暫時先問百度吧。
貪吃蛇c語言代碼最短
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
usingnamespacestd;
voidgotoxy(intx,inty){COORDpos={x,y};SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);}//光標定位
classFood{//食物類
private:intm_x;intm_y;
public:
voidrandfood(){//隨機產生一個食物
srand((int)time(NULL));//利用時間添加隨機數(shù)種子,需要ctime頭文件
L1:{m_x=rand()%(85)+2;//2~86
m_y=rand()%(25)+2;//2~26
if(m_x%2)gotoL1;//如果食物的x坐標不是偶數(shù)則重新確定食物的坐標
gotoxy(m_x,m_y);//在確認好的位置輸出食物
cout<<"★";}}
intgetFoodm_x(){returnm_x;}//返回食物的x坐標
intgetFoodm_y(){returnm_y;}};//返回食物的y坐標
classSnake{
private:
structSnakecoor{intx;inty;};//定義一個蛇的坐標機構
vector<Snakecoor>snakecoor;//將坐標存入vector容器中
//判斷并改變前進方向的函數(shù)
voiddegdir(Snakecoor&nexthead){//定義新的蛇頭變量
staticcharkey='d';//靜態(tài)變量防止改變移動方向后重新改回來
if(_kbhit()){
chartemp=_getch();//定義一個臨時變量儲存鍵盤輸入的值
switch(temp){//如果臨時變量的值為wasd中的一個,則賦值給key
default:break;//default是缺省情況,只有任何條件都不匹配的情況下才會執(zhí)行必須寫在前面!不然蛇無法轉向
case'w':case'a':case's':case'd':
//如果temp的方向和key的方向不相反則賦值因為兩次移動方向不能相反將蛇設置為初始向右走
if(key=='w'&&temp!='s'||key=='s'&&temp!='w'||key=='a'&&temp!='d'||key=='d'&&temp!='a')key=temp;}}
switch(key){//根據(jù)key的值來確定蛇的移動方向
case'd':nexthead.x=snakecoor.front().x+2;nexthead.y=snakecoor.front().y;break;
//新的蛇頭的頭部等于容器內第一個數(shù)據(jù)(舊蛇頭)x坐標+2因為蛇頭占兩個坐標,移動一次加2
case'a':nexthead.x=snakecoor.front().x-2;nexthead.y=snakecoor.front().y;break;
case'w':nexthead.x=snakecoor.front().x;nexthead.y=snakecoor.front().y-1;break;
//因為控制臺的x長度是y的一半,所以用兩個x做蛇頭,需要的坐標是二倍
case's':nexthead.x=snakecoor.front().x;nexthead.y=snakecoor.front().y+1;}}
//游戲結束時設計一個界面輸出“游戲結束”以及分數(shù)
voidfinmatt(constintscore){
system("cls");gotoxy(40,14);//清屏然后輸出
cout<<"游戲結束";gotoxy(40,16);
cout<<"得分:"<<score;gotoxy(0,26);
exit(0);}//exit為C++的退出函數(shù)exit(0)表示程序正常退出,非0表示非正常退出
voidfinishgame(constintscore){//游戲結束
if(snakecoor[0].x>=88||snakecoor[0].x<0||snakecoor[0].y>=28||snakecoor[0].y<0)finmatt(score);//撞墻
for(inti=1;i<snakecoor.size();i++)if(snakecoor[0].x==snakecoor[i].x&&snakecoor[0].y==snakecoor[i].y)finmatt(score
好了,文章到這里就結束啦,如果本次分享的純c語言貪吃蛇代碼和推箱子c語言程序代碼問題對您有所幫助,還望關注下本站哦!
本文鏈接:http://www.wzyaohuidianqi.cn/ke/3640.html
