当前位置:首页 > 黑客业务 > 正文内容

经典小游戏代码(程序代码小游戏)

hacker2年前 (2022-07-09)黑客业务82

文章大纲:

小游戏的C++代码

/*一个火柴人游戏,亲自验证,可运行*/

/*在编译时添加如下命令:-std=c++11,否则会编译错误*/

#include cstdio

#include cstdlib

#include Windows.h

#include thread

#include conio.h

using namespace std;

const unsigned char CTRL_KEY = 0XE0;

const unsigned char LEFT = 0X4B;

const unsigned char RIGHT = 0X4D;

const unsigned char DOWN = 0X50;

const unsigned char UP = 0X48;

int men2[2] = {0,0};

int women2[2]={10,10};

int Game();

void gotoxy( int x, int y ) //光标移动到(x,y)位置

{

HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);

COORD pos;

pos.X = x;

pos.Y = y;

SetConsoleCursorPosition(handle,pos);

}

int clean( int mm, int nn )

{

gotoxy ( mm, nn );

printf ( " " );

gotoxy ( mm,nn+1);

printf ( " " );

gotoxy ( mm,nn+2);

printf (" ");

}

int men( int x, int y )

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_GREEN);

gotoxy( x, y );

printf(" O");

gotoxy( x, y+1 );

printf("H");

gotoxy( x, y+2 );

printf("I I");

}

int women( int i, int j )

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

gotoxy( i+1,j );

printf(" O");

gotoxy( i+1,j+1 );

printf("H");

gotoxy( i,j+2 );

printf("/I I\\");

}

int m=10, n=10;

int x=0;int y=0;

int TorF()

{

if ( x == m y == n ) return 1;

else return 0;

}

int womenmove()

{

int turn;

int YNbreak=0;

while( YNbreak == 0 )

{

YNbreaak = TorF();

turn=rand()%3;

clean( m, n );

if( m x ) m++;

else m--;

if( m == x )

{

if( n y ) n++;

else n--;

}

if ( m 0 ) m = 0;

if ( m = 75 ) m = 75;

if ( n 0 ) n = 0;

if ( n = 22 ) n = 22;

women( m,n );

women2[0]=m;

women2[1]=n;

Sleep(100);

}

system ( "cls" );

gotoxy ( 28, 10 );

printf ( "You died!!!\n" );

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);

system ( "pause" );

exit(0);

return 0;

}

int menmove()

{

system( "cls" );

while (1)

{

switch( getch())

{

case UP:y--;break;

case DOWN:y++;break;

case LEFT:x--;break;

case RIGHT:x++;break;

}

system( "cls" );

if ( x 0 ) x = 0;

if ( x 77 ) x = 77;

if ( y 0 ) y = 0;

if ( y 22 ) y = 22;

men( x, y );

men2[0] = x;

men2[1] = y;

}

}

int Game()

{

women( 10, 10 );

men( 0, 0 );

int t = 0;

thread qq( womenmove );

menmove();

qq.join();

return 0;

}

int main()

{

system( "mode con cols=80 lines=25" );

printf ( "游戏开始后,随机按下一个键,唤醒你的蓝色小人.如果你被红色的老女人碰到了,那么你就死了\n" );

printf ( "方向键操控小人\n" );

system ( "pause" );

system ( "cls" );

Game();

return 0;

}

/*留下您的赞再拿走,谢谢!*/

跪求java小项目,经典小游戏代码

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

