#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MANY 4
#define TIME_OUT 8
///////////////////////////////////////////////////////////
int a,b,u ;
void game();
void ab(int answer[],int guess[]);
void same(int num[]);
//主目录
void menu()
{
char choice,ch ;
do
{
do
{
system("cls");
printf("/t/t/t/t简单猜数字/n/n/n/n");
printf("/t/t/t/t1.开始游戏/n/n");
printf("/t/t/t/t2.使用说明/n/n");
printf("/t/t/t/t3.退出/n/n");
printf("/t/t/t请输入(1-3): ");
fflush(stdin);
choice=getchar();
}
while(choice!='1'&&choice!='2'&&choice!='3');
switch(choice)
{
case '1' :
{
game();
break ;
}
case '2' :
{
system("cls");
printf("/t/t/t/t欢迎使用本程序/n/n/n");
printf("作者:烈冰/n");
printf("游戏说明: 输入%d位数字,输入后会有提示XaYb,X表示有几",MANY);
printf("个数字与答案数字相同/n");
printf("且位置正确,Y表示有几位数字与答案数字相同但位置不正确。例如:答案数字是/n");
printf("5764,如果输入5481,则会提示1a1b。/n");
printf("祝你愉快!/n/n");
printf("按任意键返回主目录……/n");
getch();
break ;
}
case '3' :
{
printf("确定要退出吗?(y/n):");
fflush(stdin);
ch=getchar();
if(ch=='y'||ch=='Y')exit(0);
else continue ;
}
}
}
while(1);
}
“程序”这个词,可以翻译成“方法”或“步骤”,例如:张三丰同志符合组织程序,升任武当派掌门。
现在你明白“程序”这两个字的意思了吧。
现在说说你的问题,代码如何变成游戏,用俄罗斯方块举例:
1、这个游戏首先需要一个个形状各异的方块,咱们把它称为基础素材,需要让作图的美工把这些图片一个个做出来,就好像零件一样放到一个类似文件夹的地方待用。(开发行业称之为:资源包,资源包可不止几个图片,有可能还有文字稿、视频、音频等)
2、抛开游戏不谈,你有没有想过,为什么鼠标指针会跟着你控制动?为什么你按下键盘屏幕上会有字?为什么屏幕会根据你控制而显示不同的画面?其实这都是操作系统(暂时狭义的理解为Windows)在帮你工作。
它通过硬件输入设备(键盘、鼠标)得到你操作的意图,然后指挥输出设备(显示器),把结果告诉你。
3、第二部分概念如果你理解了,那么咱们回到这个该死的游戏话题:所有的程序员开发软件都无需理会如何让鼠标运动、如何让键盘工作,因为这部分工作操作系统帮你干了,操作系统的开发商会公布一本书,上面告诉你在开发的时候如何通过一串文本代码控制设备工作。
例如:在你不碰电脑的情况下,执行代码后——让你的鼠标移动下、屏幕亮一下、音箱响一下等等。
这本书我们叫开发手册或api手册,它把操作系统每个角落,可以控制地方的对应编码都写的明明白白,每一个控制区我们暂时把它称为:接口
例如:你在某种开发环境下输入message.show
就会弹出一个Windows标准样式的警告框。(开发环境指的是供程序员编写代码的工作界面,类似于打字员用word一样。)
同理:这些代码也只能在对应语法的开发环境下有效,你把这个代码写在word里,肯定是不能执行的,也就弹不出那个警告框。所谓的“对应语法”,是因为现在的开发语言很多,例如c语言代码也只能在C语言的开发环境下运行,Java语言也只能在Java环境下运行。
上面道理如果都明白的话,现在我们编写这个俄罗斯方块的程序:
方块下落:缓缓下落,需要调用到一个时间控制器接口,让它在每500毫秒(也就是半秒),把方块在屏幕的坐标位置更新一下,这样你的肉眼就会觉得方块有下落效果。
方块转向:需要用一个键盘控制器接口,操作系统开始侦听你的键盘动作,得到按键动作后,把用户按了哪个键告诉你这个程序,程序得到具体按键后,根据你预设的条件将方块图片旋转x个角度。
例如:你预设w键左转90° e键右转90°
程序员就是这样一行行代码实现的游戏。
最后游戏开发完毕,进行“编译”操作,这个代码就可以脱离开发环境,在其他电脑上运行了。
最后的话:你知道一件事如何去办,那你就等于知道干这件事的方法(程序)。你用word打印一篇工作流程,这其实就是给人看的程序。如果你用代码把这个流程描述出来,它就是电脑程序。
给人看的流程文件,有时候根据人不同而描述的详细程度不同,
例如:你让你爱人下楼取快递,只需要说“芷若,下楼帮我取快递”即可。
如果你让你儿子下楼取快递,可能会说:“儿子,下楼取快递,顺丰的、白色车子,快去快回,不许顺路找小红”
电脑程序面对各式各样的人群(甚至有不怀好意的黑客),所以一个优秀的程序员,编写程序就好比你对儿子下达任务一样,需要描述的维度尽可能广,限制性住一切可能产生的隐患。
西安五语全栈程序员 友情回复
最基础的贪吃蛇的代码
#include<stdio.h>
#include<windows.h>//基本型态定义。支援型态定义函数。使用者界面函数图形装置界面函数。
#include<conio.h>
//用户通过按键盘产生的对应操作(控制台)
#include<stdlib.h>
#include<time.h>//日期和时间头文件
#defineLEN30
#defineWID25
intSnake[LEN][WID]={0};
//数组的元素代表蛇的各个部位
charSna_Hea_Dir='a';//记录蛇头的移动方向
intSna_Hea_X,Sna_Hea_Y;//记录蛇头的位置
intSnake_Len=3;//记录蛇的长度
clock_tNow_Time;//记录当前时间,以便自动移动
intWait_Time;//记录自动移动的时间间隔
intEat_Apple=1;//吃到苹果表示为1
intLevel;
intAll_Score=-1;
intApple_Num=-1;
HANDLEhConsole=GetStdHandle(STD_OUTPUT_HANDLE);
//获取标准输出的句柄<windows.h>
//句柄:标志应用程序中的不同对象和同类对象中的不同的实例方便操控,
voidgotoxy(intx,inty)//设置光标位置
{
COORDpos={x,y};
//定义一个字符在控制台屏幕上的坐标POS
SetConsoleCursorPosition(hConsole,pos);
//定位光标位置的函数<windows.h>
}
voidHide_Cursor()//隐藏光标固定函数
{
CONSOLE_CURSOR_INFOcursor_info={1,0};
SetConsoleCursorInfo(hConsole,&cursor_info);
}
voidSetColor(intcolor)//设置颜色
{
SetConsoleTextAttribute(hConsole,color);
//是API设置字体颜色和背景色的函数格式: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行自定义设置颜色的函数
gotoxy(ix*2,iy);
printf("※");
}
if(Snake[ix][iy]==2)//蛇的脖子
{
color=rand()%15+1;
//rand()函数是产生随机数的一个随机函数。C语言里还有srand()函数等。
//头文件:stdlib.h
if(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)//根据新的蛇头方向标志蛇头
{
case'w':
if(iy==0)
Game_Over();
else
Sna_Hea_Y=iy-1;
Sna_Hea_X=ix;
break;
case's':
if(iy==(WID-1))
Game_Over();
else
Sna_Hea_Y=iy+1;
Sna_Hea_X=ix;
break;
case'a':
if(ix==0)
Game_Over();
else
Sna_Hea_X=ix-1;
Sna_Hea_Y=iy;
break;
case'd':
if(ix==(LEN-1))
Game_Over();
else
Sna_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;
else
Snake[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()//等级系统
{
if(((Apple_Num-1)/10)==Level)
{
++Level;
if(Wait_Time>50)
Wait_Time-=50;
else
if(Wait_Time>10)
Wait_Time-=10;
else
Wait_Time-=1;
}
}
intmain(void)
{
Init();
srand((unsigned)time(NULL));//设置随机数的种子
Now_Time=clock();
intspeed1=1000,speed2,a;
printf("\n");
printf("请输入你想要的速度\n");
scanf("%d",&speed2);
Level=1;
Wait_Time=speed1-speed2;
printf("请输入你想要的苹果数\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;
}
首先我们进入手机游戏版首先,我们使用手指打开设置找到代码之后滑动屏幕的悬浮球即可使用代码
总结,以上就是关于编程游戏代码大全以及c语言猜数字游戏源代码的经验分享,卡友有疑问可以加wx或扫码加群!Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有