snake算法_zk-snarks算法

莫娜号 1

用JAVA设计游戏:贪吃蛇游戏

用MVC方式实现的贪吃蛇游戏,共有4个类。运行GreedSnake运行即可。主要是观察者模式的使用,我已经添加了很多注释了。

snake算法_zk-snarks算法snake算法_zk-snarks算法


snake算法_zk-snarks算法


1、

/

程序名称:贪食蛇

修改者:algo

说明:我以前也用C写过这个程序,现在看到BigF用Ja写的这个,发现虽然作者自称是Ja的初学者,

但是明显编写程序的素养不错,程序结构写得很清晰,有些细微得地方也写得很简洁,一时兴起之

下,我认真解读了这个程序,发现数据和表现分开得很好,而我近日正在学习MVC设计模式,

因此尝试把程序得结构改了一下,用MVC模式来实现,对源程序得改动不多。

我同时也为程序增加了一些自己理解得注释,希望对大家阅读有帮助。

package mvcTest;

/

@author WangYu

@version 1.0

Description:

Create on :Date :2005-6-13 Time:15:57:16

LastModified:

History:

public class GreedSnake {

public static void main(String[] args) {

SnakeModel model = new SnakeModel(20,30);

SnakeControl control = new SnakeControl(model);

SnakeView view = new SnakeView(model,control);

//添加一个观察者,让view成为model的观察者

model.addObserver(view);

(new Thread(model)).start();

}}

-------------------------------------------------------------

2、

package mvcTest;

//SnakeControl.ja

import ja.awt.nt.KeyEvent;

import ja.awt.nt.KeyListener;

/

MVC中的Controler,负责接收用户的作,并把用户作通知Model

public class SnakeControl implements KeyListener{

public SnakeControl(SnakeModel model){

this.model = model;

}public void keyPressed(KeyEvent e) {

int keyCode = e.getKeyCode();

if (model.running){ // 运行状态下,处理的按键

switch (keyCode) {

case KeyEvent.VK_UP:

model.changeDirection(SnakeModel.UP);

break;

case KeyEvent.VK_DOWN:

model.changeDirection(SnakeModel.DOWN);

break;

case KeyEvent.VK_LEFT:

model.changeDirection(SnakeModel.LEFT);

break;

case KeyEvent.VK_RIGHT:

model.changeDirection(SnakeModel.RIGHT);

break;

case KeyEvent.VK_ADD:

case KeyEvent.VK_PAGE_UP:

model.speedUp();

break;

case KeyEvent.VK_SUBTRACT:

case KeyEvent.VK_PAGE_DOWN:

model.speedDown();

break;

case KeyEvent.VK_SPACE:

case KeyEvent.VK_P:

model.changePauseState();

break;

default:

}}

// 任何情况下处理的按键,按键导致重新启动游戏

if (keyCode == KeyEventcase up: --a; break;.VK_R ||

keyCode == KeyEvent.VK_S ||

keyCode == KeyEvent.VK_ENTER) {

model.reset();

}}

public void keyReleased(KeyEvent e) {

}public void keyTyped(KeyEvent e) {

}}

-------------------------------------------------------------

3、

/

/

package mvcTest;

/

游戏的Model类,负责所有游戏相关数据及运行

@author WangYu

@version 1.0

Description:

Create on :Date :2005-6-13 Time:15:58:33

LastModified:

History:

//SnakeModel.ja

import jax.swing.;

import ja.util.Arrays;

import ja.util.LinkedList;

import ja.util.Observable;

import ja.util.Random;

/

游戏的Model类,负责所有游戏相关数据及运行