public class GreedSnake implements KeyListener{

JFrame mainFrame;

Canvas paintCanvas;

JLabel labelScore;

SnakeModel snakeModel = null;

public static final int canvasWidth = 200;

public static final int canvasHeight = 300;

public static final int nodeWidth = 10;

public static final int nodeHeight = 10;

public GreedSnake() {

mainFrame = new JFrame("GreedSnake");

Container cp = mainFrame.getContentPane();

labelScore = new JLabel("Score:");

cp.add(labelScore, BorderLayout.NORTH);

paintCanvas = new Canvas();

paintCanvas.setSize(canvasWidth+1,canvasHeight+1);

paintCanvas.addKeyListener(this);

cp.add(paintCanvas, BorderLayout.CENTER);

JPanel panelButtom = new JPanel();

panelButtom.setLayout(new BorderLayout());

JLabel labelHelp;

labelHelp = new JLabel("PageUp, PageDown for speed;", JLabel.CENTER);

panelButtom.add(labelHelp, BorderLayout.NORTH);

labelHelp = new JLabel("ENTER or R or S for start;", JLabel.CENTER);

panelButtom.add(labelHelp, BorderLayout.CENTER);

labelHelp = new JLabel("SPACE or P for pause",JLabel.CENTER);

panelButtom.add(labelHelp, BorderLayout.SOUTH);

cp.add(panelButtom,BorderLayout.SOUTH);

mainFrame.addKeyListener(this);

mainFrame.pack();

mainFrame.setResizable(false);

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

mainFrame.setVisible(true);

begin();

}

public void keyPressed(KeyEvent e){

int keyCode = e.getKeyCode();

if (snakeModel.running)

switch(keyCode){

case KeyEvent.VK_UP:

snakeModel.changeDirection(SnakeModel.UP);

break;

case KeyEvent.VK_DOWN:

snakeModel.changeDirection(SnakeModel.DOWN);

break;

case KeyEvent.VK_LEFT:

snakeModel.changeDirection(SnakeModel.LEFT);

break;

case KeyEvent.VK_RIGHT:

snakeModel.changeDirection(SnakeModel.RIGHT);

break;

case KeyEvent.VK_ADD:

case KeyEvent.VK_PAGE_UP:

snakeModel.speedUp();

break;

case KeyEvent.VK_SU *** RACT:

case KeyEvent.VK_PAGE_DOWN:

snakeModel.speedDown();

break;

case KeyEvent.VK_SPACE:

case KeyEvent.VK_P:

snakeModel.changePauseState();

break;

default:

}

if (keyCode == KeyEvent.VK_R ||

keyCode == KeyEvent.VK_S ||

keyCode == KeyEvent.VK_ENTER){

snakeModel.running = false;

begin();

}

}

public void keyReleased(KeyEvent e){

}

public void keyTyped(KeyEvent e){

}

void repaint(){

Graphics g = paintCanvas.getGraphics();

//draw background

g.setColor(Color.WHITE);

g.fillRect(0,0,canvasWidth,canvasHeight);

// draw the snake

g.setColor(Color.BLACK);

LinkedList na = snakeModel.nodeArray;

Iterator it = na.iterator();

while(it.hasNext()){

Node n = (Node)it.next();

drawNode(g,n);

}

// draw the food

g.setColor(Color.RED);

Node n = snakeModel.food;

drawNode(g,n);

updateScore();

}

private void drawNode(Graphics g, Node n){

g.fillRect(n.x*nodeWidth,

n.y*nodeHeight,

nodeWidth-1,

nodeHeight-1);

}

public void updateScore(){

String s = "Score: " + snakeModel.score;

labelScore.setText(s);

}

void begin(){

if (snakeModel == null || !snakeModel.running){

snakeModel = new SnakeModel(this,

canvasWidth/nodeWidth,

canvasHeight/nodeHeight);

(new Thread(snakeModel)).start();

}

}

public static void main(String[] args){

GreedSnake gs = new GreedSnake();

}

}

///////////////////////////////////////////////////

// 文件2

///////////////////////////////////////////////////

import java.util.*;

import javax.swing.*;

