C++控制台游戏之贪吃蛇——(1)

  做一个贪吃蛇的游戏,不用现成的游戏引擎直接使用控制台。第一个内容应该是需求分析,任何程序都应该基于需求分析来进行。否则全凭脑补,走一步看一步那回滚代码都会让你喊GG。

  那么做一个控制台的贪吃蛇游戏需要啥子东西。

  1.node类保存坐标点

  2.map保存整张地图

  3.蛇、蛇的长度、蛇的方向

  4.食物结点、食物是否被吃了

  5.蛇的移动速度

  6.游戏是否失败/结束、游戏是否开始

  7.类方法:移动、上下左右、自动生成食物

  8.游戏分数(吃到食物的个数)

  暂时就想到这么多,还有啥子东西....慢慢想,慢慢补充。

贴个头文件,作为1的结尾。

//
//  Header.h
//  SnakeGame
//
//  Created by MadMarical on 15/11/26.
//  Copyright (c) 2015年 com. All rights reserved.
//

#ifndef SnakeGame_Header_h
#define SnakeGame_Header_h

#include <iostream>

#define max 100

struct Node
{
    int x;
    int y;
};

class Game
{
public:
    void Init();
    void Move(int direction);
    void MoveUp();
    void MoveDown();
    void MoveLeft();
    void MoveRight();
    Game();

private:
    int map[max][max];//0标示空地,1标示蛇身,2表示食物,3表示撞死了,4表示蛇头
    int direction;//方向
    int lenOfSnake;//蛇长
    int socre;//分数
    int snakeSpeed;//蛇动速度

    Node sequence[max];//蛇身坐标
    Node food;//食物坐标

    bool eat;//吃没有
    bool isOver;//结束没有
};

#endif
时间: 2024-12-30 11:07:35

C++控制台游戏之贪吃蛇——(1)的相关文章

C语言 小游戏之贪吃蛇

还记得非常久曾经听群里人说做贪吃蛇什么的,那时候大一刚学了C语言,认为非常难,根本没什么思路. 前不久群里有些人又在谈论C语言贪吃蛇的事了,看着他们在做,我也打算做一个出来. 如今大三,经过了这一年半的编程,如今认为这个C语言的贪吃蛇还是比較简单的,花的时间不非常多! 我认为主要是思路正确,基本上就米什么大的问题. 如今贴上我的代码和我的详解,希望大家多交流. 首先说下我这个贪吃蛇仅仅是一个简单的,游戏结束有2种可能:一碰墙,二自杀即蛇头碰到蛇身. 如有不好之处,请见谅把. 首先说下我这个贪吃蛇

[原创]html5游戏_贪吃蛇

代码随便写写,尚有许多不足,PC与手机端皆可运行 手机端滑屏操作,PC端方向键操作 疑问: 生成食物,与判断是否可以移动方面 有两种实现方式, 1.使用js内存,数组循环判断 2.使用dom的query方法 哪种比较快,哪种比较好? 目前的代码是用第二种方法实现 在线地址: http://wangxinsheng.herokuapp.com/snake 截图: 部分代码: html: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <m

Python:游戏:贪吃蛇(附源码)

贪吃蛇是个非常简单的游戏,适合练手. 首先分析一下这个游戏 1.蛇怎么画? 蛇是由一个个小方块组成的,那么我们可以用一个 list 记录每一个小方块的坐标,显示的时候将所有小方块画出来即可. 2.蛇怎么移动? 第一反应就是想蚯蚓蠕动一样,每一个方块向前移动一格,但这样做很麻烦,仔细想下,其实除了头尾,蛇的其他部分根本就没有动过,那就简单了,将下一格的坐标添加到 list 开头,并移除 list 的最后一个元素,就相当于蛇向前移动了一格. 3.如何判定游戏结束? 蛇移动超出了游戏区的范围或者碰到了

【C语言小游戏】 贪吃蛇

windows编译运行 源代码: /*这是一个贪吃蛇代码,运行环境VC++6.0(亲测完美运行)*/ /*该程序在dos系统下运行,不需要graphics.h头文件*/ #include <windows.h> #include <stdlib.h> #include <time.h> #include <stdio.h> #include <string.h> #include <conio.h> #define N 21 int 

python之游戏开发-贪吃蛇

#!/usr/bin/env python# coding=utf-8import pygameimport sysimport random # 全局定义,screen的长和宽SCREEN_X = 600SCREEN_Y = 600 # 蛇类# 点以25为单位class Snake(object): # 定义一个类--Snake,默认使用object类,如果你有更好的话,可以替换它 # 初始化各种需要的属性 [开始时默认向右/身体块x5] def __init__(self): # 定义ini

关于第一次用java写小游戏(贪吃蛇)的体会记录

作为一只菜鸡,对于编程的世界还一无所知,但是感觉应该要写点实用的东西.突然发现好像贪吃蛇应该能写出来(那种几乎没有用户界面的),于是就开始了. 1.关于对简单的动画呈现的资料准备 因为只有一些捉襟见肘的知识,所以这些资料还得一步步来. 首先我发现动画呈现和键盘输入这些都可以用 awt/swing + Thread线程类 的组合来搞定.首先是线程类在这方面的应用 2 关于主面板(JFrame 和 JPanel) 和 画图工具Graphics JPanel 和其子类可以被添加到JFrame中 作为一

游戏系列~贪吃蛇(3)

#include<iostream>#include<windows.h>#include<ctime>#include<cstdlib>#include<conio.h>#include <bits/stdc++.h> #define N 21using namespace std;void gotoxy(int x,int y)//位置函数{COORD pos;pos.X=2*x;pos.Y=y;SetConsoleCursorP

c++小游戏之贪吃蛇

#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<windows.h> #include<time.h> #include<math.h> #define sqr(x) x*x int i,j,x,y,d,k,f,stx,sty,score,e,l,w,h; char s[21][21]; int a[21][21]; int hard[13]={1,2,5

基于控制台实现贪吃蛇游戏

1).引言 学习编程,我个人觉得最好的办法就是根据自己的水平不断的给自己设定一个小目标.而这个小目标就是一个有意思的项目,通过完成这个项目,对自己的成果(也包括失败的)进行分析总结,从中提炼出对应的技术并分享出来,不断的往复,如此,为的就是让我们永远保持编写程序的兴趣和热情,完了,还提高我们的技术.而本文就是总结自己的一个小目标(基于控制台实现的贪吃蛇游戏而写的总结) 2).技术实现 大家小时候一定玩过贪吃蛇的游戏.贪吃蛇游戏的控制过程其实也不复杂.简单的可以概括为以下4个部分. 1.1  .组