class SnakeModel extends Observable implements Runnable {

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 n

// 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( int maxX, int maxY) {

this.maxX = maxX;

this.maxY = maxY;

reset();

}public void reset(){

direction = SnakeModel.UP; // 蛇运行的方向

timeInterval = 200; // 时间间隔,毫秒

paused = false; // 暂停标志

score = 0; // 得分

countMove = 0; // 吃到食物前移动的次数

// initial matirx, 全部清0

matrix = new boolean[maxX][];

for (int i = 0; i < maxX; ++i) {

matrix[i] = new boolean[maxY];

Arrays.fill(matrix[i], false);

}// initial the snake

// 初始化蛇体,如果横向位置超过20个,长度为10,否则为横向位置的一半

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

nodeArray.clear();

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

int x = maxX / 2 + i;//maxX被初始化为20

int y = maxY / 2; //maxY被初始化为30

//nodeArray[x,y]: [10,15]-[11,15]-[12,15]~~[20,15]

//默认的运行方向向上,所以游戏一开始nodeArray就变为:

// [10,14]-[10,15]-[11,15]-[12,15]~~[19,15]

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;

}}

/

运行一次

@return

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;

}}

return false; // 触到边线,失败

}public void run() {

running = true;

while (running) {

try {

Thread.sleep(timeInterval);

} catch (Exception e) {

break;

}if (!paused) {

if (moveOn()) {

setChanged(); // Model通知View数据已经更新

notifyObservers();

} else {

JOptionPane.showMessageDialog(null,

"you failed",

"Game Over",

JOptionPane.INFORMATION_MESSAGE);

break;

}}

}running = false;

}private Node createFood() {

int x = 0;

int y = 0;

// 随机获取一个有效区域内的与蛇体和食物不重叠的位置

do {

Random r = new Random();

x = r.nextInt(maxX);

y = r.nextInt(maxY);

} while (matrix[x][y]);

return new Node(x, y);

}public void speedUp() {

timeInterval = speedChangeRate;

}public void speedDown() {

timeInterval /= speedChangeRate;

}public void changePauseState() {

paused = !paused;

}public String toString() {

String result = "";

for (int i = 0; i < nodeArray.size(); ++i) {

Node n = (Node) nodeArray.get(i);

result += "[" + n.x + "," + n.y + "]";

}return result;

}}

class Node {

int x;

int y;

Node(int x, int y) {

this.x = x;

this.y = y;

}}

------------------------------------------------------------

4、

package mvcTest;

//SnakeView.ja

import jax.swing.;

import ja.awt.;

import ja.util.Iterator;

import ja.util.LinkedList;

import ja.util.Observable;

import ja.util.Observer;

/

MVC模式中得Viewer,只负责对数据的显示,而不用理会游戏的控制逻辑

public class SnakeView implements Observer {

SnakeControl control = null;

SnakeModel model = null;

JFrame mainFrame;

Canvas paintCanvas;

JLabel labelScore;

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 SnakeView(SnakeModel model, SnakeControl control) {

this.model = model;

this.control = control;

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(control);

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(control);

mainFrame.pack();

mainFrame.setResizable(false);

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}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 = model.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 = model.food;

drawNode(g, n);

updateScore();

}private void drawNode(Graphics g, Node n) {

g.fillRect(n.x }catch(ExceptionnodeWidth,

n.y nodeHeight,

nodeWidth - 1,

nodeHeight - 1);

}public void updateScore() {

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

labelScore.setText(s);

}public void update(Observable o, Object arg) {

repaint();

}}

-------------------------------------------------------------

归一化互相关系数是什么?

t=true;