class SnakeModel implements Runnable{

GreedSnake gs;

boolean[][] matrix;

LinkedList nodeArray = new LinkedList();

Node food;

int maxX;

int maxY;

int direction = 2;

boolean running = false;

int timeInterval = 200;

double speedChangeRate = 0.75;

boolean paused = false;

int score = 0;

int countMove = 0;

// UP and DOWN should be even

// RIGHT and LEFT should be odd

public static final int UP = 2;

public static final int DOWN = 4;

public static final int LEFT = 1;

public static final int RIGHT = 3;

public SnakeModel(GreedSnake gs, int maxX, int maxY){

this.gs = gs;

this.maxX = maxX;

this.maxY = maxY;

// initial matirx

matrix = new boolean[maxX][];

for(int i=0; imaxX; ++i){

matrix = new boolean[maxY];

Arrays.fill(matrix,false);

}

// initial the snake

int initArrayLength = maxX 20 ? 10 : maxX/2;

for(int i = 0; i initArrayLength; ++i){

int x = maxX/2+i;

int y = maxY/2;

nodeArray.addLast(new Node(x, y));

matrix[x][y] = true;

}

food = createFood();

matrix[food.x][food.y] = true;

}

public void changeDirection(int newDirection){

if (direction % 2 != newDirection % 2){

direction = newDirection;

}

}

public boolean moveOn(){

Node n = (Node)nodeArray.getFirst();

int x = n.x;

int y = n.y;

switch(direction){

case UP:

y--;

break;

case DOWN:

y++;

break;

case LEFT:

x--;

break;

case RIGHT:

x++;

break;

}

if ((0 = x x maxX) (0 = y y maxY)){

if (matrix[x][y]){

if(x == food.x y == food.y){

nodeArray.addFirst(food);

int scoreGet = (10000 - 200 * countMove) / timeInterval;

score += scoreGet 0? scoreGet : 10;

countMove = 0;

food = createFood();

matrix[food.x][food.y] = true;

return true;

}

else

return false;

}

else{

nodeArray.addFirst(new Node(x,y));

matrix[x][y] = true;

n = (Node)nodeArray.removeLast();

matrix[n.x][n.y] = false;

countMove++;

return true;

}

}

C语言写的小游戏

这就是经典游戏-扫雷 的代码#include graphics.h

#include stdlib.h

#include dos.h

#define LEFTPRESS 0xff01

#define LEFTCLICK 0xff10

#define LEFTDRAG 0xff19

#define MOUSEMOVE 0xff08

struct

{

int num;

int roundnum;

int flag;

}Mine[10][10];

int gameAGAIN=0;

int gamePLAY=0;

int mineNUM;

char randmineNUM[3];

int Keystate;

int MouseExist;

int MouseButton;

int MouseX;

int MouseY;

void Init(void);

void MouseOn(void);

void MouseOff(void);

void MouseSetXY(int,int);

int LeftPress(void);

int RightPress(void);

void MouseGetXY(void);

void Control(void);

void GameBegain(void);

void DrawSmile(void);

void DrawRedflag(int,int);

void DrawEmpty(int,int,int,int);

void GameOver(void);

void GameWin(void);

int MineStatistics(int,int);

int ShowWhite(int,int);

void GamePlay(void);

void Close(void);

void main(void)

{

Init();

Control();

Close();

}

void Init(void)

{

int gd=DETECT,gm;

initgraph(gd,gm,"D:\\tc20\\BGI");

}

void Close(void)

{

closegraph();

}

void MouseOn(void)

{

_AX=0x01;

geninterrupt(0x33);

}

void MouseOff(void)

{

_AX=0x02;

geninterrupt(0x33);

}

void MouseSetXY(int x,int y)

{

_CX=x;

_DX=y;

_AX=0x04;

geninterrupt(0x33);

}

int LeftPress(void)

{

_AX=0x03;

geninterrupt(0x33);

return(_BX1);

}

int RightPress(void)

{

_AX=0x03;

geninterrupt(0x33);

return(_BX2);

}

void MouseGetXY(void)

{

_AX=0x03;

geninterrupt(0x33);

MouseX=_CX;

MouseY=_DX;

}

void Control(void)

{

int gameFLAG=1;

while(1)

{

if(gameFLAG)

{

GameBegain();

GamePlay();

if(gameAGAIN==1)

{

gameAGAIN=0;

continue;

}

}

MouseOn();

gameFLAG=0;

if(LeftPress())

{

MouseGetXY();

if(MouseX280MouseX300MouseY65MouseY85)

{

gameFLAG=1;

continue;

}

}

if(kbhit())

break;

}

MouseOff();

}

void DrawSmile(void)

{

setfillstyle(SOLID_FILL,YELLOW);

fillellipse(290,75,10,10);

setcolor(YELLOW);

setfillstyle(SOLID_FILL,BLACK);

fillellipse(285,75,2,2);

fillellipse(295,75,2,2);

setcolor(BLACK);

bar(287,80,293,81);

}

void DrawRedflag(int i,int j)

{

setcolor(7);

setfillstyle(SOLID_FILL,RED);

bar(198+j*20,95+i*20,198+j*20+5,95+i*20+5);

setcolor(BLACK);

line(198+j*20,95+i*20,198+j*20,95+i*20+10);

}

void DrawEmpty(int i,int j,int mode,int color)

{

setcolor(color);

setfillstyle(SOLID_FILL,color);

if(mode==0)

bar(200+j*20-8,100+i*20-8,200+j*20+8,100+i*20+8);

else

if(mode==1)

bar(200+j*20-7,100+i*20-7,200+j*20+7,100+i*20+7);

}

void GameBegain(void)

{

int i,j;

cleardevice();

if(gamePLAY!=1)

{

MouseSetXY(290,70);

MouseX=290;

MouseY=70;

}

gamePLAY=1;

mineNUM=0;

setfillstyle(SOLID_FILL,7);

bar(190,60,390,290);

for(i=0;i10;i++)

for(j=0;j10;j++)

DrawEmpty(i,j,0,8);

setcolor(7);

DrawSmile();

randomize();//__page_break__

for(i=0;i10;i++)

for(j=0;j10;j++)

{

Mine[i][j].num=random(8);

if(Mine[i][j].num==1)

mineNUM++;

else

Mine[i][j].num=2;

Mine[i][j].flag=0;

}

sprintf(randmineNUM,"%d",mineNUM);

setcolor(1);

settextstyle(0,0,2);

outtextxy(210,70,randmineNUM);

mineNUM=100-mineNUM;

MouseOn();

}

void GameOver(void)

{

int i,j;

setcolor(0);

for(i=0;i10;i++)

for(j=0;j10;j++)

if(Mine[i][j].num==1)

{

DrawEmpty(i,j,0,RED);

setfillstyle(SOLID_FILL,BLACK);

fillellipse(200+j*20,100+i*20,7,7);

}

}

void GameWin(void)

{

setcolor(11);

settextstyle(0,0,2);

outtextxy(230,30,"YOU WIN!");

}

int MineStatistics(int i,int j)

{

int nNUM=0;

if(i==0j==0)

{

if(Mine[0][1].num==1)

nNUM++;

if(Mine[1][0].num==1)

nNUM++;

if(Mine[1][1].num==1)

nNUM++;

}

else

if(i==0j==9)

{

if(Mine[0][8].num==1)

nNUM++;

if(Mine[1][9].num==1)

nNUM++;

if(Mine[1][8].num==1)

nNUM++;

}

else

if(i==9j==0)

{

if(Mine[8][0].num==1)

nNUM++;

if(Mine[9][1].num==1)

nNUM++;

if(Mine[8][1].num==1)

nNUM++;

}

else

if(i==9j==9)

{

if(Mine[9][8].num==1)

nNUM++;

if(Mine[8][9].num==1)

nNUM++;

if(Mine[8][8].num==1)

nNUM++;

}

else if(j==0)

{

if(Mine[i][j+1].num==1)

nNUM++;

if(Mine[i+1][j].num==1)

nNUM++;

if(Mine[i-1][j].num==1)

nNUM++;

if(Mine[i-1][j+1].num==1)

nNUM++;

if(Mine[i+1][j+1].num==1)

nNUM++;

}

else if(j==9)

{

if(Mine[i][j-1].num==1)

nNUM++;

if(Mine[i+1][j].num==1)

nNUM++;

if(Mine[i-1][j].num==1)

nNUM++;

if(Mine[i-1][j-1].num==1)

nNUM++;

if(Mine[i+1][j-1].num==1)

nNUM++;

}

else if(i==0)

{

if(Mine[i+1][j].num==1)

nNUM++;

if(Mine[i][j-1].num==1)

nNUM++;

if(Mine[i][j+1].num==1)

nNUM++;

if(Mine[i+1][j-1].num==1)

nNUM++;

if(Mine[i+1][j+1].num==1)

nNUM++;

}

else if(i==9)

{

if(Mine[i-1][j].num==1)

nNUM++;

if(Mine[i][j-1].num==1)

nNUM++;

if(Mine[i][j+1].num==1)

nNUM++;

if(Mine[i-1][j-1].num==1)

nNUM++;

if(Mine[i-1][j+1].num==1)

nNUM++;

}

else

{

if(Mine[i-1][j].num==1)

nNUM++;

if(Mine[i-1][j+1].num==1)

nNUM++;

if(Mine[i][j+1].num==1)

nNUM++;

if(Mine[i+1][j+1].num==1)

nNUM++;

if(Mine[i+1][j].num==1)

nNUM++;

if(Mine[i+1][j-1].num==1)

nNUM++;

if(Mine[i][j-1].num==1)

nNUM++;

if(Mine[i-1][j-1].num==1)

nNUM++;

}//__page_break__

return (nNUM);

}

int ShowWhite(int i,int j)

{

if(Mine[i][j].flag==1||Mine[i][j].num==0)

return;

mineNUM--;

if(Mine[i][j].roundnum==0Mine[i][j].num!=1)

{

DrawEmpty(i,j,1,7);

Mine[i][j].num=0;

}

else

if(Mine[i][j].roundnum!=0)

{

DrawEmpty(i,j,0,8);

sprintf(randmineNUM,"%d",Mine[i][j].roundnum);

setcolor(RED);

outtextxy(195+j*20,95+i*20,randmineNUM);

Mine[i][j].num=0;

return ;

}

if(i!=0Mine[i-1][j].num!=1)

ShowWhite(i-1,j);

if(i!=0j!=9Mine[i-1][j+1].num!=1)

ShowWhite(i-1,j+1);

if(j!=9Mine[i][j+1].num!=1)

ShowWhite(i,j+1);

if(j!=9i!=9Mine[i+1][j+1].num!=1)

ShowWhite(i+1,j+1);

if(i!=9Mine[i+1][j].num!=1)

ShowWhite(i+1,j);

if(i!=9j!=0Mine[i+1][j-1].num!=1)

ShowWhite(i+1,j-1);

if(j!=0Mine[i][j-1].num!=1)

ShowWhite(i,j-1);

if(i!=0j!=0Mine[i-1][j-1].num!=1)

ShowWhite(i-1,j-1);

}

void GamePlay(void)

{

int i,j,Num;

for(i=0;i10;i++)

for(j=0;j10;j++)

Mine[i][j].roundnum=MineStatistics(i,j);

while(!kbhit())

{

if(LeftPress())

{

MouseGetXY();

if(MouseX280MouseX300MouseY65MouseY85)

{

MouseOff();

gameAGAIN=1;

break;

}

if(MouseX190MouseX390MouseY90MouseY290)

{

j=(MouseX-190)/20;

i=(MouseY-90)/20;

if(Mine[i][j].flag==1)

continue;

if(Mine[i][j].num!=0)

{

if(Mine[i][j].num==1)

{

MouseOff();

GameOver();

break;

}

else

{

MouseOff();

Num=MineStatistics(i,j);

if(Num==0)

ShowWhite(i,j);

else

{

sprintf(randmineNUM,"%d",Num);

setcolor(RED);

outtextxy(195+j*20,95+i*20,randmineNUM);

mineNUM--;

}

MouseOn();

Mine[i][j].num=0;

if(mineNUM1)

{

GameWin();

break;

}

}

}

}

}

if(RightPress())

{

MouseGetXY();

if(MouseX190MouseX390MouseY90MouseY290)

{

j=(MouseX-190)/20;

i=(MouseY-90)/20;

MouseOff();

if(Mine[i][j].flag==0Mine[i][j].num!=0)

{

DrawRedflag(i,j);

Mine[i][j].flag=1;

}

else

if(Mine[i][j].flag==1)

{

DrawEmpty(i,j,0,8);

Mine[i][j].flag=0;

}

}

MouseOn();

sleep(1);

}

}

}

给我提供个小游戏的C 语言代码

本原代码是基于C语言的原程序。是经典中的小游戏。-primitive code is based on the C language of the original procedure. Classic is a *** all game.

一个小游戏,用C语言编写的:俄罗斯方块.C原码及应用程序都在里面哦 -a *** all game using the C language : Russian cubes. The original C code and application procedures inside oh

十全十美游戏原程序,c语言-perfect game program, language c

上数据结构时,自己用C语言做的小游戏,做得不好,请大家原谅。-structure on the data they used C language to the *** all games, done well, please forgive me.

大家都耍过文曲星中的猜数字的游戏吧 !! 最近我在学习C语言。写了个菜鸟的C语言的猜数字的游戏程序的原代码-rings off the viewing of the game! ! I recently learning C language. Wrote a birdie C language viewing of the games original code procedures

  这是我在大学二年级学习C语言课程时,作为“练笔”而编写的一个小程序(当时在我眼里可却是一个大程序!)其主要特点有:1、正真做到了全中文界面(不需要UCDOS操作系支持) 2、大量的图形特技(如图像的显隐技术、图像穿插技术、多任务仿真技术等) 3、纯C语言打造(不含任何C++知识) 4、实现了街机“俄罗斯方块”绝大部分功能(如动画、声音、速度变化) 5、用户可根据自据的习惯自由地调整“游戏操作键” 6、 *** 独特,全部语句和技术都是我本人原创,没有参考过任何相关代码 7、防“跟踪调试”技术,防“版权篡改”技术 8、……-

  这个程序是模仿Windows中的扫雷小游戏 *** 的,该程序只是实现了扫雷游戏的主体部分,诸如计分、升级部分都没有做。这个程序可以作为初学者学习C语言绘图和游戏的实例。 该程序在Turbo C2.0 下编译通过 由于扫雷游戏是用鼠标操作的,而Turbo C中提供的鼠标驱动程序在Windows xp下不可用,所以我随源程序提供了一个鼠标驱动的头文件,须将将该头文件复制到Turbo C2.0 的安装目录下的“include”文件夹中方可编译或运行,也可自行修改原文件使之包含该投文件。 注:该鼠标驱动程序是我在网上找到的,其出处我已无法考证,如果侵犯了作者的权利还请作者与我联系。 由于在我的电脑上Turbo C图形环境下显示数字会有问题(估计是系统问题),所以程序中雷周围的数字1-8我用a-h代替,看不顺眼的可以自己修改原程序。-

c语言 猜拳游戏的原代码就是这个 已经测试成功了呀-language of the original game is the code has been tested successfully ah

俄罗斯方块对战版c语言原代码。希望大家能喜欢。是比较简单的一个代码,游戏开发高手请指教。-Tetris screen version of the original C language code. Hope you will like. It is a relatively simple code, game development experts please advise.

用linuX 下的C语言 运用CURSES编写的俄罗斯方块游戏,很好,这个是本人原创,值得参考-linuX use the C language CURSES prepared by the Russian box game, well, this is the original, worthy of reference

c语言小游戏代码

最基础的贪吃蛇的代码

#includestdio.h

#includewindows.h//基本型态定义。支援型态定义函数。使用者界面函数 图形装置界面函数。

#includeconio.h //用户通过按键盘产生的对应操作 (控制台)

#includestdlib.h

#includetime.h //日期和时间头文件

#define LEN 30

#define WID 25

int Snake[LEN][WID] = {0}; //数组的元素代表蛇的各个部位

char Sna_Hea_Dir = 'a';//记录蛇头的移动方向

int Sna_Hea_X, Sna_Hea_Y;//记录蛇头的位置

int Snake_Len = 3;//记录蛇的长度

clock_t Now_Time;//记录当前时间,以便自动移动

int Wait_Time ;//记录自动移动的时间间隔

int Eat_Apple = 1;//吃到苹果表示为1

int Level ;

int All_Score = -1;

int Apple_Num = -1;

HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); //获取标准输出的句柄 windows.h

//句柄 :标志应用程序中的不同对象和同类对象中的不同的实例 方便操控,

void gotoxy(int x, int y)//设置光标位置

{

COORD pos = {x,y}; //定义一个字符在控制台屏幕上的坐标POS

SetConsoleCursorPosition(hConsole, pos); //定位光标位置的函数windows.h

}

void Hide_Cursor()//隐藏光标 固定函数

{

CONSOLE_CURSOR_INFO cursor_info = {1, 0};

SetConsoleCursorInfo(hConsole, cursor_info);

}

void SetColor(int color)//设置颜色

{

SetConsoleTextAttribute(hConsole, color);

//是API设置字体颜色和背景色的函数 格式:SetConsoleTextAttribute(句柄,颜色);

}

void Print_Snake()//打印蛇头和蛇的脖子和蛇尾

{

int iy, 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("≈");

}

}

}

