黑马程序员技术交流社区
标题:
java基础完成的(贪吃蛇,)
[打印本页]
作者:
marsfan
时间:
2016-9-30 00:16
标题:
java基础完成的(贪吃蛇,)
import java.util.Scanner;
import java.util.Random;
class 贪吃蛇{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int map[][]={
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
};
int arr1[]=new int [1000];
int arr2[]=new int [1000];
int l=3;
int x=4,y=2;
for (int i=0;i<l ;i++ ) {
arr1[i]=i+x;
arr2[i]=y;
map[arr1[i]][arr2[i]]=100;
}
map[arr1[0]][arr2[0]]=3;
showMap(map);
while (true) {
System.out.println("w,a,s,d,f");
String a=sc.next();
if (a.equals("w")) {
if (map[arr1[0]-1][arr2[0]]==1) {
map[arr1[l-1]][arr2[l-1]]=1;
for (int i=l-1;i>0 ;i-- ) {
arr1[i]=arr1[i-1];
arr2[i]=arr2[i-1];
}
arr1[0]-=1;
}else if (map[arr1[0]-1][arr2[0]]==2) {
l++;
for (int i=l-1;i>0 ;i-- ) {
arr1[i]=arr1[i-1];
arr2[i]=arr2[i-1];
}
arr1[0]-=1;
point(map);
}else {
break;
}
}else if (a.equals("s")) {
if (map[arr1[0]+1][arr2[0]]==1) {
map[arr1[l-1]][arr2[l-1]]=1;
for (int i=l-1;i>0 ;i-- ) {
arr1[i]=arr1[i-1];
arr2[i]=arr2[i-1];
}
arr1[0]+=1;
}else if (map[arr1[0]+1][arr2[0]]==2) {
l++;
for (int i=l-1;i>0 ;i-- ) {
arr1[i]=arr1[i-1];
arr2[i]=arr2[i-1];
}
arr1[0]+=1;
point(map);
}else {
break;
}
}else if (a.equals("a")) {
if (map[arr1[0]][arr2[0]-1]==1) {
map[arr1[l-1]][arr2[l-1]]=1;
for (int i=l-1;i>0 ;i-- ) {
arr1[i]=arr1[i-1];
arr2[i]=arr2[i-1];
}
arr2[0]-=1;
}else if (map[arr1[0]][arr2[0]-1]==2) {
l++;
for (int i=l-1;i>0 ;i-- ) {
arr1[i]=arr1[i-1];
arr2[i]=arr2[i-1];
}
arr2[0]-=1;
point(map);
}else {
break;
}
}else if (a.equals("d")) {
if (map[arr1[0]][arr2[0]+1]==1) {
map[arr1[l-1]][arr2[l-1]]=1;
for (int i=l-1;i>0 ;i-- ) {
arr1[i]=arr1[i-1];
arr2[i]=arr2[i-1];
}
arr2[0]+=1;
}else if (map[arr1[0]][arr2[0]+1]==2) {
l++;
for (int i=l-1;i>0 ;i-- ) {
arr1[i]=arr1[i-1];
arr2[i]=arr2[i-1];
}
arr2[0]+=1;
point(map);
}else {
break;
}
}
for (int i=1;i<l-1 ;i++ ) {
map[arr1[i]][arr2[i]]=100;
}
map[arr1[0]][arr2[0]]=3;
showMap(map);
}
}
public static void showMap(int [][]map){
for (int i=0;i<map.length ;i++ ) {
for (int j=0;j<map[i].length ;j++ ) {
if (map[i][j]==0) {
System.out.print("■");
}else if (map[i][j]==1) {
System.out.print(" ");
}else if (map[i][j]==100) {
System.out.print("○");
}else if (map[i][j]==2) {
System.out.print("☆");
}else if (map[i][j]==3) {
System.out.print("●");
}
}
System.out.println("");
}
}
public static void point(int map[][]){
Random sj=new Random();
while (true) {
int a=sj.nextInt(10)+1;
int b=sj.nextInt(20)+1;
if (map[a][b]==1) {
map[a][b]=2;
break;
}
}
}
}
作者:
月下樱
时间:
2016-9-30 00:17
作者:
wxr950515
时间:
2016-9-30 07:28
作者:
bopeia
时间:
2016-9-30 09:45
8888888888888
作者:
叫我宁采臣
时间:
2016-9-30 11:23
厉害厉害见识了
作者:
langyabang1110
时间:
2016-9-30 18:21
厉害 map还没学
作者:
hysnxdss
时间:
2016-9-30 19:07
langyabang1110 发表于 2016-9-30 18:21
厉害 map还没学
好像是二维数组吧
作者:
wangkai426
时间:
2016-9-30 22:46
这个有意思,可以研究一下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2