归一化互相关系数 1.At first,an algorithm of moving shadows detection based on the normalized mutual correlation coefficient is proed. Snake算法(动态轮廓模型)在图像处理过程中有着广泛的应用.提出基于归一化互相关系数的阴影检测方法,利用由帧间分法得到的目标边界,自动设置Snake初始位置,采用贪婪算法得到最终目标收敛轮廓.实验结果表明,该算法能够快速有效地检测出多运动目标2) normalization归一法 1.Introduced by GC 9800 TFP gas chromatography, quartz capillary column, the use of that area for industrial normalization mod O-chlorobenzylidine quantitative determination of the steps and calculation process. 介绍了采用GC 9800TFP气相色谱仪,石英毛细管色谱柱,使用面积修正归一法对工业邻氯氯苄进行定量测定的步骤及计算过程。 2.The normalization was recommended to check the reliability of the ytical result. 使用归一法检验分析结果的可靠性。3) normalization归一化 1.On that basis,the suggests a mod,in which the separate weighting factors are assigned to multiple logging traces and then normalization processing is carried out,forming . 本文在此基础上提出把多条曲线分别赋予不同的加权因子,然后进行归一化处理,形成一条标准综合参数测井曲线。 2.This provides a concept of normalization,and a calculation mod to deal with the data. 如何对反渗透系统运行的综合性能进行评价,在实践中往往由于影响的因素多种多样,而且环境条件也发生变化,掌握运用其实并不是容易的.针对具体工程情况,在参考有关文献的基础上,提出了运行指标归一化处理的概念和计算方法.实践证明:这种方法是一反渗透系统进行更加科学管理的手段和量化方法.并还对反渗透系统运行中产水量和脱盐性能的变化进行了if(t==false&&result==true)分析,列举了可能的各种原因;对影响膜组件的污染因素进行了说明,并提出膜组件污染现象和清洗方法 3.By using white copper alloy tablet to determine Ni - Cu- Zn X - ray fluorescence instensity qualitively, and doing intensitive normalization may semi - quantitatively yse major components percent, the results he shown that there is obvious absorption and enhancement effect. 直接用白铜合金片样定性扫描测定Ni、Cu和Zn的X-射线荧光强度值,作强度归一化可以半定量确定主量元素质量百分数(%),结果发现元素之间有明显的吸收—增强效应。4) Th normalization钍归一化 1.In this ,the principle and characteristics of Th normalization are introduced by using Th normalization techniques which relate to mineralization with rmation on element migration. 介绍了钍归一化的原理及特点,采用与矿化有关的元素迁移信息的钍归一化方法,分析了二连盆地东部的γ能谱资料,揭示了该区放射性元素的分布特征、地球化学作用和后期元素的迁移与富集。

什么是计算机

关好门窗切电源,避免雷火屋里窜。

计算机是一个程序,一段可执行码 ,对计算机的正常使用进行破坏,使得电脑无常使用甚至整个作系统或者电脑硬盘损坏。就像生物一样,计算机有独特的能力。计算机可以很快地蔓延//接收线程,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。这种程序不是存在的,它隐蔽在其他可执行的程序之中,既有破坏性,又有传染性和潜伏性。轻则影响机器运行速度,使机器不能正常运行;重则使机器处于瘫痪,会给用户带来不可估量的损失。通常就把这种具有破坏作用的程序称为计算机。

除能力外,某些计算机还有其它一些共同特性:一个被污染的程序能够传送载体。当你看到载体似乎仅仅表现在文字和图像上时,它们可能也已毁坏了文件、再格式化了你的硬盘驱动或引发了其它类型的灾害。若是并不寄生于一个污染程序,它仍然能通过占据存贮空间给你带来麻烦,并降低你的计算机的全部性能

【急】AlphaBeta算法该怎么理解?

SnakeModel model;

计算机博弈~~~~~~要理解AlphaBeta算法~~先了解极大极小值算法~~~~自己画画示意图~~~~之后转化成负极大值理解~~~加上剪枝~~~~花点时间2.背单词记忆算法的特点是结合权威的记忆理论,充分调动用户的眼、耳、口和手等各种感官,根据用户的实际情况和使用环境智能确定内容和方法,根据用户的使用情况进行动态调整。,应该不难~~~

嗯...我的毕业设计也是借用了这个算法的

求经典小游戏(五子棋 贪吃蛇 方块等)c++ 源代码。能有软件设计过程 我想学思路

原作者:BigF

这有一个最简单的贪吃蛇的控制过程。