void Clear_Snake()//擦除贪吃蛇

{

int iy, ix;

for(iy = 0; iy WID; ++iy)

for(ix = 0; ix LEN; ++ix)

{

gotoxy(ix*2, iy);

if(Snake[ix][iy] == Snake_Len)

printf(" ");

}

}

void Rand_Apple()//随机产生苹果

{

int ix, iy;

do

{

ix = rand() % LEN;

iy = rand() % WID;

}while(Snake[ix][iy]);

Snake[ix][iy] = -1;

gotoxy(ix*2, iy);

printf("⊙");

Eat_Apple = 0;

}

void Game_Over()//蛇死掉了

{

gotoxy(30, 10);

printf("Game Over");

Sleep(3000);

system("pause nul");

exit(0);

}

void Move_Snake()//让蛇动起来

{

int ix, 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]!=1Snake[Sna_Hea_X][Sna_Hea_Y]!=0Snake[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;//处理蛇头

}

void Get_Input()//控制蛇的移动方向

{

if(kbhit())

{

switch(getch())

{

case 87:

Sna_Hea_Dir = 'w';

break;

case 83:

Sna_Hea_Dir = 's';

break;

case 65:

Sna_Hea_Dir = 'a';

break;

case 68:

Sna_Hea_Dir = 'd';

break;

default:

break;

}

}

if(clock() - Now_Time = Wait_Time)//蛇到时间自动行走

{

Clear_Snake();

Move_Snake();

Print_Snake();

Now_Time = clock();

}

}

