1.地图规划
大小20*20
地图竖直方向上的边界: “|”(20个)
地图水平方向上的边界: “–”(20*20的格子)
贪吃蛇的身子"[]"
贪吃蛇的食物“##”
地图上的第1行到底第18行的头部和尾部都是"|",其余是空白
地图上的第0行的头部和尾部都是"|",,其余是“–”
地图上的第19行的头部和尾部都是"|",,其余是“–”
2.实现代码
2.1实现第一行为-,第二行的第一列和最后一列为|,其余为空
#include <curses.h>
void initNcurse()
{
initscr();
keypad(stdscr,1);
}
void gamePic()
{
int hang;
int lie;
for(hang=0;hang<20;hang++)
{
if(hang==0)
{
for(lie=0;lie<20;lie++)
{
printw("--");
}
printw("\n");
for(lie=0;lie<=20;lie++)
{
if(lie==0||lie==20)
{
printw("|");
}
else
{
printw(" ");
}
}
}
}
}
int main()
{
initNcurse();
gamePic();
getch();
endwin();
return 0;
}
运行结果:
2.2完成贪吃蛇地图
#include <curses.h>
void initNcurse()
{
initscr();
keypad(stdscr,1);
}
void gamePic()
{
int hang;
int lie;
for(hang=0;hang<20;hang++)
{
if(hang==0)
{
for(lie=0;lie<20;lie++)
{
printw("--");
}
printw("\n");
for(lie=0;lie<=20;lie++)
{
if(lie==0||lie==20)
{
printw("|");
}
else
{
printw(" ");
}
}
printw("\n");
}
if(hang>0 && hang<=19)
{
for(lie=0;lie<=20;lie++)
{
if(lie==0||lie==20)
{
printw("|");
}
else
{
printw(" ");
}
}
printw("\n");
}
if(hang==19)
{
for(lie=0;lie<20;lie++)
{
printw("--");
}
printw("\n");
printw("by shuai ge");
}
}
}
int main()
{
initNcurse();
gamePic();
getch();
endwin();
return 0;
}
运行结果:
——@上官可编程