一般对于此类的游戏,都分为控制算法,显示算法,判定算法等几个大部分。

供参考:

#include

#include

#include

#include

#include

#include //使用当前时间做种子;

//围墙;

void InitFence();

void OutputF();

char [20][20];

//画框框;

void InitFence(){

int i,j;

for(i=0; i<20; i++)

for(j=0; j<20; j++){

if(i==0||i==19||j==0||j==19)

[i][j]= '';

else [i][j]= ' ';

}}

//显示框框;

void OutputF(){

int i,j;

for(i=0; i<20; i++){

for(j=0; j<20; j++)

printf("%c ",[i][j]);

printf("n");

}}

//蛇结点;

struct SnakeNode{

int x,y;

struct SnakeNode prior,next;

}head=NULL, tail =NULL;

void add_head(int x,int y);

int get_x(struct SnakeNode p);

int get_y(struct SnakeNode p);

void delete_tail();

//插入头结点;

void add_head(int x,int y){

struct SnakeNode q= (struct SnakeNode )malloc(sizeof(struct SnakeNode));

q->x =x; q->y =y;

q->next =head;

q->prior =NULL;

if(head) head->prior =q;

head =q;

if(!tail) tail =head;

[x][y]= ''; //f对象可以在定义Fence类时定义; 且Fence类在SnakeNode类前定义;

}int get_x(struct SnakeNode p){

return p->x;

}int get_y(struct SnakeNode p){

return p->y;

}//删除尾结点;

void delete_tail(){

struct SnakeNode p =tail;

[get_x(tail)][get_y(tail)]= ' ';//把尾结点的坐标表示的''置为空格;

if(tail==head)

tail= head= NULL;

else{

tail= tail->prior;

tail->next= NULL;

}free(p);

}//move移动;

struct move{

enum dir point; //枚举变量point: 控制方向;

int food_x;

int food_y;

};

void moving(struct move m);

void change_point(char,struct move m); //改变方向;

void get_food(struct move m);

void get_food(struct move m){

srand((unsigned int) time(NULL)); //做种子(程序运行时间);

m->food_x= rand()%18+1;

m->food_y= rand()%18+1;

[m->food_x][m->food_y]= '';

}void moving(struct move m){

int a,b;

a= get_x(head); //取得头结点横坐标

b= get_y(head); //头结点纵坐标

switch(m->point){

case down: ++a; break;

case left: --b; break;

case right: ++b; break;

}if(a==19||b==19||a==0||b==0){ //判断是否撞墙;

printf(" over!!!n");

exit(0);

}if(a==m->food_x && b==m->food_y){ //吃food;

add_head(a,b);

get_food(m);

}else{

add_head(a,b); //插入头结点;

delete_tail(); //删除尾结点;

}}

void change_point(char keydown,struct move m){

switch(keydown){

// case 'w': m->point= up; break;

// case 's': m->point= down; break;

// case 'a': m->point= left; break;

// case 'd': m->point= right; break;

case 72: m->point= up; break;

case 80: m->point= down; break;

case 75: m->point= left; break;

case 77: m->point= right; break;

}}

//main();

int main(){

struct move m;

printf("Using 'w,s,a,d'to control direction!!!nnn");

InitFence();

add_head(4,3);

add_head(4,5);

get_foodint(&m);

OutputF();

while (1){

char keydown= getch(); //getch()返回键盘上读取的字符;包含头文件

change_point(keydown,&m);

("cls"); //清屏函数;

moving(&m);

OutputF();

Sleep(200);

}}

return 0;

}

归一化互相关系数是什么?

enum dir{up,down,left,right}; //枚举类型enum dir;/