void Init()//初始化

{

system("title 贪吃毛毛蛇");

system("mode con: cols=80 lines=25");

Hide_Cursor();

gotoxy(61, 4);

printf("You Score:");

gotoxy(61, 6);

printf("You Level:");

gotoxy(61, 8);

printf("The Lenght:");

gotoxy(61, 10);

printf("The Speed:");

gotoxy(61, 12);

printf("Apple Num:");

int i;

for(i = 0; i Snake_Len; ++i)//生成蛇

Snake[10+i][15] = i+1;

int iy, 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("■");

}

}

}

void Pri_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);

}

void Lev_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;

}

}

int main(void)

{

Init();

srand((unsigned)time(NULL));//设置随机数的种子

Now_Time = clock();

int speed1=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);

}

return 0;

}

扫描二维码推送至手机访问。

版权声明:本文由黑客24小时接单的网站发布,如需转载请注明出处。

本文链接:http://szlqgy.com/28964.html

“经典小游戏代码(程序代码小游戏)” 的相关文章

平凉市门户网(中国·平凉门户网站留言)

基本工资800元左右其他的各种津贴补贴奖金加起来每月能有2000元左右。 当然是当地315了,平凉四中初三级学生在考试中取得了优异成绩,根据平凉市事业单位公开招聘人员实施办法。 很高兴为你解答本次甘肃平凉事业单位考试报名时间及其他安排如下发布公告。3月中旬。决定组织实施我市2011年度事业单位公开招...

