大三学生期末作业,Java web制作一个新闻发布系统,但是在jsp页面写的权限控制代码不起作用,不知道问题出在哪里

在publish.jsp页面写的权限代码不起作用,无论是不是已注册用户都可以进入publish.jsp,这是我在publish.jsp页面写的权限控制代码

这是loginservlet.java代码

主要是想让直接进入publish.jsp页面会弹出提示,然后转到登陆页面,然后登陆成功后就可以转到publish.jsp页面。

 

首先,我需要了解一些关于该小游戏的具体信息,例如游戏类型、游戏玩法等。这样才能更好地为你提供代码。 假设这个小游戏是一个跳跃类游戏,玩家需要控制一个小人不断跳跃,躲避障碍物并尽可能长时间地存活下去。 下面是基本的代码实现: 1. 首先,我们需要创建一个新的Android项目,并创建一个新的Activity。 2. 在Activity中,我们需要定义一些全局变量,例如小人的位置、跳跃高度、障碍物的位置等。这些变量可以在Activity的onCreate()方法中初始化。 ``` public class MainActivity extends AppCompatActivity { private LinearLayout mGameLayout; private ImageView mPlayer; private int mJumpHeight = 150; // 跳跃高度 private int mPlayerX; // 小人的x轴坐标 private int mPlayerY; // 小人的y轴坐标 private boolean mIsJumping = false; // 是否正在跳跃 private int mObstacleX; // 障碍物的x轴坐标 private int mObstacleY; // 障碍物的y轴坐标 private Handler mHandler; private int mDelay = 20; // 刷新率 private int mScore = 0; // 得分 private TextView mScoreText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mGameLayout = findViewById(R.id.game_layout); mPlayer = findViewById(R.id.player); mScoreText = findViewById(R.id.score_text); mPlayerX = getResources().getDisplayMetrics().widthPixels / 2 - mPlayer.getWidth() / 2; mPlayerY = mGameLayout.getHeight() - mPlayer.getHeight() - 50; mPlayer.setX(mPlayerX); mPlayer.setY(mPlayerY); mObstacleX = getResources().getDisplayMetrics().widthPixels - 100; mObstacleY = mGameLayout.getHeight() - mPlayer.getHeight() - 50; mHandler = new Handler(); mHandler.postDelayed(mRunnable, mDelay); } private Runnable mRunnable = new Runnable() { @Override public void run() { movePlayer(); moveObstacle(); checkCollision(); updateScore(); mHandler.postDelayed(this, mDelay); } }; ``` 3. 接下来,我们需要实现小人的移动。当玩家点击屏幕时,小人将向上跳跃一段高度。在跳跃期间,我们需要更新小人的位置,直到小人落回地面。这里我们使用属性动画来实现小人的跳跃效果。 ``` private void movePlayer() { if (mIsJumping) { return; } mGameLayout.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { mIsJumping = true; ObjectAnimator jumpAnimator = ObjectAnimator.ofFloat(mPlayer, "y", mPlayerY, mPlayerY - mJumpHeight); jumpAnimator.setDuration(300); jumpAnimator.setInterpolator(new AccelerateInterpolator()); jumpAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); ObjectAnimator fallAnimator = ObjectAnimator.ofFloat(mPlayer, "y", mPlayerY - mJumpHeight, mPlayerY); fallAnimator.setDuration(300); fallAnimator.setInterpolator(new DecelerateInterpolator()); fallAnimator.start(); mIsJumping = false; } }); jumpAnimator.start(); } return false; } }); } ``` 4. 接下来,我们需要实现障碍物的移动。我们将障碍物向左移动,并在到达屏幕左侧时重新生成一个新的障碍物。 ``` private void moveObstacle() { mObstacleX -= 10; if (mObstacleX < -mPlayer.getWidth()) { mObstacleX = getResources().getDisplayMetrics().widthPixels - 100; } ImageView obstacle = findViewById(R.id.obstacle); obstacle.setX(mObstacleX); obstacle.setY(mObstacleY); } ``` 5. 接下来,我们需要检测小人与障碍物是否发生碰撞。如果发生碰撞,游戏结束。 ``` private void checkCollision() { ImageView obstacle = findViewById(R.id.obstacle); Rect playerRect = new Rect(mPlayerX, mPlayerY, mPlayerX + mPlayer.getWidth(), mPlayerY + mPlayer.getHeight()); Rect obstacleRect = new Rect((int) obstacle.getX(), (int) obstacle.getY(), (int) obstacle.getX() + obstacle.getWidth(), (int) obstacle.getY() + obstacle.getHeight()); if (playerRect.intersect(obstacleRect)) { gameOver(); } } private void gameOver() { mHandler.removeCallbacks(mRunnable); Toast.makeText(this, "Game Over", Toast.LENGTH_SHORT).show(); } ``` 6. 最后,我们需要更新得分。每当小人成功躲避一次障碍物,得分加1。 ``` private void updateScore() { ImageView obstacle = findViewById(R.id.obstacle); if (mPlayerX + mPlayer.getWidth() > obstacle.getX() && mPlayerX < obstacle.getX() + obstacle.getWidth()) { mScore++; mScoreText.setText("Score: " + mScore); } } ``` 以上就是基本的代码实现。当然,这只是一个简单的例子,你可以根据具体的需求进行更改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值