333

类与类之间的关系图详见http://www.cnblogs.com/ywqu/archive/2009/12/06/1618184.html

代码要实现的功能(闲的蛋疼 就瞎搞了一下)

1、能够上下左右移动,且无法出墙

2、地图中会随机出现五个东西,你要在规定的时间内吃掉这五个东西,如果你用的步数是最少且没有超时,则分数加100,否则生命减1.

打代码前的构思

1、MAP类(地图)

包含的属性:数组Map[,] ,常量mapsize(地图尺寸)

包含的方法:draw(绘制6×6地图)

3、Pos类(位置)

包含的属性:玩家位置playerpos,五个东西的位置pos[],静态变量isEnd(初始值为5)

包含的方法:suiji(随机五个东西的位置和玩家位置)

4、GUI类(界面)

包含的属性:静态变量生命值life,静态变量时间time,静态变量分数score,静态变量称号name

包含的方法:Life(在地图右侧绘制"life:"life  ps:前者是文字)、Time(地图右侧绘制"time:"time  ps:前者是文字)

Name(根据分数score的值赋予不同的称号)

5、Function类(功能)

包含的属性:来自Pos类的玩家位置和五个东西的位置,玩家步数playermove,最少步数leastmove

包含的方法:PlayerMove(接收上下左右后移动位置且记录步数),LeastMove类(计算最少步数)

IsLeast(判断是否是最少步数,如果是则score+=100,如果不是life-=1)

IsEnd(利用isend的值判断五个东西是否被吃完)

inicialize(调用Pos类的两个方法,对life time score name isend playermove leastmove重新赋值)

6、ESC类(退出)

包含的属性:无

包含的方法:Esc(按下Esc的时候或生命值为0的时候 退出程序)

7、Main方法(实时调用time方法,life方法,Name方法)

1、实例化Map类,生成对象map,调用draw方法,绘制地图

实例化GUI类,生成对象gui

2、实例化Function类。生成对象fun,调用inicialize方法,初始化游戏

3、循环1

循环退出条件:调用Esc方法

循环体:循环2、调用fun中的LeastMove方法和IsLeast、调用GUI中Name方法、

4、循环2

循环退出条件:对象fun中IsEnd 的返回值为真的时候

循环体:调用fun中的PlayerMove方法

时间: 2024-11-08 06:04:49

333的相关文章

333.Largest BST Subtree

/* * 333.Largest BST Subtree * 2016-3-27 by Mingyang * 这个题目我的思路,自底向上的方法非常正确的!但是,这个题目独特的一点就在于对于一个 * Tree是不是BST得判断,他必须表示对左子树的最大的还大,右子树的最小的还要小,所以这样看来就是 * 必须要保证root必须保存当前子树1.isBST?2.left smallest.3.right biggest.4.node number * 可以先建一个class,也可以做一个array */

RHCA笔记 333—1 加解密

1.Hashed    Commonly used to store passwords    Converts an input string of any length to an output string of fixed length         One-way:not feasible to get plaintext from hash        Collision-free:not feasibleto find two strings that hash to the

mdd的烦恼 NYOJ 333

1 #include<stdio.h>//mdd的烦恼(333) 2 #include<math.h> 3 int main() 4 { 5 long long n,i,res; 6 while(scanf("%lld",&n)!=EOF){ 7 res=n; 8 for(i=2;i<=sqrt(n+0.5);i++){ 9 if(n%i==0){ 10 res=res*(i-1)/i; 11 while(n%i==0){ 12 n=n/i; 13

NYOJ 333 mdd的烦恼&amp;&amp;NYOJ 291 LK的数学题

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=291   http://acm.nyist.net/JudgeOnline/problem.php?pid=333 思路:欧拉函数的应用,详解见这里:http://blog.csdn.net/once_hnu/article/details/6302868 好文章 直接贴代码: #include <iostream> #include <cstring> using nam

angularJS 报错: [ngModel:numfmt] http://errors.angularjs.org/1.4.1/ngModel/numfmt?p0=333

<!doctype html> <html ng-app="a10086"> <head> <meta charset="utf-8"> <script src="angular.min.js"></script> </head> <body> <pre> stringToNumber2 指令中这么写没问题, 但是html中调用也这么写,h

工作中的Buff加成-结构化思考力:自创独门武功 3-3-3原则

3-3-3原则 3秒钟 *思考三秒钟 沟通前根据交谈内容思考3秒钟,思考下具体需要表达什么,思考的主要点为What.Why.How. *冷静三秒钟 在沟通过程中,若遇到气氛不和谐,比如生气.愤恨等时,可以先冷静三秒钟,然后再继续沟通. 3句话 三句话也主要是围绕What Why How进行阐述. 3次交互 *第一次交互主要关注结果或状态(What)和原因( Why)的问题. *第二次交互主要关注怎么做(How)的问题. *第三次交互主要关注时间(How long).成本(How much)的问题

Markdown测试333

列表 Lists 无序列表(减号)Unordered Lists (-) 列表一 列表二 列表三 无序列表(星号)Unordered Lists (*) 列表一 列表二 列表三 无序列表(加号和嵌套)Unordered Lists (+) 列表一 列表二 列表二-1 列表二-2 列表二-3 列表三 列表一 列表二 列表三 有序列表 Ordered Lists (-) 第一行 第二行 第三行 GFM task list [x] GFM task list 1 [x] GFM task list 2

codeforces#333 div2 B. Approximating a Constant Range

http://codeforces.com/contest/602/problem/B 这道题的两种做法, 滑窗+线段树查询区间最值: #include<bits/stdc++.h> #define REP(i,a,b) for(int i=a;i<=b;i++) #define MS0(a) memset(a,0,sizeof(a)) using namespace std; typedef long long ll; const int maxn=1000100; const int

Codeforces Round #333 (Div. 1)--B. Lipshitz Sequence 单调栈

题意:n个点, 坐标已知,其中横坐标为为1~n. 求区间[l, r] 的所有子区间内斜率最大值的和. 首先要知道,[l, r]区间内最大的斜率必然是相邻的两个点构成的. 然后问题就变成了求区间[l, r]内所有子区间最大值的和. 这个问题可以利用单调栈来做. 每次找到当前点左面第一个大于当前值的点, 然后更新答案. 姿势很多. 1 import java.io.BufferedInputStream; 2 import java.io.BufferedOutputStream; 3 import