归一化互相关系数x0d1.At first,an algorithm of moving shadows detection based on the normalized mutual correlation coefficient is proed.x0dSnake算法(动态轮廓模型)在图像处理过程中有着广泛的应用.提出基于归一化互相关系数的阴影检测方法,利用由帧间分法得到的目标边界,自动设置Snake初始位置,采用贪婪算法得到最终目标收敛轮廓.实验结果表明,该算法能够快速有效地检测出多运动目标2) normalization归一法x0d1.Introduced by GC 9800 TFP gas chromatography,quartz capillary column,the use of that area for industrial normalization mod O-chlorobenzylidine quantitative determination of the steps and calculation process.x0d介绍了采用GC 9800TFP气相色谱仪,石英毛细管色谱柱,使用面积修正归一法对工业邻氯氯苄进行定量测定的步骤及计算过程.x0d2.The normalization was recommended to check the reliability of the ytical result.x0d使用归一法检验分析结果的可靠性.3) normalization归一化x0d1.On that basis,the suggests a mod,in which the separate weighting factors are assigned to multiple logging traces and then normalization processing is carried out,forming .x0d本文在此基础上提出把多条曲线分别赋予不同的加权因子,然后进行归一化处理,形成一条标准综合参数测井曲线.x0d2.This provides a concept of normalization,and a calculation mod to deal with the data.x0d如何对反渗透系统运行的综合性能进行评价,在实践中往往由于影响的因素多种多样,而且环境条件也发生变化,掌握运用其实并不是容易的.针对具体工程情况,在参考有关文献的基础上,提出了运行指标归一化处理的概念和计算方法.实践证明:这种方法是一反渗透系统进行更加科学管理的手段和量化方法.并还对反渗透系统运行中产水量和脱盐性能的变化进行了分析,列举了可能的各种原因;对影响膜组件的污染因素进行了说明,并提出膜组件污染现象和清洗方法x0d3.By using white copper alloy tablet to determine Ni - Cu- Zn X - ray fluorescence instensity qualitively,and doing intensitive normalization may semi - quantitatively yse major components percent,the results he shown that there is obvious absorption and enhancement effect.x0d直接用白铜合金片样定性扫描测定Ni、Cu和Zn的X-射线荧光强度值,作强度归一化可以半定量确定主量元素质量百分数(%),结果发现元素之间有明显的吸收—增强效应.4) Th normalization钍归一化x0d1.In this ,the principle and characteristics of Th normalization are introduced by using Th normalization techniques which relate to mineralization with rmation on element migration.x0d介绍了钍归一化的原理及特点,采用与矿化有关的元素迁移信息的钍归一化方法,分析了二连盆地东部的γ能谱资料,揭示了该区放射性元素的分布特征、地球化学作用和后期元素的迁移与富集.

会C语言的朋友帮个忙啊 帮我编个小程序

开篇

人生命、要守护,十条法则要记住,一旦灾害发生时,及时应用心有数。

一、

遇,先躲避,桌子床下找空隙,靠在墙角曲身体,抓住机会逃出去,

远离所有建筑物,余震蹲在开阔地。

火灾起,怕烟熏,鼻口捂住湿毛巾,身上起火地上滚,不乘电梯往下奔,

阳台滑下捆绳索, 盲目跳楼会伤身。

三、洪水

洪水猛,高处行,土房顶上待不成,睡床桌子扎木筏,大树能栓救命绳,

准备食物手电筒,穿暖衣服渡险情。

四、台风

台风来,听预报,加固堤坝通水道。煤气电路检修好,临时建筑整牢靠。

船进港口深抛锚,减少出行看信号。

五、泥石流

下暴雨,泥石流,危险处地是下游,逃离别顺沟底走,横向快爬上山头。

野外宿营不选沟,进山一定看气候。

六、雷击

阴雨天,生雷电,避雨别在树下站,铁塔线杆要离远,打雷家中也防患,

七、暴雪

暴雪天,人慢跑,背着风向别停脚,身体冻僵无知觉,千万不能用火烤,

冰雪搓洗血循环,慢慢温暖才见好。

八、龙卷风

龙卷风,强风暴,一旦袭来进地窖,室内躲避离门窗,电源水源全关掉,