葱油桂鱼的做法(葱油季花鱼的做法)

味道相当的好,葱油鱼的,用手抚摸鱼身几遍,葱油鲤鱼的肉吃。主料草鱼1大块调料色拉油适量。 松子桂鱼的做法葱油桂鱼的做法苏州地区的传统名菜。糖少量。在江南各地一直将其列作宴席上的上品佳肴。用料鲻鱼一根葱段少许姜片少许火腿少许蒸鱼豉油少许葱油鲻鱼的做法将鱼洗干净.葱油桂鱼卷详细制作步骤冬笋去壳洗净煮熟切...

彼女たちの流仪(她们的流仪汉化硬盘)

你用那个专用的下载器下吧地址tora,06年的galgame了在网上找了很久都没有请问各位知道哪里能下么或者,EXE。 。REALLIVE。SistertyranT可是凌辱系的………………查了查好像没,以上是防百度抽的的地址。已发,Hgamecn”。11eyes好像坑掉了。 之前看过个帖子有说到Si...

欧元对人民币(欧元50兑人民币)

0,05,1276欧元50欧元是3971元人民币.就需要支付394,到中行网点直接兑换就行如果将人民币换成外币,5欧元,按照中国银行1月17日外汇牌价。 在此汇率基础上,中国银行是专门兑换换外币的。欧元与人民币间的兑换关系如下1欧元8802人民币。根据中国银行最新汇率消息。 50欧元人民币元数据仅供...

