Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 17480|Απάντηση: 8

[JavaScript] Ένα μικρό παιχνίδι φτιαγμένο από JavaScript

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 7/11/2014 10:58:39 μ.μ. | | | |
Δήλωση: Η τεχνολογία είναι λίγο αποβράσματα, ο θεός δεν με χακάρει, δεν έκανα την επεξεργασία κουμπιών, μπορώ να ανανεώσω τη σελίδα μόνο όταν την κρεμάσω
       Εδώ είναι ο κωδικός: Μπορείτε επίσης να κατεβάσετε απευθείας το συνημμένο
  1. <html>
  2. <head>
  3.     <title></title>
  4.     <script type ="text/javascript">

  5.         //***********封装一个Tank类***
  6.         //当创建一个实例时在页面生成一个Tank
  7.         function Tank(x, y) {
  8.             this.x = x;
  9.             this.y = y;
  10.             this.shape = "~^~";
  11.             //****创建div到页面****
  12.             this.div = document.createElement("div");
  13.             this.div.style.position = "absolute";
  14.             this.div.style.width = "40px";
  15.             this.div.style.height = "40px";
  16.             this.div.style.lineHeight = "20px";
  17.             this.div.style.textAlign = "center";
  18.             this.div.style.backgroundColor = "red";
  19.             this.div.style.left = this.x + "px";
  20.             this.div.style.top = this.y + "px";
  21.             this.div.innerHTML = this.shape;
  22.             document.body.appendChild(this.div);
  23.             //*************************
  24.             this.move = function (left, top) {
  25.                 var h = window.innerHeight || document.documentElement.clientHeight;  // 浏览器内容窗口的高
  26.                 var w = document.documentElement.clientWidth;  // 宽
  27.                 this.x += left;
  28.                 this.y += top;
  29.                 if (this.x + 40 > w) {
  30.                     this.x = w - 40;
  31.                 }
  32.                 if (this.x < 0) {
  33.                     this.x = 0;
  34.                 }
  35.                 if (this.y + 40 > h) {
  36.                     this.y = h - 40;
  37.                 }
  38.                 if (this.y < 0) {
  39.                     this.y = 0;
  40.                 }
  41.                 this.div.style.left = this.x + "px";
  42.                 this.div.style.top = this.y + "px";
  43.             };
  44.             //消失的方法
  45.             this.die = function () {
  46.                 document.body.removeChild(this.div);
  47.             };
  48.         }

  49.         //****************创建*****
  50.         var arr = new Array();
  51.         var i = 0;
  52.         function createTank() {
  53.             var x = document.getElementById("xp").value;
  54.             var y = document.getElementById("yp").value;
  55.             arr[i] = new Tank(parseInt(x), parseInt(y));
  56.             startMove(i);   
  57.             i++;
  58.         }

  59.         var siArr = new Array();//记录下所有回调
  60.         function startMove(num) {
  61.                 //速度与方向**************************
  62.                 var xLen = Math.random() * 20;
  63.                 xLen = parseInt(xLen);  //5
  64.                 var yLen = Math.random() * 20;
  65.                 yLen = parseInt(yLen);  //5
  66.                 //************************
  67.                 siArr[num] = setInterval(function () {
  68.                     arr[num].move(xLen, yLen);
  69.                     if (mouseX >= arr[num].x && mouseX <= arr[num].x + 40 &&
  70.                         mouseY >= arr[num].y && mouseY <= arr[num].y + 40
  71.                     ) {

  72.                         for (var j = 0; j < siArr.length; j++) {
  73.                             clearInterval(siArr[j]);
  74.                         }
  75.                         clearInterval(si);
  76.                         alert("game over!");

  77.                     }

  78.                     var h = window.innerHeight || document.documentElement.clientHeight;  // 浏览器内容窗口的高
  79.                     var w = document.documentElement.clientWidth;  // 宽
  80.                     if (arr[num].x >= w - 40) {
  81.                         xLen = Math.abs(xLen) * (-1);
  82.                     }
  83.                     if (arr[num].x <= 0) {
  84.                         xLen = Math.abs(xLen);
  85.                     }
  86.                     if (arr[num].y >= h - 40) {
  87.                         yLen = Math.abs(yLen) * (-1);
  88.                     }
  89.                     if (arr[num].y <= 0) {
  90.                         yLen = Math.abs(yLen);
  91.                     }
  92.                 }, 10);
  93.         }


  94.         var mouseX = 0;
  95.         var mouseY = 0;
  96.         document.onmousemove = function (e) {
  97.             var ev = e || event;
  98.             mouseX =parseInt( ev.clientX);
  99.             mouseY =parseInt( ev.clientY);
  100.             document.title = "x:" + mouseX + " y:" + mouseY;
  101.         }

  102.         //*********************开始游戏
  103.         var si = null;
  104.         function startGame(v) {
  105.             i = 0;
  106.             v.disabled = true;
  107.             var time = 0;
  108.             si = setInterval(function () {
  109.                 time++;
  110.                 v.value = "时间:" + time + "秒";
  111.             }, 1000);
  112.             var n=document.getElementById("lev").value;
  113.             n=parseInt(n);
  114.             for ( ; i < n; i++) {
  115.                 arr[i] = new Tank(200, 200);
  116.                 startMove(i);
  117.             }
  118.         }
  119.     </script>
  120. </head>
  121. <body >
  122. <center>
  123. <br />看你能玩多久!!
  124. 难度:<input  type ="text" value ="10" id="lev" />
  125. <input type ="button" value="开始" onclick="startGame(this)" />