室外趴在低洼地,汽车里面不可靠。

九、

对,别麻痹,预防传染做仔细,发现患者即隔离,通风消毒餐用具。

人受感染早就医,公共场所要少去。

十、防化

化学品,有危险,遗弃物品不要捡,

人生命,重于山,防灾避险于未然。掌握技能常演练,祝愿人人保平安。

今年与联合举办了“知识守护生命”大型公益活动,并邀请奥运冠军、学者和知名人士制作了有关中小学安全教育的特别节目,就是《开学课》,它以生命意识教育为主题,倡议全国的中小学学生每年每学期都进行应急避险教育;这一特殊的公益课由“潜能”、“团队”、“坚持”“生命”四节课完美组成:

“潜能”:每个人都有潜在的能量,潜能需要激发,人在危险时反应就是潜能支配肢体行为,同时潜能很易被习惯掩盖,就会失去生命的机会,相反也会赢得生命的机会!

“坚持”:每个人都知道“坚持就是胜利”这句话的道理,坚持就可以创造,就像在这次中坚持活下来的人就会有新的人生。面对人生就要有坚持不懈的精神。

“团队”:团队精神的形成并不要求团队成员牺牲自我,相反,挥洒个性、表现特长保证了成员共同完成任务目标,是一种真正的内心动力。面对灾难,团队精神显得尤为重mainFrame.setVisible(true);要。

“生命”:快乐是一种心理感受。快乐是健康的金钥匙,人处世间,理应追求快乐。懂得快乐、善于快乐实在是一种智慧。正如在这次灾难中的幸存者更要笑对新的人生。

案例一 C++

#include

using namespace std;

'0', '1', '2', '3', '4', '5', '6', '7',

'8', '9', '预防烟火燃毒气,报警说明出事点。运输泄露别围观,人在风头要离远。A', 'B', 'C', 'D', 'E', 'F'

};

int ToInt(char &n){

if (n<='9') return (int )(n-48);

else return (int )(n-'A'+10);

}int main(){

int P = 10, Q; Q是要输入的2 8 16进制

string N = "";

while (cin >> Q >> N){

if (N == "0"){

cout << 0 << endl;

return 0;

}string OUT = "";

long long sum = 0, p = 1;

for (int i = 0; i

sum += ToInt(N[N.size()-1-i])p;

p=P;

}while (sum>0) OUT.insert(0, 1, num[sum%Q]), sum/=Q;

cout << OUT << endl;

}return 0;

}

这好像是毕业设计,其实搜一搜基本都能找到

冷汗淋淋~~ 这也算是小程序 LZ太高的计算机整体水平了

这个程序真是【小程序】

w我的哥哥啊 这编完我都70岁了

怎样学习英语单词