红糖姜汤的作用(姜片红糖水功效与作用)

生姜发汗作用较弱,生姜红糖汤用于解表,将一块洗净的生姜切成极细的丝、红糖经高温熬制后。展开全部预防感冒。 红糖是帮助排毒的好东西、多用于宫寒女性、生姜红糖水、加入红糖,民间常用姜糖水治疗。 对风热感冒是没有效果的,驱风散寒、恶寒发热、也可用作预防感冒药物,生姜红糖水,多用治感冒轻症。 1生姜红糖水适...

高压锅炖牛肉(清炖牛肉的正确方法与配料)

都放入高压锅。姜蒜都切片。适量。葱。桂皮2小块。主料牛肉2000克辅料鲜姜1块,牛腩焯水去沫的同时。别让调料味盖过牛肉本身的香味,应该使用热水。 我就用洋葱了、用中火煮到气阀响十分钟就熟了希望我的回答对您有所帮助如有疑问、姜片。、锅中放、料酒、山楂3、不要放太多调料、八角2颗,香叶4片。 检查压力阀...

评论列表

访客
2年前 (2022-07-09)

rgive me. 大家都耍过文曲星中的猜数字的游戏吧 !! 最近我在学习C语言。写了个菜鸟的C语言的猜数字的游戏程序的原代码-rings off the viewing of the game! ! I recently learning C language. W

访客
2年前 (2022-07-09)

M++; if(Mine[i+1][j-1].num==1) nNUM++; if(Mine[i][j-1].num==1) nNUM++; if(Mine[i-1]

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。