Αντιγραφή κώδικα




Tank.zip

1.48 KB, Χρόνοι λήψης: 13, Λήψη πιστώσεων: -1 κύρος, -1 συνεισφορά





Προηγούμενος:Κλήσεις C# RunDll32.exe εκκαθάριση της προσωρινής μνήμης και των ανεπιθύμητων μηνυμάτων του προγράμματος περιήγησης
Επόμενος:Στείλτε μερικά μέλη του Thunder!
Δημοσιεύτηκε στις 7/11/2014 11:17:26 μ.μ. |
Εξακολουθώ να κατεβάζω το συνημμένο και να το ξεχνάω, το παιχνίδι είναι αρκετά δύσκολο να παίξεις, σου προτείνω να προσαρμόσεις τη δυσκολία στο 1  
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 7/11/2014 11:20:14 μ.μ. |
admin δημοσιεύτηκε στις 2014-11-7 23:17
Εξακολουθώ να κατεβάζω το συνημμένο και να το ξεχνάω, το παιχνίδι είναι αρκετά δύσκολο να παίξεις, σου προτείνω να προσαρμόσεις τη δυσκολία στο 1

Αλλάξτε τον πηγαίο κώδικα και προσαρμόστε την ώρα
Δημοσιεύτηκε στις 13/11/2014 8:09:28 μ.μ. |


Υποθέτω ότι έβαλα το ποντίκι μου εκεί;
Δημοσιεύτηκε στις 13/11/2014 9:15:56 μ.μ. |
Ποιο παιχνίδι; Πώς να παίξετε το Gameover από την αρχή
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 14/11/2014 10:21:24 μ.μ. |
Θερμοκρασία ύφανσης Beicheng 22 βαθμοί Δημοσιεύτηκε στις 2014-11-13 21:15
Ποιο παιχνίδι; Πώς να παίξετε το Gameover από την αρχή

Το ποντίκι δεν μπορεί να χτυπηθεί από κινούμενη δεξαμενή και κρέμεται μόλις χτυπηθεί
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 14/11/2014 10:22:10 μ.μ. |
admin δημοσιεύτηκε στις 2014-11-13 20:09
Υποθέτω ότι έβαλα το ποντίκι μου εκεί;

Τι δυνατή εμφάνιση
Δημοσιεύτηκε στις 14/11/2014 10:22:51 μ.μ. |

Στην πραγματικότητα, χρησιμοποίησα στοιχεία λογοκρισίας
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 14/11/2014 10:23:50 μ.μ. |
admin δημοσιεύτηκε στις 2014-11-14 22:22
Στην πραγματικότητα, χρησιμοποίησα στοιχεία λογοκρισίας

Το F12 για όλες τις χρήσεις  
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com