char num[16] = {

学习英语单词的方法如下:

1、拆分法:拆分法就是把一个单词拆开来记,降低记忆难度,提高记忆速度,例如income拆成in和come把一个新词拆成两个简单的单词,记忆起来就特别简单了。

2、增减字母法:以某个单词为基础,增、减、换一个字母就变成了另一个新单词。例如:-n-r,ear-near-hear-dear,lake,snake、cake、make,这样不仅容易读出新词,而且能记住相同字母的发音规律。

3、应用记忆法:即将单词应用到实际生活中,做到可以随时随地的记忆单词。例如:学记construction建设这个词,这个词来源于建设银行Construction Bank of China的一部分,在银行匾上醒目的写着中英文,多看多记多背。

资料while(!kbhit()){ //判断有没有按键落下;扩展:

1.英语单词(English words)的产生是汉英两种语言双向交流的产物,一些带有特色的名称和概念进入了英语词汇,同时还有一些英语词汇进入了汉语,在文化环境中衍生出新的含义,形成了英语词汇的语义文化特征。

3.单词的记忆算法设计的宗旨是以限度的计算机资源耗费取代学习者的精力耗费。单词的记忆算法基于两个比较成熟的记忆理论或算法,一个是艾宾浩斯遗忘曲线理论,另一个是Super Memo记忆算法。

4.艾宾浩斯遗忘曲线理论在1885年提出,通过大量数据,证实了人的记忆存在着一个相似的遗忘规律。而Super Memo算法作者则从1985年开始研究,在长时间和海量的数据基础上,总结出了Super Memo算法。

求"贪吃蛇"小游戏JAVA源代码一份

ActionListener//自定义窗口类

贪吃蛇

import

ja.awt.;

import

ja.awt.nt.;

public

class

GreedSnake

//主类

{/

@param

args

public

static

void

main(String[]

args)

{//

TODO

Auto-generated

mod

stub

new

MyWindow();

}}

class

MyPanel

extends

Panel

implements

KeyListener,Runnable//自定义面板类,继承了键盘和线程接口

{Button

snake[];

//定义蛇按钮

shu=0;

//蛇的节数

food[];

//食物数组

boolean

result=true;

//判定结果是输

还是赢

Thread

thread;

static

weix,weiy;

//食物位置

boolean

//判定游戏是否结束

fangxiang=0;

//蛇移动方向

x=0,y=0;

//蛇头位置

MyPanel()

{setLayout(null);

snake=new

Button[20];

food=new

[20];

thread=new

Thread(this);

for(int

j=0;j<20;j++)

{food[j]=(int)(Math.random()99);//定义20个随机食物

}weix=(int)(food[0]0.1)60;

//十位60为横坐标

weiy=(int)(food[0]%10)40;

//个位40为纵坐标

for(int

i=0;i<20;i++)

{snake[i]=new

Button();

}add(snake[0]);

snake[0].setBackground(Color.black);

snake[0].addKeyListener(this);

//为蛇头添加键盘监视器

snake[0].setBounds(0,0,10,10);

setBackground(Color.cyan);

}public

void

run()

{while(t)

{if(fangxiang==0)//向右

{try

{x+=10;

snake[0].setLocation(x,

y);//设置蛇头位置

if(x==weix&&y==weiy)

//吃到食物

{shu++;

weix=(int)(food[shu]0.1)60;

weiy=(int)(food[shu]%10)40;

repaint();

//重绘下一个食物

add(snake[shu]);

//增加蛇节数和位置

snake[shu].setBounds(snake[shu-1].getBounds());

}thread.sleep(100);

//睡眠100ms

e){}

}else

if(fangxiang==1)//向左

{try

{x-=10;

snake[0].setLocation(x,

if(x==weix&&y==weiy)

{shu++;

weix=(int)(food[shu]0.1)60;

weiy=(int)(food[shu]%10)40;

repaint();

add(snake[shu]);

snake[shu].setBounds(snake[shu-1].getBounds());

}thread.sleep(100);

e){}

}else

if(fangxiang==2)//向上

{try

{y-=10;

snake[0].setLocation(x,

if(x==weix&&y==weiy)

{shu++;

weix=(int)(food[shu]0.1)60;

weiy=(int)(food[shu]%10)40;

repaint();

add(snake[shu]);

snake[shu].setBounds(snake[shu-1].getBounds());

}thread.sleep(100);

e){}

}else

if(fangxiang==3)//向下

{try

{y+=10;

snake[0].setLocation(x,

if(x==weix&&y==weiy)

{shu++;

weix=(int)(food[shu]0.1)60;

weiy=(int)(food[shu]%10)40;

repaint();

add(snake[shu]);

snake[shu].setBounds(snake[shu-1].getBounds());

}thread.sleep(100);

e){}

}int

num1=shu;

while(num1>1)//判断是否咬自己的尾巴

{if(snake[num1].getBounds().x==snake[0].getBounds().x&&snake[num1].getBounds().y==snake[0].getBounds().y)

{t=false;

result=false;

repaint();

}num1--;

}if(x<0||x>=this.getWidth()||y<0||y>=this.getHeight())//判断是否撞墙

{t=false;

result=false;

repaint();

}int

num=shu;

while(num>0)

//设置蛇节位置

{snake[num].setBounds(snake[num-1].getBounds());

num--;

}if(shu==15)

//如果蛇节数等于15则胜利

{t=false;

result=true;

repaint();

}}

}public

void

keyPressed(KeyEvent

e)

{if(e.getKeyCode()==KeyEvent.VK_RIGHT)//右键

{if(fangxiang!=1)//如果先前方向不为左

fangxiang=0;

}else

if(e.getKeyCode()==KeyEvent.VK_LEFT)

{if(fangxiang!=0)

fangxiang=1;

}else

if(e.getKeyCode()==KeyEvent.VK_UP)

{if(fangxiang!=3)

fangxiang=2;

}else

if(e.getKeyCode()==KeyEvent.VK_DOWN)

{if(fangxiang!=2)

fangxiang=3;

}}

public

void

keyTyped(KeyEvent

e)

{}

public

void

keyReleased(KeyEvent

e)

{}

public

void

paint(Graphics

g)

//在面板上绘图

{int

x1=this.getWidth()-1;

y1=this.getHeight()-1;

g.setColor(Color.red);

g.fillOval(weix,

weiy,

10,

10);//食物

g.drawRect(0,

0,

x1,

y1);

//墙

if(t==false&&result==false)

g.drawString("GAME

OVER!",

,

200);//输出游戏失败

else

g.drawString("YOU

WIN!",

,

200);//输出游戏成功

}}

class

MyWindow

extends

Frame

implements

{MyPanel

my;

Button

btn;

Panel

panel;

MyWindow()

{super("GreedSnake");

my=new

MyPanel();

btn=new

Button("begin");

panel=new

Panel();

btn.addActionListener(this);

panel.add(new

Label("begin后请按Tab键选定蛇"));

panel.add(btn);

panel.add(new

Label("按上下左右键控制蛇行动"));

add(panel,BorderLayout.NORTH);

add(my,BorderLayout.CENTER);

setBounds(100,100,610,500);

setVisible(true);

validate();

addWindowListener(new

WindowAdapter()

{public

void

windowClosing(WindowEvent

e)

{System.exit(0);

}});

}public

void

actionPerformed(ActionEvent

e)//按下begin按钮

{if(e.getSourceadd_head(4,4);()==btn)

{try

{my.thread.start();

//开始线程

my.validate();

ee){}

}}

}

这是我专科二年级学期的Ja课程设计,贪吃蛇是很多人知晓的游戏,但是我做了创新,主要有移动障碍物、穿越、创建关卡、AI,其中移动障碍物,穿越丰富游戏,AI用到了BFS算法,用了IO流保存地图数据

的发展史是什么

//定义线程

电脑最初的历史,可以追溯至一九八二年。当时,电脑这个名词还未正式被定义。该年,Rich

Sk//按下键盘方向键erta

撰写了一个名为"Elk

Cloner"的电脑程式,使其成为了电脑史上种感染个人电脑(Apple

II

)的电脑,它以软磁碟作传播媒介,破坏程度可说是相当轻微,受感染电脑只会在萤光幕上显示一段小小的诗句

的发展史是什么

二 火灾

电脑最初的历史,可以追溯至一九八二年。当时,电脑这个名词还未正式被定义。该年,Rich

y);

Skerta

撰写了一个名为"Elk

Cloner"的电脑程式,使其成为了电脑史上种感染个人电脑(Apple

II

)的电脑,它以软磁碟作传播媒介,破坏程度可说是相当轻微,受感染电脑只会在萤光幕上显示一段小小的诗句

最后修改时间:
王者荣耀老木孙策出装顺序_王者荣耀老木孙策出装顺序图
上一篇
玩lol半价英雄(英雄联盟半价英雄多久更新
下一篇

相关文章